diff options
Diffstat (limited to 'include/elf')
-rw-r--r-- | include/elf/ChangeLog | 32 | ||||
-rw-r--r-- | include/elf/common.h | 2 | ||||
-rw-r--r-- | include/elf/cr16.h | 3 | ||||
-rw-r--r-- | include/elf/internal.h | 10 | ||||
-rw-r--r-- | include/elf/m68k.h | 1 | ||||
-rw-r--r-- | include/elf/mn10300.h | 35 | ||||
-rw-r--r-- | include/elf/ppc.h | 5 |
7 files changed, 70 insertions, 18 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index c24893d16..57bcd3b63 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,35 @@ +2007-10-30 Nick Clifton <nickc@redhat.com> + + * mn10300.h (R_MN10300_ALIGN): Define. + +2007-10-25 Daniel Jacobowitz <dan@codesourcery.com> + + * ppc.h (Tag_GNU_Power_ABI_Vector): New. + +2007-10-19 Nick Clifton <nickc@redhat.com> + + * mn10300.h: Add R_MN10300_SYM_DIFF reloc. + +2007-10-18 Roland McGrath <roland@redhat.com> + + * common.h (NT_PPC_VMX): New macro. + +2007-10-01 M R Swami Reddy <MR.Swami.Reddy@nsc.com> + + * cr16.h: Updated with new relocaction macros. + +2007-09-17 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/3281 + PR binutils/5037 + * internal.h (elf_segment_map): Add p_size and p_size_valid. + (ELF_IS_SECTION_IN_SEGMENT): Allow SHF_TLS sections in + PT_GNU_RELRO segments. + +2007-09-11 Nathan Sidwell <nathan@codesourcery.com> + + * m68k.h (EF_M68K_CF_ISA_C_NODIV): New. + 2007-08-25 Ulrich Weigand <uweigand@de.ibm.com> * common.h (NT_SPU): Define. diff --git a/include/elf/common.h b/include/elf/common.h index 5b71782fd..be8b7fc8a 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -390,6 +390,8 @@ #define NT_AUXV 6 /* Contains copy of Elfxx_auxv_t */ #define NT_PRXFPREG 0x46e62b7f /* Contains a user_xfpregs_struct; */ /* note name must be "LINUX". */ +#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ + /* note name must be "LINUX". */ /* Note segments for core files on dir-style procfs systems. */ diff --git a/include/elf/cr16.h b/include/elf/cr16.h index e3f6c50b1..adb243dc9 100644 --- a/include/elf/cr16.h +++ b/include/elf/cr16.h @@ -51,6 +51,9 @@ START_RELOC_NUMBERS(elf_cr16_reloc_type) RELOC_NUMBER (R_CR16_DISP16, 23) RELOC_NUMBER (R_CR16_DISP24, 24) RELOC_NUMBER (R_CR16_DISP24a, 25) + RELOC_NUMBER (R_CR16_SWITCH8, 26) + RELOC_NUMBER (R_CR16_SWITCH16, 27) + RELOC_NUMBER (R_CR16_SWITCH32, 28) END_RELOC_NUMBERS(R_CR16_MAX) #endif /* _ELF_CR16_H */ diff --git a/include/elf/internal.h b/include/elf/internal.h index 152171136..f5380b8d5 100644 --- a/include/elf/internal.h +++ b/include/elf/internal.h @@ -239,6 +239,8 @@ struct elf_segment_map bfd_vma p_vaddr_offset; /* Program segment alignment. */ bfd_vma p_align; + /* Segment size in file and memory */ + bfd_vma p_size; /* Whether the p_flags field is valid; if not, the flags are based on the section flags. */ unsigned int p_flags_valid : 1; @@ -248,6 +250,9 @@ struct elf_segment_map /* Whether the p_align field is valid; if not, PT_LOAD segment alignment is based on the default maximum page size. */ unsigned int p_align_valid : 1; + /* Whether the p_size field is valid; if not, the size are based + on the section sizes. */ + unsigned int p_size_valid : 1; /* Whether this segment includes the file header. */ unsigned int includes_filehdr : 1; /* Whether this segment includes the program headers. */ @@ -266,11 +271,12 @@ struct elf_segment_map || segment->p_type == PT_TLS) ? sec_hdr->sh_size : 0) /* Decide if the given sec_hdr is in the given segment. PT_TLS segment - contains only SHF_TLS sections. Only PT_LOAD and PT_TLS segments - can contain SHF_TLS sections. */ + contains only SHF_TLS sections. Only PT_LOAD, PT_GNU_RELRO and + and PT_TLS segments can contain SHF_TLS sections. */ #define ELF_IS_SECTION_IN_SEGMENT(sec_hdr, segment) \ (((((sec_hdr->sh_flags & SHF_TLS) != 0) \ && (segment->p_type == PT_TLS \ + || segment->p_type == PT_GNU_RELRO \ || segment->p_type == PT_LOAD)) \ || ((sec_hdr->sh_flags & SHF_TLS) == 0 \ && segment->p_type != PT_TLS)) \ diff --git a/include/elf/m68k.h b/include/elf/m68k.h index a9f2203a6..23b269a82 100644 --- a/include/elf/m68k.h +++ b/include/elf/m68k.h @@ -71,6 +71,7 @@ END_RELOC_NUMBERS (R_68K_max) #define EF_M68K_CF_ISA_B_NOUSP 0x04 /* ISA_B except for USP */ #define EF_M68K_CF_ISA_B 0x05 #define EF_M68K_CF_ISA_C 0x06 +#define EF_M68K_CF_ISA_C_NODIV 0x07 /* ISA C except for div */ #define EF_M68K_CF_MAC_MASK 0x30 #define EF_M68K_CF_MAC 0x10 /* MAC */ #define EF_M68K_CF_EMAC 0x20 /* EMAC */ diff --git a/include/elf/mn10300.h b/include/elf/mn10300.h index d241e9c61..444787b5f 100644 --- a/include/elf/mn10300.h +++ b/include/elf/mn10300.h @@ -1,23 +1,24 @@ /* MN10300 ELF support for BFD. - Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2003, 2007 Free Software Foundation, Inc. -This file is part of BFD, the Binary File Descriptor library. + This file is part of BFD, the Binary File Descriptor library. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ -/* This file holds definitions specific to the MN10300 ELF ABI. */ +/* This file holds definitions specific to the MN10300 ELF ABI. */ #ifndef _ELF_MN10300_H #define _ELF_MN10300_H @@ -50,17 +51,19 @@ START_RELOC_NUMBERS (elf_mn10300_reloc_type) RELOC_NUMBER (R_MN10300_GLOB_DAT, 21) RELOC_NUMBER (R_MN10300_JMP_SLOT, 22) RELOC_NUMBER (R_MN10300_RELATIVE, 23) + RELOC_NUMBER (R_MN10300_SYM_DIFF, 33) + RELOC_NUMBER (R_MN10300_ALIGN, 34) END_RELOC_NUMBERS (R_MN10300_MAX) /* Machine variant if we know it. This field was invented at Cygnus, but it is hoped that other vendors will adopt it. If some standard - is developed, this code should be changed to follow it. */ + is developed, this code should be changed to follow it. */ #define EF_MN10300_MACH 0x00FF0000 /* Cygnus is choosing values between 80 and 9F; 00 - 7F should be left for a future standard; - the rest are open. */ + the rest are open. */ #define E_MN10300_MACH_MN10300 0x00810000 #define E_MN10300_MACH_AM33 0x00820000 diff --git a/include/elf/ppc.h b/include/elf/ppc.h index fe48814d8..5d4462b06 100644 --- a/include/elf/ppc.h +++ b/include/elf/ppc.h @@ -180,6 +180,11 @@ enum soft-float; 0 for not tagged or not using any ABIs affected by the differences. */ + + /* Value 1 for general purpose registers only, 2 for AltiVec + registers, 3 for SPE registers; 0 for not tagged or not using any + ABIs affected by the differences. */ + Tag_GNU_Power_ABI_Vector = 8, }; #endif /* _ELF_PPC_H */ |