diff options
Diffstat (limited to 'include/elf')
-rw-r--r-- | include/elf/ChangeLog | 48 | ||||
-rw-r--r-- | include/elf/dwarf2.h | 20 | ||||
-rw-r--r-- | include/elf/internal.h | 68 | ||||
-rw-r--r-- | include/elf/iq2000.h | 58 | ||||
-rw-r--r-- | include/elf/m68hc11.h | 18 | ||||
-rw-r--r-- | include/elf/mmix.h | 8 | ||||
-rw-r--r-- | include/elf/msp430.h | 56 | ||||
-rw-r--r-- | include/elf/ppc64.h | 156 | ||||
-rw-r--r-- | include/elf/sh.h | 2 | ||||
-rw-r--r-- | include/elf/xstormy16.h | 6 | ||||
-rw-r--r-- | include/elf/xtensa.h | 88 |
11 files changed, 91 insertions, 437 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 65f3160..de95f20 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,51 @@ +2002-12-20 DJ Delorie <dj@redhat.com> + + * xstormy16.h: Add XSTORMY16_12. + +2002-12-16 Andrew MacLeod <amacleod@redhat.com> + + * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers + for R_XSTORMY16_LO16 and R_XSTORMY16_HI16. + +2002-12-10 James Cownie <jcownie@etnus.com> + + * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type, + DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc): + Define. + +2002-12-01 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define. + (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define. + (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define. + +2002-11-30 Alan Modra <amodra@bigpond.net.au> + + * mmix.h: Replace boolean with bfd_boolean. + * sh.h: Likewise. + +2002-11-28 Alan Modra <amodra@bigpond.net.au> + + * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr, + elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr, + Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr, + elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr, + Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym, + Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note, + elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel, + elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela, + elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela, + elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn, + Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef, + elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed, + elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux, + elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef, + Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux, + Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux, + Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym, + Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete. + (Elf_Internal_Rel): Delete. + 2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sh.h: Add SH TLS relocs. diff --git a/include/elf/dwarf2.h b/include/elf/dwarf2.h index 6463b5a..9c8ce4e 100644 --- a/include/elf/dwarf2.h +++ b/include/elf/dwarf2.h @@ -87,7 +87,7 @@ typedef struct } DWARF2_Internal_PubNames; -/* Strcuture found in .debug_info section. */ +/* Structure found in .debug_info section. */ typedef struct { unsigned char cu_length [4]; @@ -194,7 +194,11 @@ enum dwarf_tag DW_TAG_function_template = 0x4102, /* For C++. */ DW_TAG_class_template = 0x4103, /* For C++. */ DW_TAG_GNU_BINCL = 0x4104, - DW_TAG_GNU_EINCL = 0x4105 + DW_TAG_GNU_EINCL = 0x4105, + /* Extensions for UPC. See: http://upc.gwu.edu/~upc. */ + DW_TAG_upc_shared_type = 0x8765, + DW_TAG_upc_strict_type = 0x8766, + DW_TAG_upc_relaxed_type = 0x8767 }; #define DW_TAG_lo_user 0x4080 @@ -309,7 +313,7 @@ enum dwarf_attribute DW_AT_call_column = 0x57, DW_AT_call_file = 0x58, DW_AT_call_line = 0x59, - /* SGI/MIPS Extensions. */ + /* SGI/MIPS extensions. */ DW_AT_MIPS_fde = 0x2001, DW_AT_MIPS_loop_begin = 0x2002, DW_AT_MIPS_tail_loop_begin = 0x2003, @@ -329,8 +333,10 @@ enum dwarf_attribute DW_AT_body_begin = 0x2105, DW_AT_body_end = 0x2106, DW_AT_GNU_vector = 0x2107, - /* VMS Extensions. */ - DW_AT_VMS_rtnbeg_pd_address = 0x2201 + /* VMS extensions. */ + DW_AT_VMS_rtnbeg_pd_address = 0x2201, + /* UPC extension. */ + DW_AT_upc_threads_scaled = 0x3210 }; #define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */ @@ -678,7 +684,9 @@ enum dwarf_source_language DW_LANG_Ada95 = 0x000d, DW_LANG_Fortran95 = 0x000e, /* MIPS. */ - DW_LANG_Mips_Assembler = 0x8001 + DW_LANG_Mips_Assembler = 0x8001, + /* UPC. */ + DW_LANG_Upc = 0x8765 }; #define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */ diff --git a/include/elf/internal.h b/include/elf/internal.h index 5d39d3a..45d682a 100644 --- a/include/elf/internal.h +++ b/include/elf/internal.h @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001 + Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published @@ -58,11 +58,6 @@ typedef struct elf_internal_ehdr { unsigned int e_shstrndx; /* Section header string table index */ } Elf_Internal_Ehdr; -#define elf32_internal_ehdr elf_internal_ehdr -#define Elf32_Internal_Ehdr Elf_Internal_Ehdr -#define elf64_internal_ehdr elf_internal_ehdr -#define Elf64_Internal_Ehdr Elf_Internal_Ehdr - /* Program header */ struct elf_internal_phdr { @@ -77,10 +72,6 @@ struct elf_internal_phdr { }; typedef struct elf_internal_phdr Elf_Internal_Phdr; -#define elf32_internal_phdr elf_internal_phdr -#define Elf32_Internal_Phdr Elf_Internal_Phdr -#define elf64_internal_phdr elf_internal_phdr -#define Elf64_Internal_Phdr Elf_Internal_Phdr /* Section header */ @@ -101,11 +92,6 @@ typedef struct elf_internal_shdr { unsigned char *contents; /* Section contents. */ } Elf_Internal_Shdr; -#define elf32_internal_shdr elf_internal_shdr -#define Elf32_Internal_Shdr Elf_Internal_Shdr -#define elf64_internal_shdr elf_internal_shdr -#define Elf64_Internal_Shdr Elf_Internal_Shdr - /* Symbol table entry */ struct elf_internal_sym { @@ -119,11 +105,6 @@ struct elf_internal_sym { typedef struct elf_internal_sym Elf_Internal_Sym; -#define elf32_internal_sym elf_internal_sym -#define elf64_internal_sym elf_internal_sym -#define Elf32_Internal_Sym Elf_Internal_Sym -#define Elf64_Internal_Sym Elf_Internal_Sym - /* Note segments */ typedef struct elf_internal_note { @@ -134,33 +115,15 @@ typedef struct elf_internal_note { char * descdata; /* Start of the desc data */ bfd_vma descpos; /* File offset of the descdata */ } Elf_Internal_Note; -#define Elf32_Internal_Note Elf_Internal_Note -#define elf32_internal_note elf_internal_note /* Relocation Entries */ -typedef struct elf_internal_rel { - bfd_vma r_offset; /* Location at which to apply the action */ - /* This needs to support 64-bit values in elf64. */ - bfd_vma r_info; /* index and type of relocation */ -} Elf_Internal_Rel; - -#define elf32_internal_rel elf_internal_rel -#define Elf32_Internal_Rel Elf_Internal_Rel -#define elf64_internal_rel elf_internal_rel -#define Elf64_Internal_Rel Elf_Internal_Rel - typedef struct elf_internal_rela { bfd_vma r_offset; /* Location at which to apply the action */ bfd_vma r_info; /* Index and Type of relocation */ bfd_vma r_addend; /* Constant addend used to compute value */ } Elf_Internal_Rela; -#define elf32_internal_rela elf_internal_rela -#define elf64_internal_rela elf_internal_rela -#define Elf32_Internal_Rela Elf_Internal_Rela -#define Elf64_Internal_Rela Elf_Internal_Rela - /* dynamic section structure */ typedef struct elf_internal_dyn { @@ -173,11 +136,6 @@ typedef struct elf_internal_dyn { } d_un; } Elf_Internal_Dyn; -#define elf32_internal_dyn elf_internal_dyn -#define elf64_internal_dyn elf_internal_dyn -#define Elf32_Internal_Dyn Elf_Internal_Dyn -#define Elf64_Internal_Dyn Elf_Internal_Dyn - /* This structure appears in a SHT_GNU_verdef section. */ typedef struct elf_internal_verdef { @@ -257,30 +215,6 @@ typedef struct } Elf_Internal_Syminfo; -#define elf32_internal_verdef elf_internal_verdef -#define elf64_internal_verdef elf_internal_verdef -#define elf32_internal_verdaux elf_internal_verdaux -#define elf64_internal_verdaux elf_internal_verdaux -#define elf32_internal_verneed elf_internal_verneed -#define elf64_internal_verneed elf_internal_verneed -#define elf32_internal_vernaux elf_internal_vernaux -#define elf64_internal_vernaux elf_internal_vernaux -#define elf32_internal_versym elf_internal_versym -#define elf64_internal_versym elf_internal_versym - -#define Elf32_Internal_Verdef Elf_Internal_Verdef -#define Elf64_Internal_Verdef Elf_Internal_Verdef -#define Elf32_Internal_Verdaux Elf_Internal_Verdaux -#define Elf64_Internal_Verdaux Elf_Internal_Verdaux -#define Elf32_Internal_Verneed Elf_Internal_Verneed -#define Elf64_Internal_Verneed Elf_Internal_Verneed -#define Elf32_Internal_Vernaux Elf_Internal_Vernaux -#define Elf64_Internal_Vernaux Elf_Internal_Vernaux -#define Elf32_Internal_Versym Elf_Internal_Versym -#define Elf64_Internal_Versym Elf_Internal_Versym -#define Elf32_Internal_Syminfo Elf_Internal_Syminfo -#define Elf64_Internal_Syminfo Elf_Internal_Syminfo - /* This structure is used to describe how sections should be assigned to program segments. */ diff --git a/include/elf/iq2000.h b/include/elf/iq2000.h deleted file mode 100644 index 83c690c..0000000 --- a/include/elf/iq2000.h +++ /dev/null @@ -1,58 +0,0 @@ -/* IQ2000 ELF support for BFD. - Copyright (C) 2002 Free Software Foundation, Inc. - -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 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., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _ELF_IQ2000_H -#define _ELF_IQ2000_H - -#include "elf/reloc-macros.h" - -/* Relocations. */ -START_RELOC_NUMBERS (elf_iq2000_reloc_type) - RELOC_NUMBER (R_IQ2000_NONE, 0) - RELOC_NUMBER (R_IQ2000_16, 1) - RELOC_NUMBER (R_IQ2000_32, 2) - RELOC_NUMBER (R_IQ2000_26, 3) - RELOC_NUMBER (R_IQ2000_PC16, 4) - RELOC_NUMBER (R_IQ2000_HI16, 5) - RELOC_NUMBER (R_IQ2000_LO16, 6) - RELOC_NUMBER (R_IQ2000_OFFSET_16, 7) - RELOC_NUMBER (R_IQ2000_OFFSET_21, 8) - RELOC_NUMBER (R_IQ2000_UHI16, 9) - RELOC_NUMBER (R_IQ2000_32_DEBUG, 10) - RELOC_NUMBER (R_IQ2000_GNU_VTINHERIT, 200) - RELOC_NUMBER (R_IQ2000_GNU_VTENTRY, 201) -END_RELOC_NUMBERS(R_IQ2000_max) - -#define EF_IQ2000_CPU_IQ2000 0x00000001 /* default */ -#define EF_IQ2000_CPU_IQ10 0x00000002 /* IQ10 */ -#define EF_IQ2000_CPU_MASK 0x00000003 /* specific cpu bits */ -#define EF_IQ2000_ALL_FLAGS (EF_IQ2000_CPU_MASK) - -/* Define the data & instruction memory discriminator. In a linked - executable, an symbol should be deemed to point to an instruction - if ((address & IQ2000_INSN_MASK) == IQ2000_INSN_VALUE), and similarly - for the data space. */ - -#define IQ2000_DATA_MASK 0x80000000 -#define IQ2000_DATA_VALUE 0x00000000 -#define IQ2000_INSN_MASK 0x80000000 -#define IQ2000_INSN_VALUE 0x80000000 - - -#endif /* _ELF_IQ2000_H */ diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h index c4ef37d..1902f7f 100644 --- a/include/elf/m68hc11.h +++ b/include/elf/m68hc11.h @@ -64,6 +64,24 @@ END_RELOC_NUMBERS (R_M68HC11_max) /* Uses 68HC12 memory banks. */ #define E_M68HC12_BANKS 0x000000004 +#define EF_M68HC11_MACH_MASK 0xF0 +#define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */ +#define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */ +#define EF_M68HCS12_MACH 0x20 /* 68HCS12 microcontroller. */ +#define EF_M68HC11_MACH(mach) ((mach) & EF_M68HC11_MACH_MASK) + +/* True if we can merge machines. A generic HC12 can work on any proc + but once we have specific code, merge is not possible. */ +#define EF_M68HC11_CAN_MERGE_MACH(mach1, mach2) \ + ((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ + || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC) \ + || (EF_M68HC11_MACH (mach2) == EF_M68HC11_GENERIC)) + +#define EF_M68HC11_MERGE_MACH(mach1, mach2) \ + (((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ + || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC)) ? \ + EF_M68HC11_MACH (mach2) : EF_M68HC11_MACH (mach1)) + /* Special values for the st_other field in the symbol table. These are used for 68HC12 to identify far functions (must be called with diff --git a/include/elf/mmix.h b/include/elf/mmix.h index e3be26b..98536e2 100644 --- a/include/elf/mmix.h +++ b/include/elf/mmix.h @@ -1,5 +1,5 @@ /* MMIX support for BFD. - Copyright (C) 2001, 2002 Free Software Foundation, Inc. + Copyright 2001, 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -157,11 +157,11 @@ END_RELOC_NUMBERS (R_MMIX_max) #define MMO_SEC_DEBUGGING 0x10000 #ifdef BFD_ARCH_SIZE -extern boolean _bfd_mmix_prepare_linker_allocated_gregs +extern bfd_boolean _bfd_mmix_prepare_linker_allocated_gregs PARAMS ((bfd *, struct bfd_link_info *)); -extern boolean _bfd_mmix_finalize_linker_allocated_gregs +extern bfd_boolean _bfd_mmix_finalize_linker_allocated_gregs PARAMS ((bfd *, struct bfd_link_info *)); -extern boolean _bfd_mmix_check_all_relocs +extern bfd_boolean _bfd_mmix_check_all_relocs PARAMS ((bfd *, struct bfd_link_info *)); #endif diff --git a/include/elf/msp430.h b/include/elf/msp430.h deleted file mode 100644 index 912ded7..0000000 --- a/include/elf/msp430.h +++ /dev/null @@ -1,56 +0,0 @@ -/* MSP430 ELF support for BFD. - Copyright (C) 2002 Free Software Foundation, Inc. - Contributed by Dmitry Diky <diwil@mail.ru> - - 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 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., - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _ELF_MSP430_H -#define _ELF_MSP430_H - -#include "elf/reloc-macros.h" - -/* Processor specific flags for the ELF header e_flags field. */ -#define EF_MSP430_MACH 0xff - -#define E_MSP430_MACH_MSP430x11 11 -#define E_MSP430_MACH_MSP430x11x1 110 -#define E_MSP430_MACH_MSP430x12 12 -#define E_MSP430_MACH_MSP430x13 13 -#define E_MSP430_MACH_MSP430x14 14 -#define E_MSP430_MACH_MSP430x15 15 -#define E_MSP430_MACH_MSP430x16 16 -#define E_MSP430_MACH_MSP430x31 31 -#define E_MSP430_MACH_MSP430x32 32 -#define E_MSP430_MACH_MSP430x33 33 -#define E_MSP430_MACH_MSP430x41 41 -#define E_MSP430_MACH_MSP430x42 42 -#define E_MSP430_MACH_MSP430x43 43 -#define E_MSP430_MACH_MSP430x44 44 - -/* Relocations. */ -START_RELOC_NUMBERS (elf_msp430_reloc_type) - RELOC_NUMBER (R_MSP430_NONE, 0) - RELOC_NUMBER (R_MSP430_32, 1) - RELOC_NUMBER (R_MSP430_10_PCREL, 2) - RELOC_NUMBER (R_MSP430_16, 3) - RELOC_NUMBER (R_MSP430_16_PCREL, 4) - RELOC_NUMBER (R_MSP430_16_BYTE, 5) - RELOC_NUMBER (R_MSP430_16_PCREL_BYTE, 6) - -END_RELOC_NUMBERS (R_MSP430_max) - -#endif /* _ELF_MSP430_H */ diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h deleted file mode 100644 index ee2b0ea..0000000 --- a/include/elf/ppc64.h +++ /dev/null @@ -1,156 +0,0 @@ -/* PPC64 ELF support for BFD. - Copyright 2003 Free Software Foundation, Inc. - -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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _ELF_PPC64_H -#define _ELF_PPC64_H - -#include "elf/reloc-macros.h" - -/* Relocations. */ -START_RELOC_NUMBERS (elf_ppc64_reloc_type) - RELOC_NUMBER (R_PPC64_NONE, 0) - RELOC_NUMBER (R_PPC64_ADDR32, 1) - RELOC_NUMBER (R_PPC64_ADDR24, 2) - RELOC_NUMBER (R_PPC64_ADDR16, 3) - RELOC_NUMBER (R_PPC64_ADDR16_LO, 4) - RELOC_NUMBER (R_PPC64_ADDR16_HI, 5) - RELOC_NUMBER (R_PPC64_ADDR16_HA, 6) - RELOC_NUMBER (R_PPC64_ADDR14, 7) - RELOC_NUMBER (R_PPC64_ADDR14_BRTAKEN, 8) - RELOC_NUMBER (R_PPC64_ADDR14_BRNTAKEN, 9) - RELOC_NUMBER (R_PPC64_REL24, 10) - RELOC_NUMBER (R_PPC64_REL14, 11) - RELOC_NUMBER (R_PPC64_REL14_BRTAKEN, 12) - RELOC_NUMBER (R_PPC64_REL14_BRNTAKEN, 13) - RELOC_NUMBER (R_PPC64_GOT16, 14) - RELOC_NUMBER (R_PPC64_GOT16_LO, 15) - RELOC_NUMBER (R_PPC64_GOT16_HI, 16) - RELOC_NUMBER (R_PPC64_GOT16_HA, 17) - /* 18 unused. 32-bit reloc is R_PPC_PLTREL24. */ - RELOC_NUMBER (R_PPC64_COPY, 19) - RELOC_NUMBER (R_PPC64_GLOB_DAT, 20) - RELOC_NUMBER (R_PPC64_JMP_SLOT, 21) - RELOC_NUMBER (R_PPC64_RELATIVE, 22) - /* 23 unused. 32-bit reloc is R_PPC_LOCAL24PC. */ - RELOC_NUMBER (R_PPC64_UADDR32, 24) - RELOC_NUMBER (R_PPC64_UADDR16, 25) - RELOC_NUMBER (R_PPC64_REL32, 26) - RELOC_NUMBER (R_PPC64_PLT32, 27) - RELOC_NUMBER (R_PPC64_PLTREL32, 28) - RELOC_NUMBER (R_PPC64_PLT16_LO, 29) - RELOC_NUMBER (R_PPC64_PLT16_HI, 30) - RELOC_NUMBER (R_PPC64_PLT16_HA, 31) - /* 32 unused. 32-bit reloc is R_PPC_SDAREL16. */ - RELOC_NUMBER (R_PPC64_SECTOFF, 33) - RELOC_NUMBER (R_PPC64_SECTOFF_LO, 34) - RELOC_NUMBER (R_PPC64_SECTOFF_HI, 35) - RELOC_NUMBER (R_PPC64_SECTOFF_HA, 36) - RELOC_NUMBER (R_PPC64_REL30, 37) - RELOC_NUMBER (R_PPC64_ADDR64, 38) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHER, 39) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHERA, 40) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHEST, 41) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHESTA, 42) - RELOC_NUMBER (R_PPC64_UADDR64, 43) - RELOC_NUMBER (R_PPC64_REL64, 44) - RELOC_NUMBER (R_PPC64_PLT64, 45) - RELOC_NUMBER (R_PPC64_PLTREL64, 46) - RELOC_NUMBER (R_PPC64_TOC16, 47) - RELOC_NUMBER (R_PPC64_TOC16_LO, 48) - RELOC_NUMBER (R_PPC64_TOC16_HI, 49) - RELOC_NUMBER (R_PPC64_TOC16_HA, 50) - RELOC_NUMBER (R_PPC64_TOC, 51) - RELOC_NUMBER (R_PPC64_PLTGOT16, 52) - RELOC_NUMBER (R_PPC64_PLTGOT16_LO, 53) - RELOC_NUMBER (R_PPC64_PLTGOT16_HI, 54) - RELOC_NUMBER (R_PPC64_PLTGOT16_HA, 55) - - /* The following relocs were added in the 64-bit PowerPC ELF ABI - revision 1.2. */ - RELOC_NUMBER (R_PPC64_ADDR16_DS, 56) - RELOC_NUMBER (R_PPC64_ADDR16_LO_DS, 57) - RELOC_NUMBER (R_PPC64_GOT16_DS, 58) - RELOC_NUMBER (R_PPC64_GOT16_LO_DS, 59) - RELOC_NUMBER (R_PPC64_PLT16_LO_DS, 60) - RELOC_NUMBER (R_PPC64_SECTOFF_DS, 61) - RELOC_NUMBER (R_PPC64_SECTOFF_LO_DS, 62) - RELOC_NUMBER (R_PPC64_TOC16_DS, 63) - RELOC_NUMBER (R_PPC64_TOC16_LO_DS, 64) - RELOC_NUMBER (R_PPC64_PLTGOT16_DS, 65) - RELOC_NUMBER (R_PPC64_PLTGOT16_LO_DS, 66) - - /* Relocs added to support TLS. PowerPC64 ELF ABI revision 1.5. */ - RELOC_NUMBER (R_PPC64_TLS, 67) - RELOC_NUMBER (R_PPC64_DTPMOD64, 68) - RELOC_NUMBER (R_PPC64_TPREL16, 69) - RELOC_NUMBER (R_PPC64_TPREL16_LO, 70) - RELOC_NUMBER (R_PPC64_TPREL16_HI, 71) - RELOC_NUMBER (R_PPC64_TPREL16_HA, 72) - RELOC_NUMBER (R_PPC64_TPREL64, 73) - RELOC_NUMBER (R_PPC64_DTPREL16, 74) - RELOC_NUMBER (R_PPC64_DTPREL16_LO, 75) - RELOC_NUMBER (R_PPC64_DTPREL16_HI, 76) - RELOC_NUMBER (R_PPC64_DTPREL16_HA, 77) - RELOC_NUMBER (R_PPC64_DTPREL64, 78) - RELOC_NUMBER (R_PPC64_GOT_TLSGD16, 79) - RELOC_NUMBER (R_PPC64_GOT_TLSGD16_LO, 80) - RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HI, 81) - RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HA, 82) - RELOC_NUMBER (R_PPC64_GOT_TLSLD16, 83) - RELOC_NUMBER (R_PPC64_GOT_TLSLD16_LO, 84) - RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HI, 85) - RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HA, 86) - RELOC_NUMBER (R_PPC64_GOT_TPREL16_DS, 87) - RELOC_NUMBER (R_PPC64_GOT_TPREL16_LO_DS, 88) - RELOC_NUMBER (R_PPC64_GOT_TPREL16_HI, 89) - RELOC_NUMBER (R_PPC64_GOT_TPREL16_HA, 90) - RELOC_NUMBER (R_PPC64_GOT_DTPREL16_DS, 91) - RELOC_NUMBER (R_PPC64_GOT_DTPREL16_LO_DS, 92) - RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HI, 93) - RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HA, 94) - RELOC_NUMBER (R_PPC64_TPREL16_DS, 95) - RELOC_NUMBER (R_PPC64_TPREL16_LO_DS, 96) - RELOC_NUMBER (R_PPC64_TPREL16_HIGHER, 97) - RELOC_NUMBER (R_PPC64_TPREL16_HIGHERA, 98) - RELOC_NUMBER (R_PPC64_TPREL16_HIGHEST, 99) - RELOC_NUMBER (R_PPC64_TPREL16_HIGHESTA, 100) - RELOC_NUMBER (R_PPC64_DTPREL16_DS, 101) - RELOC_NUMBER (R_PPC64_DTPREL16_LO_DS, 102) - RELOC_NUMBER (R_PPC64_DTPREL16_HIGHER, 103) - RELOC_NUMBER (R_PPC64_DTPREL16_HIGHERA, 104) - RELOC_NUMBER (R_PPC64_DTPREL16_HIGHEST, 105) - RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106) - - /* These are GNU extensions to enable C++ vtable garbage collection. */ - RELOC_NUMBER (R_PPC64_GNU_VTINHERIT, 253) - RELOC_NUMBER (R_PPC64_GNU_VTENTRY, 254) - -END_RELOC_NUMBERS (R_PPC64_max) - -#define IS_PPC64_TLS_RELOC(R) \ - ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) - -/* Specify the start of the .glink section. */ -#define DT_PPC64_GLINK DT_LOPROC - -/* Specify the start and size of the .opd section. */ -#define DT_PPC64_OPD (DT_LOPROC + 1) -#define DT_PPC64_OPDSZ (DT_LOPROC + 2) - -#endif /* _ELF_PPC64_H */ diff --git a/include/elf/sh.h b/include/elf/sh.h index ef964d6..68a2c54 100644 --- a/include/elf/sh.h +++ b/include/elf/sh.h @@ -106,7 +106,7 @@ extern enum sh64_elf_cr_type sh64_get_contents_type /* Simpler interface. FIXME: This seems redundant now that we export the interface above. */ -extern boolean sh64_address_is_shmedia PARAMS ((asection *, bfd_vma)); +extern bfd_boolean sh64_address_is_shmedia PARAMS ((asection *, bfd_vma)); extern int _bfd_sh64_crange_qsort_cmpb PARAMS ((const void *, const void *)); extern int _bfd_sh64_crange_qsort_cmpl PARAMS ((const void *, const void *)); diff --git a/include/elf/xstormy16.h b/include/elf/xstormy16.h index ee6c551..6b1e98f 100644 --- a/include/elf/xstormy16.h +++ b/include/elf/xstormy16.h @@ -1,5 +1,5 @@ /* XSTORMY16 ELF support for BFD. - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -37,6 +37,10 @@ START_RELOC_NUMBERS (elf_xstormy16_reloc_type) RELOC_NUMBER (R_XSTORMY16_24, 8) RELOC_NUMBER (R_XSTORMY16_FPTR16, 9) + RELOC_NUMBER (R_XSTORMY16_LO16, 10) + RELOC_NUMBER (R_XSTORMY16_HI16, 11) + RELOC_NUMBER (R_XSTORMY16_12, 12) + RELOC_NUMBER (R_XSTORMY16_GNU_VTINHERIT, 128) RELOC_NUMBER (R_XSTORMY16_GNU_VTENTRY, 129) END_RELOC_NUMBERS (R_XSTORMY16_max) diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h deleted file mode 100644 index 6c584c7..0000000 --- a/include/elf/xtensa.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Xtensa ELF support for BFD. - Copyright 2003 Free Software Foundation, Inc. - Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. - - 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. */ - -/* This file holds definitions specific to the Xtensa ELF ABI. */ - -#ifndef _ELF_XTENSA_H -#define _ELF_XTENSA_H - -#include "elf/reloc-macros.h" - -/* Relocations. */ -START_RELOC_NUMBERS (elf_xtensa_reloc_type) - RELOC_NUMBER (R_XTENSA_NONE, 0) - RELOC_NUMBER (R_XTENSA_32, 1) - RELOC_NUMBER (R_XTENSA_RTLD, 2) - RELOC_NUMBER (R_XTENSA_GLOB_DAT, 3) - RELOC_NUMBER (R_XTENSA_JMP_SLOT, 4) - RELOC_NUMBER (R_XTENSA_RELATIVE, 5) - RELOC_NUMBER (R_XTENSA_PLT, 6) - RELOC_NUMBER (R_XTENSA_OP0, 8) - RELOC_NUMBER (R_XTENSA_OP1, 9) - RELOC_NUMBER (R_XTENSA_OP2, 10) - RELOC_NUMBER (R_XTENSA_ASM_EXPAND, 11) - RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12) - RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15) - RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16) -END_RELOC_NUMBERS (R_XTENSA_max) - -/* Processor-specific flags for the ELF header e_flags field. */ - -/* Four-bit Xtensa machine type field. */ -#define EF_XTENSA_MACH 0x0000000f - -/* Various CPU types. */ -#define E_XTENSA_MACH 0x00000000 - -/* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. - Highly unlikely, but what the heck. */ - -#define EF_XTENSA_XT_INSN 0x00000100 -#define EF_XTENSA_XT_LIT 0x00000200 - - -/* Processor-specific dynamic array tags. */ - -/* Offset of the table that records the GOT location(s). */ -#define DT_XTENSA_GOT_LOC_OFF 0x70000000 - -/* Number of entries in the GOT location table. */ -#define DT_XTENSA_GOT_LOC_SZ 0x70000001 - - -/* Definitions for instruction and literal property tables. The - tables for ".gnu.linkonce.*" sections are placed in the following - sections: - - instruction tables: .gnu.linkonce.x.* - literal tables: .gnu.linkonce.p.* -*/ - -#define XTENSA_INSN_SEC_NAME ".xt.insn" -#define XTENSA_LIT_SEC_NAME ".xt.lit" - -typedef struct property_table_entry_t -{ - bfd_vma address; - bfd_vma size; -} property_table_entry; - -#endif /* _ELF_XTENSA_H */ |