diff options
author | dim <dim@FreeBSD.org> | 2010-10-21 19:11:14 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2010-10-21 19:11:14 +0000 |
commit | 844d5c9852c83cc56dccdc017c27f2bfc0928f05 (patch) | |
tree | 506464413c40d2c6a4a46d04892a9415cb886522 /contrib/binutils/include/elf | |
parent | acc1b913a3297e19f9ffe7d2b7b8a3142926d3b4 (diff) | |
parent | 0acbbeece75076693a5c54ce4d376aa9f021b4e3 (diff) | |
download | FreeBSD-src-844d5c9852c83cc56dccdc017c27f2bfc0928f05.zip FreeBSD-src-844d5c9852c83cc56dccdc017c27f2bfc0928f05.tar.gz |
Merge ^vendor/binutils/dist@214082 into contrib/binutils.
Diffstat (limited to 'contrib/binutils/include/elf')
53 files changed, 1612 insertions, 307 deletions
diff --git a/contrib/binutils/include/elf/ChangeLog b/contrib/binutils/include/elf/ChangeLog index ea008d6..48ce81c 100644 --- a/contrib/binutils/include/elf/ChangeLog +++ b/contrib/binutils/include/elf/ChangeLog @@ -1,3 +1,434 @@ +2006-03-22 Richard Sandiford <richard@codesourcery.com> + Daniel Jacobowitz <dan@codesourcery.com> + Phil Edwards <phil@codesourcery.com> + Zack Weinberg <zack@codesourcery.com> + Mark Mitchell <mark@codesourcery.com> + Nathan Sidwell <nathan@codesourcery.com> + + * mips.h (R_MIPS_COPY, R_MIPS_JUMP_SLOT): New relocs. + +2006-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * hppa.h (SHF_HP_TLS, SHF_HP_NEAR_SHARED, SHF_HP_FAR_SHARED, + SHF_HP_COMDAT, SHF_HP_CONST, SHN_TLS_COMMON, SHN_NS_COMMON, + SHN_NS_UNDEF, SHN_FS_UNDEF, SHN_HP_EXTERN, SHN_HP_EXTHINT, + SHN_HP_UNDEF_BIND_IMM, SHT_HP_OVLBITS, SHT_HP_DLKM, SHT_HP_COMDAT, + SHT_HP_OBJDICT, SHT_HP_ANNOT, STB_HP_ALIAS): Define. + +2006-03-10 Paul Brook <paul@codesourcery.com> + + * arm.h (EF_ARM_EABI_VER5): Define. + +2006-03-06 Nathan Sidwell <nathan@codesourcery.com> + + * m68k.h (EF_M68K_ISA_MASK, EF_M68K_ISA_A, + EF_M68K_ISA_A_PLUS, EF_M68K_ISA_B, EF_M68K_ISA_C): Adjust. + (EF_M68K_ISA_A_NODIV, EF_M68K_ISA_B_NOUSP): New. + (EF_M68K_HW_DIV, EF_M68K_USP): Remove. + (EF_M68K_MAC, EF_M68K_EMAC, EF_M68K_FLOAT): Adjust. + (EF_M68K_EMAC_B): New. + +2006-03-03 Bjoern Haase <bjoern.m.haase@web.de> + + * avr.h (R_AVR_MS8_LDI,R_AVR_MS8_LDI_NEG): Add. + (EF_AVR_LINKRELAX_PREPARED): Add. + +2006-03-02 Ben Elliston <bje@au.ibm.com> + + Import from the GCC tree: + 2006-03-01 Jakub Jelinek <jakub@redhat.com> + + * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants + from DWARF 3. + (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, + DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, + DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, + DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, + DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. + (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. + (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, + DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. + (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, + DW_DS_leading_separate, DW_DS_trailing_separate): New. + (DW_END_default, DW_END_big, DW_END_little): New. + (DW_END_lo_user, DW_END_hi_user): Define. + (DW_LNE_lo_user, DW_LNE_hi_user): Define. + (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. + (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, + DW_LANG_D): New. + +2006-02-24 DJ Delorie <dj@redhat.com> + + * m32c.h: Add relax relocs. + +2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com> + Anil Paranjape <anilp1@kpitcummins.com> + Shilin Shakti <shilins@kpitcummins.com> + + * common.h (EM_XC16X): New entry for xc16x cpu. + Sort other EM_* numbers into numerical order. + * xc16x.h: New file. + +2006-02-10 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/2258 + * internal.h (ELF_IS_SECTION_IN_SEGMENT_FILE): New. + (ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise. + +2006-02-07 Nathan Sidwell <nathan@codesourcery.com> + + * m68k.h (EF_CPU32, EF_M68000, EF_CFV4E): Rename to ... + (EF_M68K_CPU32, EF_M68K_M68000, EF_M68K_CFV4E): ... here. + (EF_M68K_ISA_MASK, EF_M68K_ISA_A, EF_M68K_M68K_ISA_A_PLUS, + EF_M68K_ISA_B, EF_M68K_HW_DIV, EF_M68K_MAC_MASK, EF_M68K_MAC, + EF_M68K_EMAC, EF_M68K_USP, EF_M68K_FLOAT): New. + +2006-02-06 Steve Ellcey <sje@cup.hp.com> + + * ia64.h (SHF_IA_64_HP_TLS): New. + +2006-01-18 Alexandre Oliva <aoliva@redhat.com> + + Introduce TLS descriptors for i386 and x86_64. + * common.h (DT_TLSDESC_GOT, DT_TLSDESC_PLT): New. + * i386.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL, R_386_TLS_DESC): + New. + * x86-64.h (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL, + R_X86_64_TLSDESC): New. + +2006-01-09 Mike Frysinger <vapier@gentoo.org>: + + * common.h (EM_ALTERA_NIOS2, EM_NIOS32) Define. + +2005-12-16 Nathan Sidwell <nathan@codesourcery.com> + + Second part of ms1 to mt renaming. + * common.h (EM_MT): Renamed. + * mt.h: Rename relocs, cpu & other defines. + +2005-12-12 Paul Brook <paul@codesourcery.com> + + * arm.h (elf32_arm_get_eabi_attr_int): Add prototype. + +2005-11-11 Nick Clifton <nickc@redhat.com> + + PR 1150 + * mips.h (STO_OPTIONAL): Define. + (ELF_MIPS_IS_OPTIONAL): Define. + +2005-09-30 Catherine Moore <clm@cm00re.com> + + * bfin.h: New file. + * common.h (EM_BLACKFIN): Define. + +2005-10-08 Paul Brook <paul@codesourcery.com> + + * arm.h: Add prototypes for BFD object attribute routines. + +2005-09-09 Richard Earnshaw <richard.earnshaw@arm.com> + + * arm.h (SHT_ARM_PREEMPTMAP, SHT_ARM_ATTRIBUTES): New defines. + +2005-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * hppa.h (SHT_PARISC_DLKM, SHF_PARISC_WEAKORDER, PT_PARISC_WEAKORDER): + New defines. + +2005-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * hppa.h (PF_HP_CODE, PF_HP_MODIFY, PF_HP_LAZYSWAP): Revise defines. + (PF_HP_CODE_DEPR, PF_HP_MODIFY_DEPR, PF_HP_LAZYSWAP_DEPR): New + deprecated defines. + (DT_HP_EPLTREL, DT_HP_EPLTRELSZ, DT_HP_FILTERED, DT_HP_FILTER_TLS, + DT_HP_COMPAT_FILTERED, DT_HP_LAZYLOAD, DT_HP_BIND_NOW_COUNT, DT_PLT, + DT_PLT_SIZE, DT_DLT, DT_DLT_SIZE, DT_HP_BIND_DEPTH_FIRST, DT_HP_GST, + DT_HP_SHLIB_FIXED, DT_HP_MERGE_SHLIB_SEG, DT_HP_NODELETE, DT_HP_GROUP, + DT_HP_PROTECT_LINKAGE_TABLE, PT_HP_OPT_ANNOT, PT_HP_HSL_ANNOT, + PT_HP_STACK, PT_HP_CORE_UTSNAME, NT_HP_COMPILER, NT_HP_COPYRIGHT, + NT_HP_VERSION, NT_HP_SRCFILE_INFO, NT_HP_LINKER, NT_HP_INSTRUMENTED, + NT_HP_UX_OPTIONS): Define. + +2005-07-25 DJ Delorie <dj@redhat.com> + + * m32c.h: Add R_M32C_8, R_M32C_LO16, R_M32C_HI8, and R_M32C_HI16. + +2005-07-25 Jan Hubicka <jh@suse.cz> + + * x86-64.h (SHN_X86_64_LCOMMON): New. + (SHF_X86_64_LARGE): New. + +2005-07-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * m32r.h (R_M32R_REL32): Added. + +2005-07-18 Ben Elliston <bje@au.ibm.com> + + * dwarf2.h (enum dwarf_type): Remove DW_AT_GNU_decimal_float. + Replace with DW_ATE_decimal_float (now in DWARF 3). + +2005-07-14 Jim Blandy <jimb@redhat.com> + + Add support for Renesas M32C and M16C. + * common.h (EM_M32C): New machine number. + * m32c.h: New file. + +2005-06-17 Jan Beulich <jbeulich@novell.com> + + * x86-64.h (elf_x86_64_reloc_type): Adjust comment for + R_X86_64_GOTPCREL. Add R_X86_64_PC64, R_X86_64_GOTOFF64, and + R_X86_64_GOTPC32. + +2005-06-07 Aldy Hernandez <aldyh@redhat.com> + Michael Snyder <msnyder@redhat.com> + Stan Cox <scox@redhat.com> + + * common.h (EM_MS1): Define. + + * ms1.h: New file. + +2005-05-31 Richard Henderson <rth@redhat.com> + + * alpha.h (LITUSE_ALPHA_JSRDIRECT): New. + +2005-05-29 Richard Henderson <rth@redhat.com> + + * alpha.h (DT_ALPHA_PLTRO): New. + +2005-05-19 Ben Elliston <bje@au.ibm.com> + + * dwarf2.h (enum dwarf_type): Assign DW_ATE_GNU_decimal_float from + the user-defined encoding space pending inclusion in the standard. + +2005-05-18 Zack Weinberg <zack@codesourcery.com> + + * arm.h: Make all #ifndef OLD_ARM_ABI blocks + unconditional, delete all #ifdef OLD_ARM_ABI blocks. + +2005-05-17 Zack Weinberg <zack@codesourcery.com> + + * arm.h: Import complete list of official relocation names + and numbers from AAELF. Define FAKE_RELOCs for old names. + Remove a few old names no longer used anywhere. + +2005-05-14 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (DT_PPC_GOT): Rename from DT_PPC_GLINK. + +2005-05-11 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT, + R_PPC_RELAX32PC_PLT) Adjust. + (R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI, R_PPC_REL16_HA): Define. + (DT_PPC_GLINK): Define. + +2005-05-10 Nick Clifton <nickc@redhat.com> + + * Update the address and phone number of the FSF organization in + the GPL notices in the following files: + alpha.h, arc.h, arm.h, avr.h, common.h, cr16c.h, cris.h, crx.h, + d10v.h, d30v.h, dlx.h, dwarf.h, dwarf2.h, external.h, fr30.h, + frv.h, h8.h, hppa.h, i370.h, i386.h, i860.h, i960.h, ia64.h, + internal.h, ip2k.h, iq2000.h, m32r.h, m68hc11.h, m68k.h, mcore.h, + mips.h, mmix.h, mn10200.h, mn10300.h, msp430.h, openrisc.h, + or32.h, pj.h, ppc.h, ppc64.h, reloc-macros.h, s390.h, sh.h, + sparc.h, v850.h, vax.h, x86-64.h, xstormy16.h, xtensa.h + +2005-04-13 H.J. Lu <hongjiu.lu@intel.com> + + Moved from ../ChangeLog + + 2004-10-27 Richard Earnshaw <rearnsha@arm.com> + * arm.h: Add R_ARM_CALL and R_ARM_JUMP32. + + 2004-10-12 Paul Brook <paul@codesourcery.com> + * arm.h (EF_ARM_EABI_VER4): Define. + + 2004-10-08 Daniel Jacobowitz <dan@debian.org> + + * common.h (PT_SUNW_EH_FRAME): Define. + * x86-64.h (SHT_X86_64_UNWIND): Define. + + 2004-10-07 Bob Wilson <bob.wilson@acm.org> + * xtensa.h (R_XTENSA_DIFF8, R_XTENSA_DIFF16, R_XTENSA_DIFF32, + R_XTENSA_SLOT*_OP, R_XTENSA_SLOT*_ALT): New relocations. + (XTENSA_PROP_SEC_NAME): Define. + (property_table_entry): Add flags field. + (XTENSA_PROP_*, GET_XTENSA_PROP_*, SET_XTENSA_PROP_*): Define. + + 2004-09-17 Paul Brook <paul@codesourcery.com> + * arm.h: Remove R_ARM_STKCHK and R_ARM_THM_STKCHK. + Add R_ARM_TARGET2, R_ARM_PREL31, R_ARM_GOT_ABS, R_ARM_GOT_PREL, + R_ARM_GOT_BREL12, R_ARM_GOTOFF12 and R_ARM_GOTRELAX. + + 2004-09-13 Paul Brook <paul@codesourcery.com> + * arm.h: Rename RELABS to TARGET1. + + 2004-05-11 Jakub Jelinek <jakub@redhat.com> + * common.h (PT_GNU_EH_FRAME, PT_GNU_STACK): Add comments. + (PT_GNU_RELRO): Define. + +2005-03-29 Daniel Jacobowitz <dan@codesourcery.com> + Phil Blundell <philb@gnu.org> + + * arm.h: Add TLS relocations. + +2005-03-23 Ben Elliston <bje@au.ibm.com> + + * dwarf.h: Merge with GCC's dwarf.h. + +2005-03-18 C Jaipraash <cjaiprakash@noida.hcltech.com> + + * m68k.h (EF_CFV4E): Define. + +2005-03-17 Paul Brook <paul@codesourcery.com> + Dan Jacobowitz <dan@codesourcery.com> + Mark Mitchell <mark@codesourcery.com> + + * arm.h (PT_ARM_EXIDX): Define. + +2005-03-02 Daniel Jacobowitz <dan@codesourcery.com> + Joseph Myers <joseph@codesourcery.com> + + * mips.h: Define MIPS TLS relocations. + +2005-02-15 Nigel Stephens <nigel@mips.com> + Maciej W. Rozycki <macro@mips.com> + + * mips.h (R_MIPS16_GOT16): New reloc code. + (R_MIPS16_CALL16): Likewise. + (R_MIPS16_HI16): Likewise. + (R_MIPS16_LO16): Likewise. + (R_MIPS16_min): New fake reloc code. + (R_MIPS16_max): Likewise. + +2005-02-11 Maciej W. Rozycki <macro@mips.com> + + * mips.h (R_MIPS_max): Use FAKE_RELOC to define. + +2005-01-25 Alexandre Oliva <aoliva@redhat.com> + + 2004-12-10 Alexandre Oliva <aoliva@redhat.com> + * frv.h: Add R_FRV_TLSMOFF. + 2004-11-10 Alexandre Oliva <aoliva@redhat.com> + * frv.h: Add TLS relocations. + +2005-01-17 Nick Clifton <nickc@redhat.com> + + * sh.h (EF_SH2A_SH4_NOFPU, EF_SH2A_SH3_NOFPU, EF_SH2A_SH4, + EF_SH2A_SH3E): New flags. + (EF_SH_BFD_TABLE): Add these new flags to the table. + +2005-01-12 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Define. + (R_PPC_RELAX32, R_PPC_RELAX32PC): Adjust value. + +2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de> + + * avr.h (R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW): New relocs. + +2004-12-16 Richard Sandiford <rsandifo@redhat.com> + + * v850.h (R_V850_LO16_SPLIT_OFFSET): New reloc. + +2004-12-09 Ian Lance Taylor <ian@wasabisystems.com> + + * mips.h (E_MIPS_MACH_9000): Define. + +2004-11-04 Hans-Peter Nilsson <hp@axis.com> + + * cris.h (EF_CRIS_VARIANT_MASK, EF_CRIS_VARIANT_ANY_V0_V10) + (EF_CRIS_VARIANT_V32, EF_CRIS_VARIANT_COMMON_V10_V32): New + macros. + +2004-10-06 Eric Christopher <echristo@redhat.com> + + * dwarf2.h: Sync with gcc dwarf2.h. Fix typo. + +2004-10-01 Paul Brook <paul@codesourcery.com> + + * arm.h (SHT_ARM_EXIDX): Define. + (ELF_STRING_ARM_unwind, ELF_STRING_ARM_unwind, + ELF_STRING_ARM_unwind_once, ELF_STRING_ARM_unwind_info_once): + Define. + +2004-08-25 Dmitry Diky <diwil@spec.ru> + + * msp430.h: Add new relocs. + +2004-08-12 H.J. Lu <hongjiu.lu@intel.com> + + * i386.h (R_386_USED_BY_INTEL_200): New. + +2004-07-29 Alexandre Oliva <aoliva@redhat.com> + + Introduce SH2a support. + 2004-02-18 Corinna Vinschen <vinschen@redhat.com> + * sh.h (EF_SH2A_NOFPU): New. + 2003-12-01 Michael Snyder <msnyder@redhat.com> + * sh.h (EF_SH2A): New. + +2004-07-27 Tomer Levi <Tomer.Levi@nsc.com> + + * crx.h: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16, + BFD_RELOC_CRX_SWITCH32. + +2004-07-06 Tomer Levi <Tomer.Levi@nsc.com> + + * common.h (EM_CRX): Define. + * crx.h: New file. + +2004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * m32r.h: Add defintions of R_M32R_GOTOFF_HI_ULO, + R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO. + +2004-06-19 Alan Modra <amodra@bigpond.net.au> + + * common.h (ELF64_R_INFO): Warning fix. + +2004-06-14 Chris Demetriou <cgd@broadcom.com> + + * mips.h (R_MIPS_PC32): Add back (undoing removal on 2004-04-24), + with an updated comment. + +2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com> + + * sh.h (EF_SH_HAS_DSP): Remove. + (EF_SH_HAS_FP): Remove. + (EF_SH_MERGE_MACH): Remove. + (EF_SH4_NOFPU): Convert to decimal. + (EF_SH4A_NOFPU): Likewise. + (EF_SH4_NOMMU_NOFPU): Likewise. + (EF_SH3_NOMMU): Add new macro. + (EF_SH_BFD_TABLE): Likewise. + (sh_find_elf_flags): Add prototype. + (sh_elf_get_flags_from_mach): Likewise. + +2004-04-24 Chris Demetriou <cgd@broadcom.com> + + * mips.h (R_MIPS_PC32, R_MIPS_PC64, R_MIPS_GNU_REL_LO16) + (R_MIPS_GNU_REL_HI16): Remove. + (R_MIPS_GNU_REL16_S2): Update comment. + +2004-30-30 Galit Heller <Galit.Heller@nsc.com> + Tomer Levi <Tomer.Levi@nsc.com> + + * common.h (EM_CR): Define. + * cr16c.h: New file. + +2004-03-23 Paul Brook <paul@codesourcery.com> + + * arm.h (EF_ERM_BE8, EF_ARM_LE8, EF_ARM_EABI_VER3): Add. + +2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com> + + * sh.h: Add EF_SH4_NOMMU_NOFPU. + +2004-03-01 Richard Sandiford <rsandifo@redhat.com> + + * frv.h (EF_FRV_CPU_FR405, EF_FRV_CPU_FR450): Define. + 2004-01-28 Roland McGrath <roland@redhat.com> * common.h (AT_SECURE): New macro. diff --git a/contrib/binutils/include/elf/ChangeLog-9103 b/contrib/binutils/include/elf/ChangeLog-9103 index 713d80d..93632ef 100644 --- a/contrib/binutils/include/elf/ChangeLog-9103 +++ b/contrib/binutils/include/elf/ChangeLog-9103 @@ -1,6 +1,40 @@ +2005-04-13 H.J. Lu <hongjiu.lu@intel.com> + + Moved from ../ChangeLog + + 2003-10-14 Bob Wilson <bob.wilson@acm.org> + * xtensa.h: Formatting. Fix comments about property section + names for linkonce sections. + + 2003-05-23 Jakub Jelinek <jakub@redhat.com> + * common.h (PT_GNU_STACK): Define. + + 2003-01-25 Jakub Jelinek <jakub@redhat.com> + * sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252. + + 2002-09-26 Jakub Jelinek <jakub@redhat.com> + * x86-64.h: Add TLS relocs. + + 2002-09-19 Jakub Jelinek <jakub@redhat.com> + * i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE): + Define. + + 2002-07-10 Jakub Jelinek <jakub@redhat.com> + * common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED, + DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define. + + 2002-05-31 Michal Ludvig <mludvig@suse.cz> + * dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed + to DW_CFA_lo_user, DW_CFA_hi_user respectively. + + 2002-05-23 Jakub Jelinek <jakub@redhat.com> + * common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. + * ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. + * i386.h: Add TLS relocs. + 2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> - * elf/m32r.h : Added m32r-linux and PIC support. Add new ABI that + * m32r.h : Added m32r-linux and PIC support. Add new ABI that uses RELA. (R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA, R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA, @@ -22,7 +56,7 @@ 2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> - * elf/m32r.h: Add new machine type m32r2 and instruction modes. + * m32r.h: Add new machine type m32r2 and instruction modes. 2003-11-06 Alan Modra <amodra@bigpond.net.au> @@ -148,7 +182,7 @@ 2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> - * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New + * h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New 2003-04-23 J"orn Rennecke <joern.rennecke@superh.com> @@ -165,8 +199,8 @@ 2003-04-01 Bob Wilson <bob.wilson@acm.org> - * elf/common.h (EM_XTENSA_OLD): Define. - * elf/xtensa.h: New file. + * common.h (EM_XTENSA_OLD): Define. + * xtensa.h: New file. 2003-04-01 Nick Clifton <nickc@redhat.com> @@ -339,7 +373,7 @@ 2002-08-28 Catherine Moore <clm@redhat.com> - * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN, + * v850.h (R_V850_LONGCALL, R_V850_ALIGN, R_V850_LONGJUMP): New relocations. 2002-08-15 Alan Modra <amodra@bigpond.net.au> @@ -535,7 +569,7 @@ 2001-12-13 Jakub Jelinek <jakub@redhat.com> - * elf/common.h (PT_GNU_EH_FRAME): Define. + * common.h (PT_GNU_EH_FRAME): Define. 2001-12-11 Alan Modra <amodra@bigpond.net.au> diff --git a/contrib/binutils/include/elf/alpha.h b/contrib/binutils/include/elf/alpha.h index 0313b5b..e53202c 100644 --- a/contrib/binutils/include/elf/alpha.h +++ b/contrib/binutils/include/elf/alpha.h @@ -1,5 +1,5 @@ /* ALPHA ELF support for BFD. - Copyright 1996, 1998, 2000 Free Software Foundation, Inc. + Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. By Eric Youngdale, <eric@aib.com>. No processor supplement available for this platform. @@ -18,7 +18,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the ALPHA ELF ABI. Note that most of this is not actually implemented by BFD. */ @@ -63,6 +63,9 @@ typedef struct #define STO_ALPHA_NOPV 0x80 #define STO_ALPHA_STD_GPLOAD 0x88 +/* Special values for Elf64_Dyn tag. */ +#define DT_ALPHA_PLTRO DT_LOPROC + #include "elf/reloc-macros.h" /* Alpha relocs. */ @@ -122,5 +125,6 @@ END_RELOC_NUMBERS (R_ALPHA_max) #define LITUSE_ALPHA_JSR 3 #define LITUSE_ALPHA_TLSGD 4 #define LITUSE_ALPHA_TLSLDM 5 +#define LITUSE_ALPHA_JSRDIRECT 6 #endif /* _ELF_ALPHA_H */ diff --git a/contrib/binutils/include/elf/arc.h b/contrib/binutils/include/elf/arc.h index 6e94c29..e2f4f41 100644 --- a/contrib/binutils/include/elf/arc.h +++ b/contrib/binutils/include/elf/arc.h @@ -16,7 +16,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the ARC ELF ABI. */ diff --git a/contrib/binutils/include/elf/arm.h b/contrib/binutils/include/elf/arm.h index 181a9f0..8311c13 100644 --- a/contrib/binutils/include/elf/arm.h +++ b/contrib/binutils/include/elf/arm.h @@ -1,5 +1,6 @@ /* ARM ELF support for BFD. - Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +16,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_ARM_H #define _ELF_ARM_H @@ -36,16 +37,26 @@ #define EF_ARM_VFP_FLOAT 0x400 #define EF_ARM_MAVERICK_FLOAT 0x800 +/* Frame unwind information */ +#define PT_ARM_EXIDX (PT_LOPROC + 1) + /* Other constants defined in the ARM ELF spec. version B-01. */ #define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK */ #define EF_ARM_DYNSYMSUSESEGIDX 0x08 /* NB conflicts with EF_APCS26 */ #define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT */ #define EF_ARM_EABIMASK 0xFF000000 +/* Constants defined in AAELF. */ +#define EF_ARM_BE8 0x00800000 +#define EF_ARM_LE8 0x00400000 + #define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK) #define EF_ARM_EABI_UNKNOWN 0x00000000 #define EF_ARM_EABI_VER1 0x01000000 #define EF_ARM_EABI_VER2 0x02000000 +#define EF_ARM_EABI_VER3 0x03000000 +#define EF_ARM_EABI_VER4 0x04000000 +#define EF_ARM_EABI_VER5 0x05000000 /* Local aliases for some flags to match names used by COFF port. */ #define F_INTERWORK EF_ARM_INTERWORK @@ -59,6 +70,11 @@ #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ +/* Additional section types. */ +#define SHT_ARM_EXIDX 0x70000001 /* Section holds ARM unwind info. */ +#define SHT_ARM_PREEMPTMAP 0x70000002 /* Section pre-emption details. */ +#define SHT_ARM_ATTRIBUTES 0x70000003 /* Section holds attributes. */ + /* ARM-specific values for sh_flags. */ #define SHF_ENTRYSECT 0x10000000 /* Section contains an entry point. */ #define SHF_COMDEF 0x80000000 /* Section may be multiply defined in the input to a link step. */ @@ -71,76 +87,199 @@ /* Relocation types. */ START_RELOC_NUMBERS (elf_arm_reloc_type) - RELOC_NUMBER (R_ARM_NONE, 0) - RELOC_NUMBER (R_ARM_PC24, 1) - RELOC_NUMBER (R_ARM_ABS32, 2) - RELOC_NUMBER (R_ARM_REL32, 3) -#ifdef OLD_ARM_ABI - RELOC_NUMBER (R_ARM_ABS8, 4) - RELOC_NUMBER (R_ARM_ABS16, 5) - RELOC_NUMBER (R_ARM_ABS12, 6) - RELOC_NUMBER (R_ARM_THM_ABS5, 7) - RELOC_NUMBER (R_ARM_THM_PC22, 8) - RELOC_NUMBER (R_ARM_SBREL32, 9) - RELOC_NUMBER (R_ARM_AMP_VCALL9, 10) - RELOC_NUMBER (R_ARM_THM_PC11, 11) /* Cygnus extension to abi: Thumb unconditional branch. */ - RELOC_NUMBER (R_ARM_THM_PC9, 12) /* Cygnus extension to abi: Thumb conditional branch. */ - RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 13) - RELOC_NUMBER (R_ARM_GNU_VTENTRY, 14) -#else /* not OLD_ARM_ABI */ - RELOC_NUMBER (R_ARM_PC13, 4) - RELOC_NUMBER (R_ARM_ABS16, 5) - RELOC_NUMBER (R_ARM_ABS12, 6) - RELOC_NUMBER (R_ARM_THM_ABS5, 7) - RELOC_NUMBER (R_ARM_ABS8, 8) - RELOC_NUMBER (R_ARM_SBREL32, 9) - RELOC_NUMBER (R_ARM_THM_PC22, 10) - RELOC_NUMBER (R_ARM_THM_PC8, 11) - RELOC_NUMBER (R_ARM_AMP_VCALL9, 12) - RELOC_NUMBER (R_ARM_SWI24, 13) - RELOC_NUMBER (R_ARM_THM_SWI8, 14) - RELOC_NUMBER (R_ARM_XPC25, 15) - RELOC_NUMBER (R_ARM_THM_XPC22, 16) -#endif /* not OLD_ARM_ABI */ - RELOC_NUMBER (R_ARM_COPY, 20) /* Copy symbol at runtime. */ - RELOC_NUMBER (R_ARM_GLOB_DAT, 21) /* Create GOT entry. */ - RELOC_NUMBER (R_ARM_JUMP_SLOT, 22) /* Create PLT entry. */ - RELOC_NUMBER (R_ARM_RELATIVE, 23) /* Adjust by program base. */ - RELOC_NUMBER (R_ARM_GOTOFF, 24) /* 32 bit offset to GOT. */ - RELOC_NUMBER (R_ARM_GOTPC, 25) /* 32 bit PC relative offset to GOT. */ - RELOC_NUMBER (R_ARM_GOT32, 26) /* 32 bit GOT entry. */ - RELOC_NUMBER (R_ARM_PLT32, 27) /* 32 bit PLT address. */ -#ifdef OLD_ARM_ABI - FAKE_RELOC (FIRST_INVALID_RELOC, 28) - FAKE_RELOC (LAST_INVALID_RELOC, 249) -#else /* not OLD_ARM_ABI */ - FAKE_RELOC (FIRST_INVALID_RELOC1, 28) - FAKE_RELOC (LAST_INVALID_RELOC1, 31) - RELOC_NUMBER (R_ARM_ALU_PCREL7_0, 32) - RELOC_NUMBER (R_ARM_ALU_PCREL15_8, 33) - RELOC_NUMBER (R_ARM_ALU_PCREL23_15, 34) - RELOC_NUMBER (R_ARM_LDR_SBREL11_0, 35) - RELOC_NUMBER (R_ARM_ALU_SBREL19_12, 36) - RELOC_NUMBER (R_ARM_ALU_SBREL27_20, 37) - FAKE_RELOC (FIRST_INVALID_RELOC2, 38) - FAKE_RELOC (LAST_INVALID_RELOC2, 99) - RELOC_NUMBER (R_ARM_GNU_VTENTRY, 100) - RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 101) - RELOC_NUMBER (R_ARM_THM_PC11, 102) /* Cygnus extension to abi: Thumb unconditional branch. */ - RELOC_NUMBER (R_ARM_THM_PC9, 103) /* Cygnus extension to abi: Thumb conditional branch. */ - FAKE_RELOC (FIRST_INVALID_RELOC3, 104) - FAKE_RELOC (LAST_INVALID_RELOC3, 248) - RELOC_NUMBER (R_ARM_RXPC25, 249) -#endif /* not OLD_ARM_ABI */ - RELOC_NUMBER (R_ARM_RSBREL32, 250) - RELOC_NUMBER (R_ARM_THM_RPC22, 251) - RELOC_NUMBER (R_ARM_RREL32, 252) - RELOC_NUMBER (R_ARM_RABS32, 253) - RELOC_NUMBER (R_ARM_RPC24, 254) - RELOC_NUMBER (R_ARM_RBASE, 255) +/* AAELF official names and numbers. */ + RELOC_NUMBER (R_ARM_NONE, 0) + RELOC_NUMBER (R_ARM_PC24, 1) /* deprecated */ + RELOC_NUMBER (R_ARM_ABS32, 2) + RELOC_NUMBER (R_ARM_REL32, 3) + RELOC_NUMBER (R_ARM_LDR_PC_G0, 4) + RELOC_NUMBER (R_ARM_ABS16, 5) + RELOC_NUMBER (R_ARM_ABS12, 6) + RELOC_NUMBER (R_ARM_THM_ABS5, 7) + RELOC_NUMBER (R_ARM_ABS8, 8) + RELOC_NUMBER (R_ARM_SBREL32, 9) + RELOC_NUMBER (R_ARM_THM_CALL, 10) + RELOC_NUMBER (R_ARM_THM_PC8, 11) + RELOC_NUMBER (R_ARM_BREL_ADJ, 12) + RELOC_NUMBER (R_ARM_SWI24, 13) /* obsolete */ + RELOC_NUMBER (R_ARM_THM_SWI8, 14) /* obsolete */ + RELOC_NUMBER (R_ARM_XPC25, 15) /* obsolete */ + RELOC_NUMBER (R_ARM_THM_XPC22, 16) /* obsolete */ + RELOC_NUMBER (R_ARM_TLS_DTPMOD32, 17) + RELOC_NUMBER (R_ARM_TLS_DTPOFF32, 18) + RELOC_NUMBER (R_ARM_TLS_TPOFF32, 19) + RELOC_NUMBER (R_ARM_COPY, 20) /* Copy symbol at runtime. */ + RELOC_NUMBER (R_ARM_GLOB_DAT, 21) /* Create GOT entry. */ + RELOC_NUMBER (R_ARM_JUMP_SLOT, 22) /* Create PLT entry. */ + RELOC_NUMBER (R_ARM_RELATIVE, 23) /* Adjust by program base. */ + RELOC_NUMBER (R_ARM_GOTOFF32, 24) /* 32 bit offset to GOT. */ + RELOC_NUMBER (R_ARM_BASE_PREL, 25) /* 32 bit PC relative offset to GOT. */ + RELOC_NUMBER (R_ARM_GOT_BREL, 26) /* 32 bit GOT entry. */ + RELOC_NUMBER (R_ARM_PLT32, 27) /* deprecated - 32 bit PLT address. */ + RELOC_NUMBER (R_ARM_CALL, 28) + RELOC_NUMBER (R_ARM_JUMP24, 29) + RELOC_NUMBER (R_ARM_THM_JUMP24, 30) + RELOC_NUMBER (R_ARM_BASE_ABS, 31) + RELOC_NUMBER (R_ARM_ALU_PCREL7_0, 32) /* obsolete */ + RELOC_NUMBER (R_ARM_ALU_PCREL15_8, 33) /* obsolete */ + RELOC_NUMBER (R_ARM_ALU_PCREL23_15, 34) /* obsolete */ + RELOC_NUMBER (R_ARM_LDR_SBREL_11_0, 35) /* deprecated, should have _NC suffix */ + RELOC_NUMBER (R_ARM_ALU_SBREL_19_12, 36) /* deprecated, should have _NC suffix */ + RELOC_NUMBER (R_ARM_ALU_SBREL_27_20, 37) /* deprecated, should have _CK suffix */ + RELOC_NUMBER (R_ARM_TARGET1, 38) + RELOC_NUMBER (R_ARM_SBREL31, 39) /* deprecated */ + RELOC_NUMBER (R_ARM_V4BX, 40) + RELOC_NUMBER (R_ARM_TARGET2, 41) + RELOC_NUMBER (R_ARM_PREL31, 42) + RELOC_NUMBER (R_ARM_MOVW_ABS_NC, 43) + RELOC_NUMBER (R_ARM_MOVT_ABS, 44) + RELOC_NUMBER (R_ARM_MOVW_PREL_NC, 45) + RELOC_NUMBER (R_ARM_MOVT_PREL, 46) + RELOC_NUMBER (R_ARM_THM_MOVW_ABS_NC, 47) + RELOC_NUMBER (R_ARM_THM_MOVT_ABS, 48) + RELOC_NUMBER (R_ARM_THM_MOVW_PREL_NC, 49) + RELOC_NUMBER (R_ARM_THM_MOVT_PREL, 50) + RELOC_NUMBER (R_ARM_THM_JUMP19, 51) + RELOC_NUMBER (R_ARM_THM_JUMP6, 52) + RELOC_NUMBER (R_ARM_THM_ALU_PREL_11_0, 53) + RELOC_NUMBER (R_ARM_THM_PC12, 54) + RELOC_NUMBER (R_ARM_ABS32_NOI, 55) + RELOC_NUMBER (R_ARM_REL32_NOI, 56) + RELOC_NUMBER (R_ARM_ALU_PC_G0_NC, 57) + RELOC_NUMBER (R_ARM_ALU_PC_G0, 58) + RELOC_NUMBER (R_ARM_ALU_PC_G1_NC, 59) + RELOC_NUMBER (R_ARM_ALU_PC_G1, 60) + RELOC_NUMBER (R_ARM_ALU_PC_G2, 61) + RELOC_NUMBER (R_ARM_LDR_PC_G1, 62) + RELOC_NUMBER (R_ARM_LDR_PC_G2, 63) + RELOC_NUMBER (R_ARM_LDRS_PC_G0, 64) + RELOC_NUMBER (R_ARM_LDRS_PC_G1, 65) + RELOC_NUMBER (R_ARM_LDRS_PC_G2, 66) + RELOC_NUMBER (R_ARM_LDC_PC_G0, 67) + RELOC_NUMBER (R_ARM_LDC_PC_G1, 68) + RELOC_NUMBER (R_ARM_LDC_PC_G2, 69) + RELOC_NUMBER (R_ARM_ALU_SB_G0_NC, 70) + RELOC_NUMBER (R_ARM_ALU_SB_G0, 71) + RELOC_NUMBER (R_ARM_ALU_SB_G1_NC, 72) + RELOC_NUMBER (R_ARM_ALU_SB_G1, 73) + RELOC_NUMBER (R_ARM_ALU_SB_G2, 74) + RELOC_NUMBER (R_ARM_LDR_SB_G0, 75) + RELOC_NUMBER (R_ARM_LDR_SB_G1, 76) + RELOC_NUMBER (R_ARM_LDR_SB_G2, 77) + RELOC_NUMBER (R_ARM_LDRS_SB_G0, 78) + RELOC_NUMBER (R_ARM_LDRS_SB_G1, 79) + RELOC_NUMBER (R_ARM_LDRS_SB_G2, 80) + RELOC_NUMBER (R_ARM_LDC_G0, 81) + RELOC_NUMBER (R_ARM_LDC_G1, 82) + RELOC_NUMBER (R_ARM_LDC_G2, 83) + RELOC_NUMBER (R_ARM_MOVW_BREL_NC, 84) + RELOC_NUMBER (R_ARM_MOVT_BREL, 85) + RELOC_NUMBER (R_ARM_MOVW_BREL, 86) + RELOC_NUMBER (R_ARM_THM_MOVW_BREL_NC, 87) + RELOC_NUMBER (R_ARM_THM_MOVT_BREL, 88) + RELOC_NUMBER (R_ARM_THM_MOVW_BREL, 89) + /* 90-93 unallocated */ + RELOC_NUMBER (R_ARM_PLT32_ABS, 94) + RELOC_NUMBER (R_ARM_GOT_ABS, 95) + RELOC_NUMBER (R_ARM_GOT_PREL, 96) + RELOC_NUMBER (R_ARM_GOT_BREL12, 97) + RELOC_NUMBER (R_ARM_GOTOFF12, 98) + RELOC_NUMBER (R_ARM_GOTRELAX, 99) + RELOC_NUMBER (R_ARM_GNU_VTENTRY, 100) /* deprecated - old C++ abi */ + RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 101) /* deprecated - old C++ abi */ + RELOC_NUMBER (R_ARM_THM_JUMP11, 102) + RELOC_NUMBER (R_ARM_THM_JUMP8, 103) + RELOC_NUMBER (R_ARM_TLS_GD32, 104) + RELOC_NUMBER (R_ARM_TLS_LDM32, 105) + RELOC_NUMBER (R_ARM_TLS_LDO32, 106) + RELOC_NUMBER (R_ARM_TLS_IE32, 107) + RELOC_NUMBER (R_ARM_TLS_LE32, 108) + RELOC_NUMBER (R_ARM_TLS_LDO12, 109) + RELOC_NUMBER (R_ARM_TLS_LE12, 110) + RELOC_NUMBER (R_ARM_TLS_IE12GP, 111) + /* 112 - 127 private range */ + RELOC_NUMBER (R_ARM_ME_TOO, 128) /* obsolete */ + + /* Extensions? R=read-only? */ + RELOC_NUMBER (R_ARM_RXPC25, 249) + RELOC_NUMBER (R_ARM_RSBREL32, 250) + RELOC_NUMBER (R_ARM_THM_RPC22, 251) + RELOC_NUMBER (R_ARM_RREL32, 252) + RELOC_NUMBER (R_ARM_RABS32, 253) + RELOC_NUMBER (R_ARM_RPC24, 254) + RELOC_NUMBER (R_ARM_RBASE, 255) + + /* Unofficial names for some of the relocs. */ + FAKE_RELOC (R_ARM_GOTOFF, R_ARM_GOTOFF32) /* 32 bit offset to GOT. */ + FAKE_RELOC (R_ARM_THM_PC22, R_ARM_THM_CALL) + FAKE_RELOC (R_ARM_THM_PC11, R_ARM_THM_JUMP11) + FAKE_RELOC (R_ARM_THM_PC9, R_ARM_THM_JUMP8) + + /* Relocs with both a different name, and (apparently) different meaning in + GNU usage. */ + FAKE_RELOC (R_ARM_GOTPC, R_ARM_BASE_PREL) /* 32 bit PC relative offset to GOT. */ + FAKE_RELOC (R_ARM_GOT32, R_ARM_GOT_BREL) /* 32 bit GOT entry. */ + FAKE_RELOC (R_ARM_ROSEGREL32, R_ARM_SBREL31) /* ??? */ + FAKE_RELOC (R_ARM_AMP_VCALL9, R_ARM_BREL_ADJ) /* Thumb-something. Not used. */ + FAKE_RELOC (R_ARM_PC13, R_ARM_LDR_PC_G0) /* Unclear whether meaning is different. */ END_RELOC_NUMBERS (R_ARM_max) +#ifdef BFD_ARCH_SIZE +/* Routines for manipulating EABI object attributes. */ +void elf32_arm_add_eabi_attr_int (bfd *, int, unsigned int); +void elf32_arm_add_eabi_attr_string (bfd *, int, const char *); +void elf32_arm_add_eabi_attr_compat (bfd *, unsigned int, const char *); +int elf32_arm_get_eabi_attr_int (bfd *, int); + +void elf32_arm_set_eabi_attr_contents (bfd *, bfd_byte *, bfd_vma); +bfd_vma elf32_arm_eabi_attr_size (bfd *); + +enum +{ + Tag_NULL, + Tag_File, + Tag_Section, + Tag_Symbol, + Tag_CPU_raw_name, + Tag_CPU_name, + Tag_CPU_arch, + Tag_CPU_arch_profile, + Tag_ARM_ISA_use, + Tag_THUMB_ISA_use, + Tag_VFP_arch, + Tag_WMMX_arch, + Tag_NEON_arch, + Tag_PCS_config, + Tag_ABI_PCS_R9_use, + Tag_ABI_PCS_RW_data, + Tag_ABI_PCS_RO_data, + Tag_ABI_PCS_GOT_use, + Tag_ABI_PCS_wchar_t, + Tag_ABI_FP_rounding, + Tag_ABI_FP_denormal, + Tag_ABI_FP_exceptions, + Tag_ABI_FP_user_exceptions, + Tag_ABI_FP_number_model, + Tag_ABI_align8_needed, + Tag_ABI_align8_preserved, + Tag_ABI_enum_size, + Tag_ABI_HardFP_use, + Tag_ABI_VFP_args, + Tag_ABI_WMMX_args, + Tag_ABI_optimization_goals, + Tag_ABI_FP_optimization_goals, + Tag_compatibility, +}; + +#endif + /* The name of the note section used to identify arm variants. */ #define ARM_NOTE_SECTION ".note.gnu.arm.ident" - + +/* Special section names. */ +#define ELF_STRING_ARM_unwind ".ARM.exidx" +#define ELF_STRING_ARM_unwind_info ".ARM.extab" +#define ELF_STRING_ARM_unwind_once ".gnu.linkonce.armexidx." +#define ELF_STRING_ARM_unwind_info_once ".gnu.linkonce.armextab." + #endif /* _ELF_ARM_H */ diff --git a/contrib/binutils/include/elf/avr.h b/contrib/binutils/include/elf/avr.h index 59cf073..f160438 100644 --- a/contrib/binutils/include/elf/avr.h +++ b/contrib/binutils/include/elf/avr.h @@ -1,22 +1,22 @@ /* AVR ELF support for BFD. - Copyright 1999, 2000 Free Software Foundation, Inc. + Copyright 1999, 2000, 2004 Free Software Foundation, Inc. Contributed by Denis Chertykov <denisc@overta.ru> -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 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. + 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. */ + 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. */ #ifndef _ELF_AVR_H #define _ELF_AVR_H @@ -26,6 +26,10 @@ along with this program; if not, write to the Free Software Foundation, Inc., /* Processor specific flags for the ELF header e_flags field. */ #define EF_AVR_MACH 0xf +/* If bit #7 is set, it is assumed that the elf file uses local symbols + as reference for the relocations so that linker relaxation is possible. */ +#define EF_AVR_LINKRELAX_PREPARED 0x80 + #define E_AVR_MACH_AVR1 1 #define E_AVR_MACH_AVR2 2 #define E_AVR_MACH_AVR3 3 @@ -53,6 +57,11 @@ START_RELOC_NUMBERS (elf_avr_reloc_type) RELOC_NUMBER (R_AVR_HI8_LDI_PM_NEG, 16) RELOC_NUMBER (R_AVR_HH8_LDI_PM_NEG, 17) RELOC_NUMBER (R_AVR_CALL, 18) + RELOC_NUMBER (R_AVR_LDI, 19) + RELOC_NUMBER (R_AVR_6, 20) + RELOC_NUMBER (R_AVR_6_ADIW, 21) + RELOC_NUMBER (R_AVR_MS8_LDI, 22) + RELOC_NUMBER (R_AVR_MS8_LDI_NEG, 23) END_RELOC_NUMBERS (R_AVR_max) #endif /* _ELF_AVR_H */ diff --git a/contrib/binutils/include/elf/bfin.h b/contrib/binutils/include/elf/bfin.h new file mode 100644 index 0000000..3c07cd1 --- /dev/null +++ b/contrib/binutils/include/elf/bfin.h @@ -0,0 +1,92 @@ +/* Blackfin ELF support for BFD. + Copyright (C) 2005 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., +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _ELF_BFIN_H +#define _ELF_BFIN_H + +#include "elf/reloc-macros.h" + +START_RELOC_NUMBERS (elf_bfin_reloc_type) + RELOC_NUMBER (R_unused0, 0x00) /* relocation type 0 is not defined*/ + RELOC_NUMBER (R_pcrel5m2, 0x01) /*LSETUP part a*/ + RELOC_NUMBER (R_unused1, 0x02) /* relocation type 2 is not defined*/ + RELOC_NUMBER (R_pcrel10, 0x03) /* type 3, 0x00) if cc jump <target> */ + RELOC_NUMBER (R_pcrel12_jump, 0x04) /* type 4, 0x00) jump <target> */ + RELOC_NUMBER (R_rimm16, 0x05) /* type 0x5, 0x00) rN = <target> */ + RELOC_NUMBER (R_luimm16, 0x06) /* # 0x6, 0x00) preg.l=<target> Load imm 16 to lower half */ + RELOC_NUMBER (R_huimm16, 0x07) /* # 0x7, 0x00) preg.h=<target> Load imm 16 to upper half*/ + RELOC_NUMBER (R_pcrel12_jump_s, 0x08) /* # 0x8 jump.s <target> */ + RELOC_NUMBER (R_pcrel24_jump_x, 0x09) /* # 0x9 jump.x <target> */ + RELOC_NUMBER (R_pcrel24, 0x0a) /* # 0xa call <target> , 0x00) not expandable*/ + RELOC_NUMBER (R_unusedb, 0x0b) /* # 0xb not generated */ + RELOC_NUMBER (R_unusedc, 0x0c) /* # 0xc not used */ + RELOC_NUMBER (R_pcrel24_jump_l, 0x0d) /*0xd jump.l <target>*/ + RELOC_NUMBER (R_pcrel24_call_x, 0x0e) /* 0xE, 0x00) call.x <target> if <target> is above 24 bit limit call through P1 */ + RELOC_NUMBER (R_var_eq_symb, 0x0f) /* 0xf, 0x00) linker should treat it same as 0x12 */ + RELOC_NUMBER (R_byte_data, 0x10) /* 0x10, 0x00) .byte var = symbol */ + RELOC_NUMBER (R_byte2_data, 0x11) /* 0x11, 0x00) .byte2 var = symbol */ + RELOC_NUMBER (R_byte4_data, 0x12) /* 0x12, 0x00) .byte4 var = symbol and .var var=symbol */ + RELOC_NUMBER (R_pcrel11, 0x13) /* 0x13, 0x00) lsetup part b */ + RELOC_NUMBER (R_BFIN_GOT17M4, 0x14) + RELOC_NUMBER (R_BFIN_GOTHI, 0x15) + RELOC_NUMBER (R_BFIN_GOTLO, 0x16) + RELOC_NUMBER (R_BFIN_FUNCDESC, 0x17) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOT17M4, 0x18) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTHI, 0x19) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTLO, 0x1a) + RELOC_NUMBER (R_BFIN_FUNCDESC_VALUE, 0x1b) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFF17M4, 0x1c) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFHI, 0x1d) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFLO, 0x1e) + RELOC_NUMBER (R_BFIN_GOTOFF17M4, 0x1f) + RELOC_NUMBER (R_BFIN_GOTOFFHI, 0x20) + RELOC_NUMBER (R_BFIN_GOTOFFLO, 0x21) + + RELOC_NUMBER (R_push, 0xE0) + RELOC_NUMBER (R_const, 0xE1) + RELOC_NUMBER (R_add, 0xE2) + RELOC_NUMBER (R_sub, 0xE3) + RELOC_NUMBER (R_mult, 0xE4) + RELOC_NUMBER (R_div, 0xE5) + RELOC_NUMBER (R_mod, 0xE6) + RELOC_NUMBER (R_lshift, 0xE7) + RELOC_NUMBER (R_rshift, 0xE8) + RELOC_NUMBER (R_and, 0xE9) + RELOC_NUMBER (R_or, 0xEA) + RELOC_NUMBER (R_xor, 0xEB) + RELOC_NUMBER (R_land, 0xEC) + RELOC_NUMBER (R_lor, 0xED) + RELOC_NUMBER (R_len, 0xEE) + RELOC_NUMBER (R_neg, 0xEF) + RELOC_NUMBER (R_comp, 0xF0) + RELOC_NUMBER (R_page, 0xF1) + RELOC_NUMBER (R_hwpage, 0xF2) + RELOC_NUMBER (R_addr, 0xF3) + RELOC_NUMBER (R_pltpc, 0x40) /* PLT gnu only relocation */ + RELOC_NUMBER (R_got, 0x41) /* GOT gnu only relocation */ + RELOC_NUMBER (R_BFIN_GNU_VTINHERIT, 0x42) /* C++, gnu only */ + RELOC_NUMBER (R_BFIN_GNU_VTENTRY, 0x43) /* C++, gnu only */ +END_RELOC_NUMBERS (R_max) + +/* Processor specific flags for the ELF header e_flags field. */ +#define EF_BFIN_PIC 0x00000001 /* -fpic */ +#define EF_BFIN_FDPIC 0x00000002 /* -mfdpic */ + +#define EF_BFIN_PIC_FLAGS (EF_BFIN_PIC | EF_BFIN_FDPIC) +#endif /* _ELF_BFIN_H */ diff --git a/contrib/binutils/include/elf/common.h b/contrib/binutils/include/elf/common.h index bf233f6..b11171b 100644 --- a/contrib/binutils/include/elf/common.h +++ b/contrib/binutils/include/elf/common.h @@ -1,6 +1,6 @@ /* ELF support for BFD. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003 + 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published @@ -21,7 +21,7 @@ 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. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file is part of ELF support for BFD, and contains the portions @@ -180,7 +180,11 @@ #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ #define EM_IP2K 101 /* Ubicom IP2022 micro controller */ +#define EM_CR 103 /* National Semiconductor CompactRISC */ #define EM_MSP430 105 /* TI msp430 micro controller */ +#define EM_BLACKFIN 106 /* ADI Blackfin */ +#define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */ +#define EM_CRX 114 /* National Semiconductor CRX */ /* If it is necessary to assign new unofficial EM_* values, please pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision @@ -194,76 +198,85 @@ unofficial e_machine number should eventually ask registry@caldera.com for an officially blessed number to be added to the list above. */ -#define EM_PJ_OLD 99 /* picoJava */ +/* Old version of Sparc v9, from before the ABI; + This should be removed shortly. */ +#define EM_OLD_SPARCV9 11 -/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ -#define EM_CYGNUS_POWERPC 0x9025 +/* Old version of PowerPC, this should be removed shortly. */ +#define EM_PPC_OLD 17 -/* Old version of Sparc v9, from before the ABI; this should be - removed shortly. */ -#define EM_OLD_SPARCV9 11 +/* picoJava */ +#define EM_PJ_OLD 99 -/* Old version of PowerPC, this should be removed shortly. */ -#define EM_PPC_OLD 17 +/* AVR magic number. Written in the absense of an ABI. */ +#define EM_AVR_OLD 0x1057 -/* (Deprecated) Temporary number for the OpenRISC processor. */ -#define EM_OR32 0x8472 +/* MSP430 magic number. Written in the absense of everything. */ +#define EM_MSP430_OLD 0x1059 -/* Cygnus M32R ELF backend. Written in the absence of an ABI. */ -#define EM_CYGNUS_M32R 0x9041 +/* Morpho MT. Written in the absense of an ABI. */ +#define EM_MT 0x2530 -/* Alpha backend magic number. Written in the absence of an ABI. */ -#define EM_ALPHA 0x9026 +/* FR30 magic number - no EABI available. */ +#define EM_CYGNUS_FR30 0x3330 -/* old S/390 backend magic number. Written in the absence of an ABI. */ -#define EM_S390_OLD 0xa390 +/* OpenRISC magic number. Written in the absense of an ABI. */ +#define EM_OPENRISC_OLD 0x3426 + +/* DLX magic number. Written in the absense of an ABI. */ +#define EM_DLX 0x5aa5 + +/* FRV magic number - no EABI available??. */ +#define EM_CYGNUS_FRV 0x5441 + +/* Infineon Technologies 16-bit microcontroller with C166-V2 core. */ +#define EM_XC16X 0x4688 /* D10V backend magic number. Written in the absence of an ABI. */ -#define EM_CYGNUS_D10V 0x7650 +#define EM_CYGNUS_D10V 0x7650 /* D30V backend magic number. Written in the absence of an ABI. */ -#define EM_CYGNUS_D30V 0x7676 +#define EM_CYGNUS_D30V 0x7676 -/* V850 backend magic number. Written in the absense of an ABI. */ -#define EM_CYGNUS_V850 0x9080 +/* Ubicom IP2xxx; Written in the absense of an ABI. */ +#define EM_IP2K_OLD 0x8217 -/* mn10200 and mn10300 backend magic numbers. - Written in the absense of an ABI. */ -#define EM_CYGNUS_MN10200 0xdead -#define EM_CYGNUS_MN10300 0xbeef +/* (Deprecated) Temporary number for the OpenRISC processor. */ +#define EM_OR32 0x8472 -/* FR30 magic number - no EABI available. */ -#define EM_CYGNUS_FR30 0x3330 +/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ +#define EM_CYGNUS_POWERPC 0x9025 -/* AVR magic number - Written in the absense of an ABI. */ -#define EM_AVR_OLD 0x1057 +/* Alpha backend magic number. Written in the absence of an ABI. */ +#define EM_ALPHA 0x9026 -/* OpenRISC magic number - Written in the absense of an ABI. */ -#define EM_OPENRISC_OLD 0x3426 +/* Cygnus M32R ELF backend. Written in the absence of an ABI. */ +#define EM_CYGNUS_M32R 0x9041 -/* DLX magic number - Written in the absense of an ABI. */ -#define EM_DLX 0x5aa5 +/* V850 backend magic number. Written in the absense of an ABI. */ +#define EM_CYGNUS_V850 0x9080 -#define EM_XSTORMY16 0xad45 +/* old S/390 backend magic number. Written in the absence of an ABI. */ +#define EM_S390_OLD 0xa390 -/* FRV magic number - no EABI available??. */ -#define EM_CYGNUS_FRV 0x5441 +/* Old, unofficial value for Xtensa. */ +#define EM_XTENSA_OLD 0xabc7 -/* Ubicom IP2xxx; no ABI */ -#define EM_IP2K_OLD 0x8217 +#define EM_XSTORMY16 0xad45 -/* MSP430 magic number - Written in the absense everything. */ -#define EM_MSP430_OLD 0x1059 +/* mn10200 and mn10300 backend magic numbers. + Written in the absense of an ABI. */ +#define EM_CYGNUS_MN10300 0xbeef +#define EM_CYGNUS_MN10200 0xdead + +/* Renesas M32C and M16C. */ +#define EM_M32C 0xFEB0 /* Vitesse IQ2000. */ #define EM_IQ2000 0xFEBA -/* Old, unofficial value for Xtensa. */ -#define EM_XTENSA_OLD 0xabc7 +/* NIOS magic number - no EABI available. */ +#define EM_NIOS32 0xFEBB /* See the above comment before you add a new EM_* value here. */ @@ -287,8 +300,10 @@ #define PT_LOPROC 0x70000000 /* Processor-specific */ #define PT_HIPROC 0x7FFFFFFF /* Processor-specific */ -#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550) -#define PT_GNU_STACK (PT_LOOS + 0x474e551) +#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550) /* Frame unwind information */ +#define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */ +#define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */ +#define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */ /* Program segment permissions, in program header p_flags field. */ @@ -493,7 +508,7 @@ #define ELF64_R_SYM(i) ((i) >> 32) #define ELF64_R_TYPE(i) ((i) & 0xffffffff) -#define ELF64_R_INFO(s,t) (((bfd_vma) (s) << 32) + (bfd_vma) (t)) +#define ELF64_R_INFO(s,t) (((bfd_vma) (s) << 31 << 1) + (bfd_vma) (t)) /* Dynamic section tags. */ @@ -562,6 +577,8 @@ #define DT_VALRNGHI 0x6ffffdff #define DT_ADDRRNGLO 0x6ffffe00 +#define DT_TLSDESC_PLT 0x6ffffef6 +#define DT_TLSDESC_GOT 0x6ffffef7 #define DT_GNU_CONFLICT 0x6ffffef8 #define DT_GNU_LIBLIST 0x6ffffef9 #define DT_CONFIG 0x6ffffefa diff --git a/contrib/binutils/include/elf/cris.h b/contrib/binutils/include/elf/cris.h index 3bd03e8..8225baa 100644 --- a/contrib/binutils/include/elf/cris.h +++ b/contrib/binutils/include/elf/cris.h @@ -1,5 +1,5 @@ /* CRIS ELF support for BFD. - Copyright 2000, 2001 Free Software Foundation, Inc. + Copyright 2000, 2001, 2004 Free Software Foundation, Inc. Contributed by Axis Communications AB, Lund, Sweden. Written by Hans-Peter Nilsson. @@ -17,7 +17,7 @@ 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. */ +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_CRIS_H #define _ELF_CRIS_H @@ -98,4 +98,16 @@ END_RELOC_NUMBERS (R_CRIS_max) /* User symbols in this file have a leading underscore. */ #define EF_CRIS_UNDERSCORE 0x00000001 +/* This is a mask for different incompatible machine variants. */ +#define EF_CRIS_VARIANT_MASK 0x0000000e + +/* Variant 0; may contain v0..10 object. */ +#define EF_CRIS_VARIANT_ANY_V0_V10 0x00000000 + +/* Variant 1; contains v32 object. */ +#define EF_CRIS_VARIANT_V32 0x00000002 + +/* Variant 2; contains object compatible with v32 and v10. */ +#define EF_CRIS_VARIANT_COMMON_V10_V32 0x00000004 + #endif /* _ELF_CRIS_H */ diff --git a/contrib/binutils/include/elf/crx.h b/contrib/binutils/include/elf/crx.h new file mode 100644 index 0000000..4893d48d --- /dev/null +++ b/contrib/binutils/include/elf/crx.h @@ -0,0 +1,53 @@ +/* CRX ELF support for BFD. + Copyright 2004 Free Software Foundation, Inc. + Contributed by Tomer Levi, NSC, Israel. + Originally written for GAS 2.12 by Tomer Levi, NSC, Israel. + Updates, BFDizing, GNUifying and ELF support by Tomer Levi. + + 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _ELF_CRX_H +#define _ELF_CRX_H + +#include "elf/reloc-macros.h" + +/* Creating indices for reloc_map_index array. */ +START_RELOC_NUMBERS(elf_crx_reloc_type) + RELOC_NUMBER (R_CRX_NONE, 0) + RELOC_NUMBER (R_CRX_REL4, 1) + RELOC_NUMBER (R_CRX_REL8, 2) + RELOC_NUMBER (R_CRX_REL8_CMP, 3) + RELOC_NUMBER (R_CRX_REL16, 4) + RELOC_NUMBER (R_CRX_REL24, 5) + RELOC_NUMBER (R_CRX_REL32, 6) + RELOC_NUMBER (R_CRX_REGREL12, 7) + RELOC_NUMBER (R_CRX_REGREL22, 8) + RELOC_NUMBER (R_CRX_REGREL28, 9) + RELOC_NUMBER (R_CRX_REGREL32, 10) + RELOC_NUMBER (R_CRX_ABS16, 11) + RELOC_NUMBER (R_CRX_ABS32, 12) + RELOC_NUMBER (R_CRX_NUM8, 13) + RELOC_NUMBER (R_CRX_NUM16, 14) + RELOC_NUMBER (R_CRX_NUM32, 15) + RELOC_NUMBER (R_CRX_IMM16, 16) + RELOC_NUMBER (R_CRX_IMM32, 17) + RELOC_NUMBER (R_CRX_SWITCH8, 18) + RELOC_NUMBER (R_CRX_SWITCH16, 19) + RELOC_NUMBER (R_CRX_SWITCH32, 20) +END_RELOC_NUMBERS(R_CRX_MAX) + +#endif /* _ELF_CRX_H */ diff --git a/contrib/binutils/include/elf/d10v.h b/contrib/binutils/include/elf/d10v.h index 5bc613b..bc32d8e 100644 --- a/contrib/binutils/include/elf/d10v.h +++ b/contrib/binutils/include/elf/d10v.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_D10V_H #define _ELF_D10V_H diff --git a/contrib/binutils/include/elf/d30v.h b/contrib/binutils/include/elf/d30v.h index 5abb06a..8483a78 100644 --- a/contrib/binutils/include/elf/d30v.h +++ b/contrib/binutils/include/elf/d30v.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_D30V_H #define _ELF_D30V_H diff --git a/contrib/binutils/include/elf/dlx.h b/contrib/binutils/include/elf/dlx.h index 562f600..eea5b80 100644 --- a/contrib/binutils/include/elf/dlx.h +++ b/contrib/binutils/include/elf/dlx.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_DLX_H #define _ELF_DLX_H diff --git a/contrib/binutils/include/elf/dwarf.h b/contrib/binutils/include/elf/dwarf.h index f793972..6f1bca3 100644 --- a/contrib/binutils/include/elf/dwarf.h +++ b/contrib/binutils/include/elf/dwarf.h @@ -1,25 +1,26 @@ /* Declarations and definitions of codes relating to the DWARF symbolic debugging information format. - Written by Ron Guilmette (rfg@ncd.com) + Written by Ron Guilmette (rfg@netcom.com) -Copyright 1992, 1993, 1995, 1999 Free Software Foundation, Inc. +Copyright 1992, 1993, 1995, 1999, 2005 Free Software Foundation, Inc. -This file is part of GNU CC. +This file is part of GCC. -GNU CC 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, or (at your option) -any later version. +GCC 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, or (at your option) any later +version. -GNU CC 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. +GCC 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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +along with GCC; see the file COPYING. If not, write to the Free +Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA +02110-1301, USA. */ /* This file is derived from the DWARF specification (a public document) Revision 1.0.1 (April 8, 1992) developed by the UNIX International @@ -170,8 +171,8 @@ enum dwarf_attribute { AT_body_end = (0x8050|FORM_ADDR) }; -#define AT_lo_user 0x8000 /* implementation-defined range start */ -#define AT_hi_user 0xffff /* implementation-defined range end */ +#define AT_lo_user 0x2000 /* implementation-defined range start */ +#define AT_hi_user 0x3ff0 /* implementation-defined range end */ /* Location atom names and codes. */ @@ -182,7 +183,11 @@ enum dwarf_location_atom { OP_CONST = 0x04, OP_DEREF2 = 0x05, OP_DEREF4 = 0x06, - OP_ADD = 0x07 + OP_ADD = 0x07, + + /* GNU extensions. */ + + OP_MULT = 0x80 }; #define OP_LO_USER 0x80 /* implementation-defined range start */ @@ -217,7 +222,7 @@ enum dwarf_fundamental_type { /* GNU extensions The low order byte must indicate the size (in bytes) for the type. - All of these types will probably break "classic" svr4 SDB */ + All of these types will probably break "classic" svr4 SDB. */ FT_long_long = 0x8008, FT_signed_long_long = 0x8108, @@ -235,6 +240,9 @@ enum dwarf_fundamental_type { FT_int64 = 0x9908, FT_signed_int64 = 0x9a08, FT_unsigned_int64 = 0x9b08, + FT_int128 = 0x9c10, + FT_signed_int128 = 0x9d10, + FT_unsigned_int128 = 0x9e10, FT_real32 = 0xa004, FT_real64 = 0xa108, @@ -280,10 +288,10 @@ enum dwarf_subscr_data_formats { /* Derived from above for ease of use. */ -#define FMT_CODE(_FUNDAMENTAL_TYPE_P, _UB_CONST_P, _LB_CONST_P) \ +#define FMT_CODE(_FUNDAMENTAL_TYPE_P, _LB_CONST_P, _UB_CONST_P) \ (((_FUNDAMENTAL_TYPE_P) ? 0 : 4) \ - | ((_UB_CONST_P) ? 0 : 2) \ - | ((_LB_CONST_P) ? 0 : 1)) + | ((_LB_CONST_P) ? 0 : 2) \ + | ((_UB_CONST_P) ? 0 : 1)) /* Source language names and codes. */ @@ -298,11 +306,7 @@ enum dwarf_source_language { LANG_FORTRAN90 = 0x00000008, LANG_PASCAL83 = 0x00000009, LANG_MODULA2 = 0x0000000a, - - /* GNU extensions */ - - LANG_CHILL = 0x00009af3, /* random value for GNU Chill */ - LANG_JAVA = 0x00009af4 /* random value + 1 for GNU Java */ + LANG_JAVA = 0x0000000b }; #define LANG_lo_user 0x00008000 /* implementation-defined range start */ diff --git a/contrib/binutils/include/elf/dwarf2.h b/contrib/binutils/include/elf/dwarf2.h index bede7e2..264952a 100644 --- a/contrib/binutils/include/elf/dwarf2.h +++ b/contrib/binutils/include/elf/dwarf2.h @@ -1,10 +1,10 @@ -/* Declarations and definitions of codes relating to the DWARF2 symbolic - debugging information format. +/* Declarations and definitions of codes relating to the DWARF2 and + DWARF3 symbolic debugging information formats. Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002, - 2003 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Written by Gary Funck (gary@intrepid.com) The Ada Joint Program - Office (AJPO), Florida State Unviversity and Silicon Graphics Inc. + Office (AJPO), Florida State University and Silicon Graphics Inc. provided support for this effort -- June 21, 1995. Derived from the DWARF 1 implementation written by Ron Guilmette @@ -24,8 +24,8 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free - Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ /* This file is derived from the DWARF specification (a public document) Revision 2.0.0 (July 27, 1993) developed by the UNIX International @@ -187,6 +187,8 @@ enum dwarf_tag DW_TAG_unspecified_type = 0x3b, DW_TAG_partial_unit = 0x3c, DW_TAG_imported_unit = 0x3d, + DW_TAG_condition = 0x3f, + DW_TAG_shared_type = 0x40, /* SGI/MIPS Extensions. */ DW_TAG_MIPS_loop = 0x4081, /* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */ @@ -317,6 +319,21 @@ enum dwarf_attribute DW_AT_call_column = 0x57, DW_AT_call_file = 0x58, DW_AT_call_line = 0x59, + DW_AT_description = 0x5a, + DW_AT_binary_scale = 0x5b, + DW_AT_decimal_scale = 0x5c, + DW_AT_small = 0x5d, + DW_AT_decimal_sign = 0x5e, + DW_AT_digit_count = 0x5f, + DW_AT_picture_string = 0x60, + DW_AT_mutable = 0x61, + DW_AT_threads_scaled = 0x62, + DW_AT_explicit = 0x63, + DW_AT_object_pointer = 0x64, + DW_AT_endianity = 0x65, + DW_AT_elemental = 0x66, + DW_AT_pure = 0x67, + DW_AT_recursive = 0x68, /* SGI/MIPS extensions. */ DW_AT_MIPS_fde = 0x2001, DW_AT_MIPS_loop_begin = 0x2002, @@ -518,6 +535,9 @@ enum dwarf_location_atom DW_OP_call2 = 0x98, DW_OP_call4 = 0x99, DW_OP_call_ref = 0x9a, + DW_OP_form_tls_address = 0x9b, + DW_OP_call_frame_cfa = 0x9c, + DW_OP_bit_piece = 0x9d, /* GNU extensions. */ DW_OP_GNU_push_tls_address = 0xe0, /* HP extensions. */ @@ -547,6 +567,12 @@ enum dwarf_type DW_ATE_unsigned_char = 0x8, /* DWARF 3. */ DW_ATE_imaginary_float = 0x9, + DW_ATE_packed_decimal = 0xa, + DW_ATE_numeric_string = 0xb, + DW_ATE_edited = 0xc, + DW_ATE_signed_fixed = 0xd, + DW_ATE_unsigned_fixed = 0xe, + DW_ATE_decimal_float = 0xf, /* HP extensions. */ DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */ DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */ @@ -560,6 +586,29 @@ enum dwarf_type #define DW_ATE_lo_user 0x80 #define DW_ATE_hi_user 0xff +/* Decimal sign encodings. */ +enum dwarf_decimal_sign_encoding + { + /* DWARF 3. */ + DW_DS_unsigned = 0x01, + DW_DS_leading_overpunch = 0x02, + DW_DS_trailing_overpunch = 0x03, + DW_DS_leading_separate = 0x04, + DW_DS_trailing_separate = 0x05 + }; + +/* Endianity encodings. */ +enum dwarf_endianity_encoding + { + /* DWARF 3. */ + DW_END_default = 0x00, + DW_END_big = 0x01, + DW_END_little = 0x02 + }; + +#define DW_END_lo_user 0x40 +#define DW_END_hi_user 0xff + /* Array ordering names and codes. */ enum dwarf_array_dim_ordering { @@ -605,7 +654,8 @@ enum dwarf_calling_convention { DW_CC_normal = 0x1, DW_CC_program = 0x2, - DW_CC_nocall = 0x3 + DW_CC_nocall = 0x3, + DW_CC_GNU_renesas_sh = 0x40 }; #define DW_CC_lo_user 0x40 @@ -665,6 +715,9 @@ enum dwarf_line_number_x_ops DW_LNE_HP_define_proc = 0x20 }; +#define DW_LNE_lo_user 0x80 +#define DW_LNE_hi_user 0xff + /* Call frame information. */ enum dwarf_call_frame_info { @@ -692,6 +745,9 @@ enum dwarf_call_frame_info DW_CFA_offset_extended_sf = 0x11, DW_CFA_def_cfa_sf = 0x12, DW_CFA_def_cfa_offset_sf = 0x13, + DW_CFA_val_offset = 0x14, + DW_CFA_val_offset_sf = 0x15, + DW_CFA_val_expression = 0x16, /* SGI/MIPS specific. */ DW_CFA_MIPS_advance_loc8 = 0x1d, /* GNU extensions. */ @@ -725,11 +781,16 @@ enum dwarf_source_language DW_LANG_Fortran90 = 0x0008, DW_LANG_Pascal83 = 0x0009, DW_LANG_Modula2 = 0x000a, - DW_LANG_Java = 0x000b, /* DWARF 3. */ + DW_LANG_Java = 0x000b, DW_LANG_C99 = 0x000c, DW_LANG_Ada95 = 0x000d, DW_LANG_Fortran95 = 0x000e, + DW_LANG_PLI = 0x000f, + DW_LANG_ObjC = 0x0010, + DW_LANG_ObjC_plus_plus = 0x0011, + DW_LANG_UPC = 0x0012, + DW_LANG_D = 0x0013, /* MIPS. */ DW_LANG_Mips_Assembler = 0x8001, /* UPC. */ diff --git a/contrib/binutils/include/elf/external.h b/contrib/binutils/include/elf/external.h index a171439..5985e94 100644 --- a/contrib/binutils/include/elf/external.h +++ b/contrib/binutils/include/elf/external.h @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001 + Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001, 2003, 2005 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published @@ -20,7 +20,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file is part of ELF support for BFD, and contains the portions @@ -272,5 +272,8 @@ typedef struct unsigned char a_val[8]; } Elf64_External_Auxv; +/* Size of SHT_GROUP section entry. */ + +#define GRP_ENTRY_SIZE 4 #endif /* _ELF_EXTERNAL_H */ diff --git a/contrib/binutils/include/elf/fr30.h b/contrib/binutils/include/elf/fr30.h index 12a450d..eb2b937 100644 --- a/contrib/binutils/include/elf/fr30.h +++ b/contrib/binutils/include/elf/fr30.h @@ -15,7 +15,7 @@ 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. */ +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_FR30_H #define _ELF_FR30_H diff --git a/contrib/binutils/include/elf/frv.h b/contrib/binutils/include/elf/frv.h index 8246a21..f2b1097 100644 --- a/contrib/binutils/include/elf/frv.h +++ b/contrib/binutils/include/elf/frv.h @@ -1,5 +1,5 @@ /* FRV ELF support for BFD. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +15,7 @@ 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. */ +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_FRV_H #define _ELF_FRV_H @@ -49,6 +49,22 @@ START_RELOC_NUMBERS (elf_frv_reloc_type) RELOC_NUMBER (R_FRV_GOTOFF12, 22) RELOC_NUMBER (R_FRV_GOTOFFHI, 23) RELOC_NUMBER (R_FRV_GOTOFFLO, 24) + RELOC_NUMBER (R_FRV_GETTLSOFF, 25) + RELOC_NUMBER (R_FRV_TLSDESC_VALUE, 26) + RELOC_NUMBER (R_FRV_GOTTLSDESC12, 27) + RELOC_NUMBER (R_FRV_GOTTLSDESCHI, 28) + RELOC_NUMBER (R_FRV_GOTTLSDESCLO, 29) + RELOC_NUMBER (R_FRV_TLSMOFF12, 30) + RELOC_NUMBER (R_FRV_TLSMOFFHI, 31) + RELOC_NUMBER (R_FRV_TLSMOFFLO, 32) + RELOC_NUMBER (R_FRV_GOTTLSOFF12, 33) + RELOC_NUMBER (R_FRV_GOTTLSOFFHI, 34) + RELOC_NUMBER (R_FRV_GOTTLSOFFLO, 35) + RELOC_NUMBER (R_FRV_TLSOFF, 36) + RELOC_NUMBER (R_FRV_TLSDESC_RELAX, 37) + RELOC_NUMBER (R_FRV_GETTLSOFF_RELAX, 38) + RELOC_NUMBER (R_FRV_TLSOFF_RELAX, 39) + RELOC_NUMBER (R_FRV_TLSMOFF, 40) RELOC_NUMBER (R_FRV_GNU_VTINHERIT, 200) RELOC_NUMBER (R_FRV_GNU_VTENTRY, 201) END_RELOC_NUMBERS(R_FRV_max) @@ -91,6 +107,8 @@ END_RELOC_NUMBERS(R_FRV_max) #define EF_FRV_CPU_TOMCAT 0x04000000 /* Tomcat, FR500 prototype */ #define EF_FRV_CPU_FR400 0x05000000 /* FRV400 */ #define EF_FRV_CPU_FR550 0x06000000 /* FRV550 */ +#define EF_FRV_CPU_FR405 0x07000000 +#define EF_FRV_CPU_FR450 0x08000000 /* Mask of PIC related bits */ #define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC \ diff --git a/contrib/binutils/include/elf/h8.h b/contrib/binutils/include/elf/h8.h index 1aad7a4..1a115ad 100644 --- a/contrib/binutils/include/elf/h8.h +++ b/contrib/binutils/include/elf/h8.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_H8_H #define _ELF_H8_H diff --git a/contrib/binutils/include/elf/hppa.h b/contrib/binutils/include/elf/hppa.h index 45e0b9f..15be2d5 100644 --- a/contrib/binutils/include/elf/hppa.h +++ b/contrib/binutils/include/elf/hppa.h @@ -1,5 +1,5 @@ /* HPPA ELF support for BFD. - Copyright 1993, 1994, 1995, 1998, 1999, 2000 + Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2005 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -16,7 +16,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the HPPA ELF ABI. Note that most of this is not actually implemented by BFD. */ @@ -74,6 +74,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Section contains code annotations. */ #define SHT_PARISC_ANNOT 0x70000003 +/* DLKM special section. */ +#define SHT_PARISC_DLKM 0x70000004 + /* These are strictly for compatibility with the older elf32-hppa implementation. Hopefully we can eliminate them in the future. */ /* Optional section holding argument location/relocation info. */ @@ -93,6 +96,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Section should go near GP. */ #define SHF_PARISC_SHORT 0x20000000 +/* Section is weak ordered. */ +#define SHF_PARISC_WEAKORDER 0x10000000 /* Identifies the entry point of a millicode routine. */ #define STT_PARISC_MILLI 13 @@ -304,12 +309,6 @@ RELOC_NUMBER (R_PARISC_PCREL16DF, 79) RELOC_NUMBER (R_PARISC_DIR64, 80) /* 64-bit doubleword symbol + addend */ -RELOC_NUMBER (R_PARISC_DIR64WR, 81) -/* 64-bit doubleword RR(symbol, addend) */ - -RELOC_NUMBER (R_PARISC_DIR64DR, 82) -/* 64-bit doubleword RR(symbol, addend) */ - RELOC_NUMBER (R_PARISC_DIR14WR, 83) /* load/store mod. comp. (2) RR(symbol, addend) */ @@ -489,13 +488,43 @@ typedef enum elf_hppa_reloc_type elf_hppa_reloc_type; #define PT_PARISC_ARCHEXT 0x70000000 #define PT_PARISC_UNWIND 0x70000001 -#define PF_PARISC_SBP 0x08000000 +#define PT_PARISC_WEAKORDER 0x70000002 + +/* Flag bits in sh_flags of ElfXX_Shdr. */ +#define SHF_HP_TLS 0x01000000 +#define SHF_HP_NEAR_SHARED 0x02000000 +#define SHF_HP_FAR_SHARED 0x04000000 +#define SHF_HP_COMDAT 0x08000000 +#define SHF_HP_CONST 0x00800000 + +/* Reserved section header indices. */ +#define SHN_TLS_COMMON (SHN_LOOS + 0x0) +#define SHN_NS_COMMON (SHN_LOOS + 0x1) +#define SHN_FS_COMMON (SHN_LOOS + 0x2) +#define SHN_NS_UNDEF (SHN_LOOS + 0x3) +#define SHN_FS_UNDEF (SHN_LOOS + 0x4) +#define SHN_HP_EXTERN (SHN_LOOS + 0x5) +#define SHN_HP_EXTHINT (SHN_LOOS + 0x6) +#define SHN_HP_UNDEF_BIND_IMM (SHN_LOOS + 0x7) + +/* Values of sh_type in ElfXX_Shdr. */ +#define SHT_HP_OVLBITS (SHT_LOOS + 0x0) +#define SHT_HP_DLKM (SHT_LOOS + 0x1) +#define SHT_HP_COMDAT (SHT_LOOS + 0x2) +#define SHT_HP_OBJDICT (SHT_LOOS + 0x3) +#define SHT_HP_ANNOT (SHT_LOOS + 0x4) + +/* Flag bits in p_flags of ElfXX_Phdr. */ +#define PF_HP_CODE 0x00040000 +#define PF_HP_MODIFY 0x00080000 #define PF_HP_PAGE_SIZE 0x00100000 #define PF_HP_FAR_SHARED 0x00200000 #define PF_HP_NEAR_SHARED 0x00400000 -#define PF_HP_CODE 0x01000000 -#define PF_HP_MODIFY 0x02000000 -#define PF_HP_LAZYSWAP 0x04000000 +#define PF_HP_LAZYSWAP 0x00800000 +#define PF_HP_CODE_DEPR 0x01000000 +#define PF_HP_MODIFY_DEPR 0x02000000 +#define PF_HP_LAZYSWAP_DEPR 0x04000000 +#define PF_PARISC_SBP 0x08000000 #define PF_HP_SBP 0x08000000 @@ -517,19 +546,36 @@ typedef enum elf_hppa_reloc_type elf_hppa_reloc_type; #define DT_HP_GST_SIZE (OLD_DT_LOOS + 0xa) #define DT_HP_GST_VERSION (OLD_DT_LOOS + 0xb) #define DT_HP_GST_HASHVAL (OLD_DT_LOOS + 0xc) +#define DT_HP_EPLTREL (OLD_DT_LOOS + 0xd) +#define DT_HP_EPLTRELSZ (OLD_DT_LOOS + 0xe) +#define DT_HP_FILTERED (OLD_DT_LOOS + 0xf) +#define DT_HP_FILTER_TLS (OLD_DT_LOOS + 0x10) +#define DT_HP_COMPAT_FILTERED (OLD_DT_LOOS + 0x11) +#define DT_HP_LAZYLOAD (OLD_DT_LOOS + 0x12) +#define DT_HP_BIND_NOW_COUNT (OLD_DT_LOOS + 0x13) +#define DT_PLT (OLD_DT_LOOS + 0x14) +#define DT_PLT_SIZE (OLD_DT_LOOS + 0x15) +#define DT_DLT (OLD_DT_LOOS + 0x16) +#define DT_DLT_SIZE (OLD_DT_LOOS + 0x17) /* Values for DT_HP_DLD_FLAGS. */ -#define DT_HP_DEBUG_PRIVATE 0x0001 /* Map text private */ -#define DT_HP_DEBUG_CALLBACK 0x0002 /* Callback */ -#define DT_HP_DEBUG_CALLBACK_BOR 0x0004 /* BOR callback */ -#define DT_HP_NO_ENVVAR 0x0008 /* No env var */ -#define DT_HP_BIND_NOW 0x0010 /* Bind now */ -#define DT_HP_BIND_NONFATAL 0x0020 /* Bind non-fatal */ -#define DT_HP_BIND_VERBOSE 0x0040 /* Bind verbose */ -#define DT_HP_BIND_RESTRICTED 0x0080 /* Bind restricted */ -#define DT_HP_BIND_SYMBOLIC 0x0100 /* Bind symbolic */ -#define DT_HP_RPATH_FIRST 0x0200 /* RPATH first */ -#define DT_HP_BIND_DEPTH_FIRST 0x0400 /* Bind depth-first */ +#define DT_HP_DEBUG_PRIVATE 0x00001 /* Map text private */ +#define DT_HP_DEBUG_CALLBACK 0x00002 /* Callback */ +#define DT_HP_DEBUG_CALLBACK_BOR 0x00004 /* BOR callback */ +#define DT_HP_NO_ENVVAR 0x00008 /* No env var */ +#define DT_HP_BIND_NOW 0x00010 /* Bind now */ +#define DT_HP_BIND_NONFATAL 0x00020 /* Bind non-fatal */ +#define DT_HP_BIND_VERBOSE 0x00040 /* Bind verbose */ +#define DT_HP_BIND_RESTRICTED 0x00080 /* Bind restricted */ +#define DT_HP_BIND_SYMBOLIC 0x00100 /* Bind symbolic */ +#define DT_HP_RPATH_FIRST 0x00200 /* RPATH first */ +#define DT_HP_BIND_DEPTH_FIRST 0x00400 /* Bind depth-first */ +#define DT_HP_GST 0x00800 /* Dld global sym table */ +#define DT_HP_SHLIB_FIXED 0x01000 /* shared vtable support */ +#define DT_HP_MERGE_SHLIB_SEG 0x02000 /* merge shlib data segs */ +#define DT_HP_NODELETE 0x04000 /* never unload */ +#define DT_HP_GROUP 0x08000 /* bind only within group */ +#define DT_HP_PROTECT_LINKAGE_TABLE 0x10000 /* protected linkage table */ /* Program header extensions. */ #define PT_HP_TLS (PT_LOOS + 0x0) @@ -544,9 +590,25 @@ typedef enum elf_hppa_reloc_type elf_hppa_reloc_type; #define PT_HP_CORE_MMF (PT_LOOS + 0x9) #define PT_HP_PARALLEL (PT_LOOS + 0x10) #define PT_HP_FASTBIND (PT_LOOS + 0x11) +#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12) +#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13) +#define PT_HP_STACK (PT_LOOS + 0x14) +#define PT_HP_CORE_UTSNAME (PT_LOOS + 0x15) + +/* Binding information. */ +#define STB_HP_ALIAS (STB_LOOS + 0x0) /* Additional symbol types. */ #define STT_HP_OPAQUE (STT_LOOS + 0x1) #define STT_HP_STUB (STT_LOOS + 0x2) +/* Note types. */ +#define NT_HP_COMPILER 1 +#define NT_HP_COPYRIGHT 2 +#define NT_HP_VERSION 3 +#define NT_HP_SRCFILE_INFO 4 +#define NT_HP_LINKER 5 +#define NT_HP_INSTRUMENTED 6 +#define NT_HP_UX_OPTIONS 7 + #endif /* _ELF_HPPA_H */ diff --git a/contrib/binutils/include/elf/i370.h b/contrib/binutils/include/elf/i370.h index fd5ec47..27bfdcc 100644 --- a/contrib/binutils/include/elf/i370.h +++ b/contrib/binutils/include/elf/i370.h @@ -15,7 +15,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the i370 ELF ABI. Note that most of this is not actually implemented by BFD. */ diff --git a/contrib/binutils/include/elf/i386.h b/contrib/binutils/include/elf/i386.h index 9594119..e167871 100644 --- a/contrib/binutils/include/elf/i386.h +++ b/contrib/binutils/include/elf/i386.h @@ -1,5 +1,6 @@ /* ix86 ELF support for BFD. - Copyright 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2002, 2004, 2005, 2006 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +16,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_I386_H #define _ELF_I386_H @@ -61,6 +62,13 @@ START_RELOC_NUMBERS (elf_i386_reloc_type) RELOC_NUMBER (R_386_TLS_DTPMOD32, 35) RELOC_NUMBER (R_386_TLS_DTPOFF32, 36) RELOC_NUMBER (R_386_TLS_TPOFF32, 37) +/* 38 */ + RELOC_NUMBER (R_386_TLS_GOTDESC, 39) + RELOC_NUMBER (R_386_TLS_DESC_CALL,40) + RELOC_NUMBER (R_386_TLS_DESC, 41) + + /* Used by Intel. */ + RELOC_NUMBER (R_386_USED_BY_INTEL_200, 200) /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_386_GNU_VTINHERIT, 250) diff --git a/contrib/binutils/include/elf/i860.h b/contrib/binutils/include/elf/i860.h index de34aeb..9e76dcd 100644 --- a/contrib/binutils/include/elf/i860.h +++ b/contrib/binutils/include/elf/i860.h @@ -17,7 +17,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_I860_H #define _ELF_I860_H diff --git a/contrib/binutils/include/elf/i960.h b/contrib/binutils/include/elf/i960.h index 253e438..b96aae9 100644 --- a/contrib/binutils/include/elf/i960.h +++ b/contrib/binutils/include/elf/i960.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_I960_H #define _ELF_I960_H diff --git a/contrib/binutils/include/elf/ia64.h b/contrib/binutils/include/elf/ia64.h index 06dfa60..c63edc3 100644 --- a/contrib/binutils/include/elf/ia64.h +++ b/contrib/binutils/include/elf/ia64.h @@ -1,5 +1,6 @@ /* IA-64 ELF support for BFD. - Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003 + Free Software Foundation, Inc. Contributed by David Mosberger-Tang <davidm@hpl.hp.com> This file is part of BFD, the Binary File Descriptor library. @@ -16,7 +17,7 @@ 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. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_IA64_H #define _ELF_IA64_H @@ -56,6 +57,8 @@ #define SHF_IA_64_SHORT 0x10000000 /* Section near gp. */ #define SHF_IA_64_NORECOV 0x20000000 /* Spec insns w/o recovery. */ +#define SHF_IA_64_HP_TLS 0x01000000 /* HP specific TLS flag. */ + /* Possible values for sh_type in Elf64_Shdr: */ #define SHT_IA_64_EXT (SHT_LOPROC + 0) /* Extension bits. */ diff --git a/contrib/binutils/include/elf/internal.h b/contrib/binutils/include/elf/internal.h index a7299d9..e4eba7d 100644 --- a/contrib/binutils/include/elf/internal.h +++ b/contrib/binutils/include/elf/internal.h @@ -1,6 +1,6 @@ /* ELF support for BFD. - Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002 - Free Software Foundation, Inc. + Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002, + 2003 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and @@ -20,7 +20,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file is part of ELF support for BFD, and contains the portions @@ -251,4 +251,29 @@ struct elf_segment_map asection *sections[1]; }; +/* Decide if the given sec_hdr is in the given segment in file. */ +#define ELF_IS_SECTION_IN_SEGMENT_FILE(sec_hdr, segment) \ + (sec_hdr->sh_size > 0 \ + /* PT_TLS segment contains only SHF_TLS sections. */ \ + && (segment->p_type != PT_TLS \ + || (sec_hdr->sh_flags & SHF_TLS) != 0) \ + /* Compare allocated sec_hdrs by VMA, unallocated sec_hdrs \ + by file offset. */ \ + && (sec_hdr->sh_flags & SHF_ALLOC \ + ? (sec_hdr->sh_addr >= segment->p_vaddr \ + && sec_hdr->sh_addr + sec_hdr->sh_size \ + <= segment->p_vaddr + segment->p_memsz) \ + : ((bfd_vma) sec_hdr->sh_offset >= segment->p_offset \ + && (sec_hdr->sh_offset + sec_hdr->sh_size \ + <= segment->p_offset + segment->p_filesz)))) + +/* Decide if the given sec_hdr is in the given segment in memory. */ +#define ELF_IS_SECTION_IN_SEGMENT_MEMORY(sec_hdr, segment) \ + (ELF_IS_SECTION_IN_SEGMENT_FILE (sec_hdr, segment) \ + /* .tbss is special. It doesn't contribute memory space to \ + normal segments. */ \ + && (!((sec_hdr->sh_flags & SHF_TLS) != 0 \ + && sec_hdr->sh_type == SHT_NOBITS) \ + || segment->p_type == PT_TLS)) + #endif /* _ELF_INTERNAL_H */ diff --git a/contrib/binutils/include/elf/ip2k.h b/contrib/binutils/include/elf/ip2k.h index c331b72..83fe1d4 100644 --- a/contrib/binutils/include/elf/ip2k.h +++ b/contrib/binutils/include/elf/ip2k.h @@ -15,7 +15,7 @@ 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. */ + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_IP2K_H #define _ELF_IP2K_H diff --git a/contrib/binutils/include/elf/iq2000.h b/contrib/binutils/include/elf/iq2000.h index 83c690c..012f253 100644 --- a/contrib/binutils/include/elf/iq2000.h +++ b/contrib/binutils/include/elf/iq2000.h @@ -1,5 +1,5 @@ /* IQ2000 ELF support for BFD. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +15,7 @@ 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. */ +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_IQ2000_H #define _ELF_IQ2000_H diff --git a/contrib/binutils/include/elf/m32c.h b/contrib/binutils/include/elf/m32c.h new file mode 100644 index 0000000..143773b --- /dev/null +++ b/contrib/binutils/include/elf/m32c.h @@ -0,0 +1,67 @@ +/* M32C ELF support for BFD. + Copyright (C) 2004 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_M32C_H +#define _ELF_M32C_H + +#include "elf/reloc-macros.h" + + /* Relocations. */ + START_RELOC_NUMBERS (elf_m32c_reloc_type) + RELOC_NUMBER (R_M32C_NONE, 0) + RELOC_NUMBER (R_M32C_16, 1) + RELOC_NUMBER (R_M32C_24, 2) + RELOC_NUMBER (R_M32C_32, 3) + RELOC_NUMBER (R_M32C_8_PCREL, 4) + RELOC_NUMBER (R_M32C_16_PCREL, 5) + + /* 8 bit unsigned address, used for dsp8[a0] etc */ + RELOC_NUMBER (R_M32C_8, 6) + /* Bits 0..15 of an address, for SMOVF's A0, A1A0, etc. */ + RELOC_NUMBER (R_M32C_LO16, 7) + /* Bits 16..23 of an address, for SMOVF's R1H etc. */ + RELOC_NUMBER (R_M32C_HI8, 8) + /* Bits 16..31 of an address, for LDE's A1A0 etc. */ + RELOC_NUMBER (R_M32C_HI16, 9) + + /* These are relocs we need when relaxing. */ + /* Marks various jump opcodes. */ + RELOC_NUMBER (R_M32C_RL_JUMP, 10) + /* Marks standard one-address form. */ + RELOC_NUMBER (R_M32C_RL_1ADDR, 11) + /* Marks standard two-address form. */ + RELOC_NUMBER (R_M32C_RL_2ADDR, 12) + + END_RELOC_NUMBERS (R_M32C_max) + +#define EF_M32C_CPU_M16C 0x00000075 /* default */ +#define EF_M32C_CPU_M32C 0x00000078 /* m32c */ +#define EF_M32C_CPU_MASK 0x0000007F /* specific cpu bits */ +#define EF_M32C_ALL_FLAGS (EF_M32C_CPU_MASK) + +/* Define the data & instruction memory discriminator. In a linked + executable, an symbol should be deemed to point to an instruction + if ((address & M16C_INSN_MASK) == M16C_INSN_VALUE), and similarly + for the data space. See also `ld/emulparams/elf32m32c.sh'. */ +#define M32C_DATA_MASK 0xffc00000 +#define M32C_DATA_VALUE 0x00000000 +#define M32C_INSN_MASK 0xffc00000 +#define M32C_INSN_VALUE 0x00400000 + +#endif /* _ELF_M32C_H */ diff --git a/contrib/binutils/include/elf/m32r.h b/contrib/binutils/include/elf/m32r.h index 709d792..d648df9 100644 --- a/contrib/binutils/include/elf/m32r.h +++ b/contrib/binutils/include/elf/m32r.h @@ -1,5 +1,5 @@ /* M32R ELF support for BFD. - Copyright 1996, 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc. + Copyright 1996, 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +15,7 @@ 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. */ + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_M32R_H #define _ELF_M32R_H @@ -52,6 +52,8 @@ START_RELOC_NUMBERS (elf_m32r_reloc_type) RELOC_NUMBER (R_M32R_SDA16_RELA, 42) RELOC_NUMBER (R_M32R_RELA_GNU_VTINHERIT, 43) RELOC_NUMBER (R_M32R_RELA_GNU_VTENTRY, 44) + + RELOC_NUMBER (R_M32R_REL32, 45) RELOC_NUMBER (R_M32R_GOT24, 48) RELOC_NUMBER (R_M32R_26_PLTREL, 49) @@ -67,6 +69,10 @@ START_RELOC_NUMBERS (elf_m32r_reloc_type) RELOC_NUMBER (R_M32R_GOTPC_HI_ULO, 59) RELOC_NUMBER (R_M32R_GOTPC_HI_SLO, 60) RELOC_NUMBER (R_M32R_GOTPC_LO, 61) + RELOC_NUMBER (R_M32R_GOTOFF_HI_ULO, 62) + RELOC_NUMBER (R_M32R_GOTOFF_HI_SLO, 63) + RELOC_NUMBER (R_M32R_GOTOFF_LO, 64) + END_RELOC_NUMBERS (R_M32R_max) /* Processor specific section indices. These sections do not actually diff --git a/contrib/binutils/include/elf/m68hc11.h b/contrib/binutils/include/elf/m68hc11.h index 1902f7f..1cd4600 100644 --- a/contrib/binutils/include/elf/m68hc11.h +++ b/contrib/binutils/include/elf/m68hc11.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_M68HC11_H #define _ELF_M68HC11_H diff --git a/contrib/binutils/include/elf/m68k.h b/contrib/binutils/include/elf/m68k.h index 7769c59..08d0c44 100644 --- a/contrib/binutils/include/elf/m68k.h +++ b/contrib/binutils/include/elf/m68k.h @@ -1,5 +1,5 @@ /* MC68k ELF support for BFD. - Copyright 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2002, 2005, 2006 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_M68K_H #define _ELF_M68K_H @@ -52,7 +52,24 @@ START_RELOC_NUMBERS (elf_m68k_reloc_type) RELOC_NUMBER (R_68K_GNU_VTENTRY, 24) END_RELOC_NUMBERS (R_68K_max) -#define EF_CPU32 0x00810000 -#define EF_M68000 0x01000000 +#define EF_M68K_CPU32 0x00810000 +#define EF_M68K_M68000 0x01000000 +#define EF_M68K_CFV4E 0x00008000 +/* We use the bottom 8 bits to encode information about the + coldfire variant. */ +#define EF_M68K_ISA_MASK 0x0F /* Which ISA */ +#define EF_M68K_ISA_A_NODIV 0x01 /* ISA A except for div */ +#define EF_M68K_ISA_A 0x02 +#define EF_M68K_ISA_A_PLUS 0x03 +#define EF_M68K_ISA_B_NOUSP 0x04 /* ISA_B except for USP */ +#define EF_M68K_ISA_B 0x05 +#define EF_M68K_ISA_C 0x06 +#define EF_M68K_MAC_MASK 0x30 +#define EF_M68K_MAC 0x10 /* MAC */ +#define EF_M68K_EMAC 0x20 /* EMAC */ +#define EF_M68K_EMAC_B 0x30 /* EMAC_B */ +#define EF_M68K_FLOAT 0x40 /* Has float insns */ +#define EF_M68K_CF_MASK 0xFF + #endif diff --git a/contrib/binutils/include/elf/mcore.h b/contrib/binutils/include/elf/mcore.h index 387a57d..5600df7 100644 --- a/contrib/binutils/include/elf/mcore.h +++ b/contrib/binutils/include/elf/mcore.h @@ -15,7 +15,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the MCore ELF ABI. */ #ifndef _ELF_MORE_H diff --git a/contrib/binutils/include/elf/mips.h b/contrib/binutils/include/elf/mips.h index 3454aac..d099bb8 100644 --- a/contrib/binutils/include/elf/mips.h +++ b/contrib/binutils/include/elf/mips.h @@ -73,16 +73,40 @@ START_RELOC_NUMBERS (elf_mips_reloc_type) RELOC_NUMBER (R_MIPS_PJUMP, 35) RELOC_NUMBER (R_MIPS_RELGOT, 36) RELOC_NUMBER (R_MIPS_JALR, 37) - RELOC_NUMBER (R_MIPS_max, 38) + /* TLS relocations. */ + RELOC_NUMBER (R_MIPS_TLS_DTPMOD32, 38) + RELOC_NUMBER (R_MIPS_TLS_DTPREL32, 39) + RELOC_NUMBER (R_MIPS_TLS_DTPMOD64, 40) + RELOC_NUMBER (R_MIPS_TLS_DTPREL64, 41) + RELOC_NUMBER (R_MIPS_TLS_GD, 42) + RELOC_NUMBER (R_MIPS_TLS_LDM, 43) + RELOC_NUMBER (R_MIPS_TLS_DTPREL_HI16, 44) + RELOC_NUMBER (R_MIPS_TLS_DTPREL_LO16, 45) + RELOC_NUMBER (R_MIPS_TLS_GOTTPREL, 46) + RELOC_NUMBER (R_MIPS_TLS_TPREL32, 47) + RELOC_NUMBER (R_MIPS_TLS_TPREL64, 48) + RELOC_NUMBER (R_MIPS_TLS_TPREL_HI16, 49) + RELOC_NUMBER (R_MIPS_TLS_TPREL_LO16, 50) + FAKE_RELOC (R_MIPS_max, 51) /* These relocs are used for the mips16. */ + FAKE_RELOC (R_MIPS16_min, 100) RELOC_NUMBER (R_MIPS16_26, 100) RELOC_NUMBER (R_MIPS16_GPREL, 101) - /* These are GNU extensions to handle embedded-pic. */ + RELOC_NUMBER (R_MIPS16_GOT16, 102) + RELOC_NUMBER (R_MIPS16_CALL16, 103) + RELOC_NUMBER (R_MIPS16_HI16, 104) + RELOC_NUMBER (R_MIPS16_LO16, 105) + FAKE_RELOC (R_MIPS16_max, 106) + /* These relocations are specific to VxWorks. */ + RELOC_NUMBER (R_MIPS_COPY, 126) + RELOC_NUMBER (R_MIPS_JUMP_SLOT, 127) + /* This was a GNU extension used by embedded-PIC. It was co-opted by + mips-linux for exception-handling data. It is no longer used, but + should continue to be supported by the linker for backward + compatibility. (GCC stopped using it in May, 2004.) */ RELOC_NUMBER (R_MIPS_PC32, 248) - RELOC_NUMBER (R_MIPS_PC64, 249) + /* FIXME: this relocation is used internally by gas. */ RELOC_NUMBER (R_MIPS_GNU_REL16_S2, 250) - RELOC_NUMBER (R_MIPS_GNU_REL_LO16, 251) - RELOC_NUMBER (R_MIPS_GNU_REL_HI16, 252) /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_MIPS_GNU_VTINHERIT, 253) RELOC_NUMBER (R_MIPS_GNU_VTENTRY, 254) @@ -698,6 +722,13 @@ extern void bfd_mips_elf32_swap_reginfo_out /* This value is used for a mips16 .text symbol. */ #define STO_MIPS16 0xf0 + +/* This bit is used on Irix to indicate a symbol whose definition + is optional - if, at final link time, it cannot be found, no + error message should be produced. */ +#define STO_OPTIONAL (1 << 2) +/* A macro to examine the STO_OPTIONAL bit. */ +#define ELF_MIPS_IS_OPTIONAL(other) ((other) & STO_OPTIONAL) /* The 64-bit MIPS ELF ABI uses an unusual reloc format. Each relocation entry specifies up to three actual relocations, all at diff --git a/contrib/binutils/include/elf/mmix.h b/contrib/binutils/include/elf/mmix.h index 89778e4..9661e87 100644 --- a/contrib/binutils/include/elf/mmix.h +++ b/contrib/binutils/include/elf/mmix.h @@ -15,7 +15,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the MMIX ELF ABI. */ #ifndef ELF_MMIX_H diff --git a/contrib/binutils/include/elf/mn10200.h b/contrib/binutils/include/elf/mn10200.h index 1dfade5..8461588 100644 --- a/contrib/binutils/include/elf/mn10200.h +++ b/contrib/binutils/include/elf/mn10200.h @@ -15,7 +15,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the MN10200 ELF ABI. */ diff --git a/contrib/binutils/include/elf/mn10300.h b/contrib/binutils/include/elf/mn10300.h index e640096..d241e9c 100644 --- a/contrib/binutils/include/elf/mn10300.h +++ b/contrib/binutils/include/elf/mn10300.h @@ -1,5 +1,5 @@ /* MN10300 ELF support for BFD. - Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +15,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the MN10300 ELF ABI. */ diff --git a/contrib/binutils/include/elf/msp430.h b/contrib/binutils/include/elf/msp430.h index 912ded7..ff16ba2 100644 --- a/contrib/binutils/include/elf/msp430.h +++ b/contrib/binutils/include/elf/msp430.h @@ -1,5 +1,5 @@ /* MSP430 ELF support for BFD. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Dmitry Diky <diwil@mail.ru> This file is part of BFD, the Binary File Descriptor library. @@ -16,7 +16,7 @@ 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. */ + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_MSP430_H #define _ELF_MSP430_H @@ -50,6 +50,8 @@ START_RELOC_NUMBERS (elf_msp430_reloc_type) RELOC_NUMBER (R_MSP430_16_PCREL, 4) RELOC_NUMBER (R_MSP430_16_BYTE, 5) RELOC_NUMBER (R_MSP430_16_PCREL_BYTE, 6) + RELOC_NUMBER (R_MSP430_2X_PCREL, 7) + RELOC_NUMBER (R_MSP430_RL_PCREL, 8) END_RELOC_NUMBERS (R_MSP430_max) diff --git a/contrib/binutils/include/elf/mt.h b/contrib/binutils/include/elf/mt.h new file mode 100644 index 0000000..974c2de --- /dev/null +++ b/contrib/binutils/include/elf/mt.h @@ -0,0 +1,46 @@ +/* MS1 ELF support for BFD. + Copyright (C) 2000, 2005 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_MT_H +#define _ELF_MT_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_mt_reloc_type) + RELOC_NUMBER (R_MT_NONE, 0) + RELOC_NUMBER (R_MT_16, 1) + RELOC_NUMBER (R_MT_32, 2) + RELOC_NUMBER (R_MT_32_PCREL, 3) + RELOC_NUMBER (R_MT_PC16, 4) + RELOC_NUMBER (R_MT_HI16, 5) + RELOC_NUMBER (R_MT_LO16, 6) +END_RELOC_NUMBERS(R_MT_max) + +#define EF_MT_CPU_MRISC 0x00000001 /* default */ +#define EF_MT_CPU_MRISC2 0x00000002 /* MRISC2 */ +#define EF_MT_CPU_MS2 0x00000003 /* MS2 */ +#define EF_MT_CPU_MASK 0x00000003 /* specific cpu bits */ +#define EF_MT_ALL_FLAGS (EF_MT_CPU_MASK) + +/* The location of the memory mapped hardware stack. */ +#define MT_STACK_VALUE 0x0f000000 +#define MT_STACK_SIZE 0x20 + +#endif /* _ELF_MT_H */ diff --git a/contrib/binutils/include/elf/openrisc.h b/contrib/binutils/include/elf/openrisc.h index c609906..326834e 100644 --- a/contrib/binutils/include/elf/openrisc.h +++ b/contrib/binutils/include/elf/openrisc.h @@ -15,7 +15,7 @@ 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. */ +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_OPENRISC_H #define _ELF_OPENRISC_H diff --git a/contrib/binutils/include/elf/or32.h b/contrib/binutils/include/elf/or32.h index 14884f3..bc308e7 100644 --- a/contrib/binutils/include/elf/or32.h +++ b/contrib/binutils/include/elf/or32.h @@ -16,7 +16,7 @@ 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. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_OR1K_H #define _ELF_OR1K_H diff --git a/contrib/binutils/include/elf/pj.h b/contrib/binutils/include/elf/pj.h index 586fd3a..45cc7b3 100644 --- a/contrib/binutils/include/elf/pj.h +++ b/contrib/binutils/include/elf/pj.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_PJ_H #define _ELF_PJ_H diff --git a/contrib/binutils/include/elf/ppc.h b/contrib/binutils/include/elf/ppc.h index b510f44..ca50352 100644 --- a/contrib/binutils/include/elf/ppc.h +++ b/contrib/binutils/include/elf/ppc.h @@ -1,5 +1,5 @@ /* PPC ELF support for BFD. - Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003 + Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc. By Michael Meissner, Cygnus Support, <meissner@cygnus.com>, from information @@ -20,7 +20,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the PPC ELF ABI. Note that most of this is not actually implemented by BFD. */ @@ -120,10 +120,17 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type) RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115) RELOC_NUMBER (R_PPC_EMB_RELSDA, 116) -/* Fake relocations for branch stubs. This will keep them - together. */ -#define R_PPC_RELAX32 251 -#define R_PPC_RELAX32PC 252 +/* Fake relocations for branch stubs, only used internally by ld. */ +#define R_PPC_RELAX32 245 +#define R_PPC_RELAX32PC 246 +#define R_PPC_RELAX32_PLT 247 +#define R_PPC_RELAX32PC_PLT 248 + +/* These are GNU extensions used in PIC code sequences. */ + RELOC_NUMBER (R_PPC_REL16, 249) + RELOC_NUMBER (R_PPC_REL16_LO, 250) + RELOC_NUMBER (R_PPC_REL16_HI, 251) + RELOC_NUMBER (R_PPC_REL16_HA, 252) /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_PPC_GNU_VTINHERIT, 253) @@ -138,6 +145,9 @@ END_RELOC_NUMBERS (R_PPC_max) #define IS_PPC_TLS_RELOC(R) \ ((R) >= R_PPC_TLS && (R) <= R_PPC_GOT_DTPREL16_HA) +/* Specify the value of _GLOBAL_OFFSET_TABLE_. */ +#define DT_PPC_GOT DT_LOPROC + /* Processor specific flags for the ELF header e_flags field. */ #define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag. */ diff --git a/contrib/binutils/include/elf/ppc64.h b/contrib/binutils/include/elf/ppc64.h index ee2b0ea..4aab2ec 100644 --- a/contrib/binutils/include/elf/ppc64.h +++ b/contrib/binutils/include/elf/ppc64.h @@ -15,7 +15,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_PPC64_H #define _ELF_PPC64_H diff --git a/contrib/binutils/include/elf/reloc-macros.h b/contrib/binutils/include/elf/reloc-macros.h index 4a3a60f..51e86b5 100644 --- a/contrib/binutils/include/elf/reloc-macros.h +++ b/contrib/binutils/include/elf/reloc-macros.h @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* These macros are used by the various *.h target specific header files to either generate an enum containing all the known relocations diff --git a/contrib/binutils/include/elf/s390.h b/contrib/binutils/include/elf/s390.h index 3a1306f..c62b110 100644 --- a/contrib/binutils/include/elf/s390.h +++ b/contrib/binutils/include/elf/s390.h @@ -1,5 +1,5 @@ /* 390 ELF support for BFD. - Copyright 2000, 2001 Free Software Foundation, Inc. + Copyright 2000, 2001, 2003 Free Software Foundation, Inc. Contributed by Carl B. Pedersen and Martin Schwidefsky. This file is part of BFD, the Binary File Descriptor library. @@ -16,8 +16,8 @@ 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. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ #ifndef _ELF_390_H #define _ELF_390_H diff --git a/contrib/binutils/include/elf/sh.h b/contrib/binutils/include/elf/sh.h index 15d460d..deb7a9d 100644 --- a/contrib/binutils/include/elf/sh.h +++ b/contrib/binutils/include/elf/sh.h @@ -1,5 +1,5 @@ /* SH ELF support for BFD. - Copyright 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1998, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,7 +15,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_SH_H #define _ELF_SH_H @@ -27,56 +27,63 @@ #define EF_SH1 1 #define EF_SH2 2 #define EF_SH3 3 -#define EF_SH_HAS_DSP(flags) (((flags) & EF_SH_MACH_MASK & ~3) == 4) #define EF_SH_DSP 4 #define EF_SH3_DSP 5 #define EF_SH4AL_DSP 6 -#define EF_SH_HAS_FP(flags) ((flags) & 8) #define EF_SH3E 8 #define EF_SH4 9 #define EF_SH2E 11 #define EF_SH4A 12 +#define EF_SH2A 13 -#define EF_SH4_NOFPU 0x10 -#define EF_SH4A_NOFPU 0x11 +#define EF_SH4_NOFPU 16 +#define EF_SH4A_NOFPU 17 +#define EF_SH4_NOMMU_NOFPU 18 +#define EF_SH2A_NOFPU 19 +#define EF_SH3_NOMMU 20 + +#define EF_SH2A_SH4_NOFPU 21 +#define EF_SH2A_SH3_NOFPU 22 +#define EF_SH2A_SH4 23 +#define EF_SH2A_SH3E 24 /* This one can only mix in objects from other EF_SH5 objects. */ #define EF_SH5 10 -#define EF_SH_MERGE_MACH(mach1, mach2) \ - (((((mach1) == EF_SH3 || (mach1) == EF_SH_UNKNOWN) && (mach2) == EF_SH_DSP) \ - || ((mach1) == EF_SH_DSP \ - && ((mach2) == EF_SH3 || (mach2) == EF_SH_UNKNOWN))) \ - ? EF_SH3_DSP \ - : (((mach1) < EF_SH3 && (mach2) == EF_SH_UNKNOWN) \ - || ((mach2) < EF_SH3 && (mach1) == EF_SH_UNKNOWN)) \ - ? EF_SH3 \ - : ((mach1) == EF_SH2E && EF_SH_HAS_FP (mach2)) \ - ? (mach2) \ - : ((mach2) == EF_SH2E && EF_SH_HAS_FP (mach1)) \ - ? (mach1) \ - : (((mach1) == EF_SH2E && (mach2) == EF_SH_UNKNOWN) \ - || ((mach2) == EF_SH2E && (mach1) == EF_SH_UNKNOWN)) \ - ? EF_SH2E \ - : (((mach1) == EF_SH3E && (mach2) == EF_SH_UNKNOWN) \ - || ((mach2) == EF_SH3E && (mach1) == EF_SH_UNKNOWN)) \ - ? EF_SH4 \ - /* ??? SH4? Why not SH3E? */ \ - : ((((mach1) == EF_SH4_NOFPU || (mach1) == EF_SH4A_NOFPU) \ - && EF_SH_HAS_DSP (mach2)) \ - || (((mach2) == EF_SH4_NOFPU || (mach2) == EF_SH4A_NOFPU) \ - && EF_SH_HAS_DSP (mach1))) \ - ? EF_SH4AL_DSP \ - : ((mach1) == EF_SH4_NOFPU && EF_SH_HAS_FP (mach2)) \ - ? ((mach2) < EF_SH4A) ? EF_SH4 : (mach2) \ - : ((mach2) == EF_SH4_NOFPU && EF_SH_HAS_FP (mach1)) \ - ? ((mach1) < EF_SH4A) ? EF_SH4 : (mach1) \ - : ((mach1) == EF_SH4A_NOFPU && EF_SH_HAS_FP (mach2)) \ - ? ((mach2) <= EF_SH4A) ? EF_SH4A : (mach2) \ - : ((mach2) == EF_SH4A_NOFPU && EF_SH_HAS_FP (mach1)) \ - ? ((mach1) <= EF_SH4A) ? EF_SH4A : (mach1) \ - : (((mach1) == EF_SH2E ? 7 : (mach1)) > ((mach2) == EF_SH2E ? 7 : (mach2)) \ - ? (mach1) : (mach2))) +/* Define the mapping from ELF to bfd mach numbers. + bfd_mach_* are defined in bfd_in2.h (generated from + archures.c). */ +#define EF_SH_BFD_TABLE \ +/* EF_SH_UNKNOWN */ bfd_mach_sh3 , \ +/* EF_SH1 */ bfd_mach_sh , \ +/* EF_SH2 */ bfd_mach_sh2 , \ +/* EF_SH3 */ bfd_mach_sh3 , \ +/* EF_SH_DSP */ bfd_mach_sh_dsp , \ +/* EF_SH3_DSP */ bfd_mach_sh3_dsp , \ +/* EF_SHAL_DSP */ bfd_mach_sh4al_dsp , \ +/* 7 */ 0, \ +/* EF_SH3E */ bfd_mach_sh3e , \ +/* EF_SH4 */ bfd_mach_sh4 , \ +/* EF_SH5 */ 0, \ +/* EF_SH2E */ bfd_mach_sh2e , \ +/* EF_SH4A */ bfd_mach_sh4a , \ +/* EF_SH2A */ bfd_mach_sh2a , \ +/* 14, 15 */ 0, 0, \ +/* EF_SH4_NOFPU */ bfd_mach_sh4_nofpu , \ +/* EF_SH4A_NOFPU */ bfd_mach_sh4a_nofpu , \ +/* EF_SH4_NOMMU_NOFPU */ bfd_mach_sh4_nommu_nofpu, \ +/* EF_SH2A_NOFPU */ bfd_mach_sh2a_nofpu , \ +/* EF_SH3_NOMMU */ bfd_mach_sh3_nommu , \ +/* EF_SH2A_SH4_NOFPU */ bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu, \ +/* EF_SH2A_SH3_NOFPU */ bfd_mach_sh2a_nofpu_or_sh3_nommu, \ +/* EF_SH2A_SH4 */ bfd_mach_sh2a_or_sh4 , \ +/* EF_SH2A_SH3E */ bfd_mach_sh2a_or_sh3e + +/* Convert arch_sh* into EF_SH*. */ +int sh_find_elf_flags (unsigned int arch_set); + +/* Convert bfd_mach_* into EF_SH*. */ +int sh_elf_get_flags_from_mach (unsigned long mach); /* Flags for the st_other symbol field. Keep away from the STV_ visibility flags (bit 0..1). */ diff --git a/contrib/binutils/include/elf/sparc.h b/contrib/binutils/include/elf/sparc.h index 2d28d26..dc20820 100644 --- a/contrib/binutils/include/elf/sparc.h +++ b/contrib/binutils/include/elf/sparc.h @@ -1,5 +1,6 @@ /* SPARC ELF support for BFD. - Copyright 1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003 + Free Software Foundation, Inc. By Doug Evans, Cygnus Support, <dje@cygnus.com>. This file is part of BFD, the Binary File Descriptor library. @@ -16,7 +17,7 @@ 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. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_SPARC_H #define _ELF_SPARC_H diff --git a/contrib/binutils/include/elf/v850.h b/contrib/binutils/include/elf/v850.h index 7d5110b..95dab49 100644 --- a/contrib/binutils/include/elf/v850.h +++ b/contrib/binutils/include/elf/v850.h @@ -1,5 +1,6 @@ /* V850 ELF support for BFD. - Copyright 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc. + Copyright 1997, 1998, 2000, 2002, 2003, 2004 + Free Software Foundation, Inc. Created by Michael Meissner, Cygnus Support <meissner@cygnus.com> This file is part of BFD, the Binary File Descriptor library. @@ -16,7 +17,7 @@ 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. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the MIPS ELF ABI. Note that most of this is not actually implemented by BFD. */ @@ -79,6 +80,7 @@ START_RELOC_NUMBERS (v850_reloc_type) RELOC_NUMBER (R_V850_LONGJUMP, 26) RELOC_NUMBER (R_V850_ALIGN, 27) RELOC_NUMBER (R_V850_REL32, 28) + RELOC_NUMBER (R_V850_LO16_SPLIT_OFFSET, 29) /* For ld.bu */ END_RELOC_NUMBERS (R_V850_max) diff --git a/contrib/binutils/include/elf/vax.h b/contrib/binutils/include/elf/vax.h index c1b5c2b..8cc5a11 100644 --- a/contrib/binutils/include/elf/vax.h +++ b/contrib/binutils/include/elf/vax.h @@ -16,7 +16,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_VAX_H #define _ELF_VAX_H diff --git a/contrib/binutils/include/elf/x86-64.h b/contrib/binutils/include/elf/x86-64.h index 7e9100d..b09a558 100644 --- a/contrib/binutils/include/elf/x86-64.h +++ b/contrib/binutils/include/elf/x86-64.h @@ -1,5 +1,6 @@ /* x86_64 ELF support for BFD. - Copyright (C) 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006 + Free Software Foundation, Inc. Contributed by Jan Hubicka <jh@suse.cz> This file is part of BFD, the Binary File Descriptor library. @@ -16,7 +17,7 @@ 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. */ + Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_X86_64_H #define _ELF_X86_64_H @@ -34,7 +35,7 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type) RELOC_NUMBER (R_X86_64_JUMP_SLOT,7) /* Create PLT entry */ RELOC_NUMBER (R_X86_64_RELATIVE, 8) /* Adjust by program base */ RELOC_NUMBER (R_X86_64_GOTPCREL, 9) /* 32 bit signed pc relative - offset to GOT */ + offset to GOT entry */ RELOC_NUMBER (R_X86_64_32, 10) /* Direct 32 bit zero extended */ RELOC_NUMBER (R_X86_64_32S, 11) /* Direct 32 bit sign extended */ RELOC_NUMBER (R_X86_64_16, 12) /* Direct 16 bit zero extended */ @@ -49,8 +50,38 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type) RELOC_NUMBER (R_X86_64_DTPOFF32, 21) /* Offset in TLS block */ RELOC_NUMBER (R_X86_64_GOTTPOFF, 22) /* PC relative offset to IE GOT entry */ RELOC_NUMBER (R_X86_64_TPOFF32, 23) /* Offset in initial TLS block */ + RELOC_NUMBER (R_X86_64_PC64, 24) /* PC relative 64 bit */ + RELOC_NUMBER (R_X86_64_GOTOFF64, 25) /* 64 bit offset to GOT */ + RELOC_NUMBER (R_X86_64_GOTPC32, 26) /* 32 bit signed pc relative + offset to GOT */ + RELOC_NUMBER (R_X86_64_GOT64, 27) /* 64 bit GOT entry offset */ + RELOC_NUMBER (R_X86_64_GOTPCREL64, 28) /* 64 bit signed pc relative + offset to GOT entry */ + RELOC_NUMBER (R_X86_64_GOTPC64, 29) /* 64 bit signed pc relative + offset to GOT */ + RELOC_NUMBER (R_X86_64_GOTPLT64, 30) /* like GOT64, but indicates + that PLT entry is needed */ + RELOC_NUMBER (R_X86_64_PLTOFF64, 31) /* 64 bit GOT relative offset + to PLT entry */ + /* 32 .. 33 */ + RELOC_NUMBER (R_X86_64_GOTPC32_TLSDESC, 34) + /* 32 bit signed pc relative + offset to TLS descriptor + in the GOT. */ + RELOC_NUMBER (R_X86_64_TLSDESC_CALL, 35) /* Relaxable call through TLS + descriptor. */ + RELOC_NUMBER (R_X86_64_TLSDESC, 36) /* 2x64-bit TLS descriptor. */ RELOC_NUMBER (R_X86_64_GNU_VTINHERIT, 250) /* GNU C++ hack */ RELOC_NUMBER (R_X86_64_GNU_VTENTRY, 251) /* GNU C++ hack */ END_RELOC_NUMBERS (R_X86_64_max) +/* Processor specific section types. */ + +#define SHT_X86_64_UNWIND 0x70000001 /* unwind information */ + +/* Like SHN_COMMON but the symbol will be allocated in the .lbss + section. */ +#define SHN_X86_64_LCOMMON 0xff02 + +#define SHF_X86_64_LARGE 0x10000000 #endif diff --git a/contrib/binutils/include/elf/xstormy16.h b/contrib/binutils/include/elf/xstormy16.h index 6b1e98f..2442b27 100644 --- a/contrib/binutils/include/elf/xstormy16.h +++ b/contrib/binutils/include/elf/xstormy16.h @@ -15,7 +15,7 @@ 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. */ +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _ELF_XSTORMY16_H #define _ELF_XSTORMY16_H diff --git a/contrib/binutils/include/elf/xtensa.h b/contrib/binutils/include/elf/xtensa.h index 6c584c7..0de9741 100644 --- a/contrib/binutils/include/elf/xtensa.h +++ b/contrib/binutils/include/elf/xtensa.h @@ -1,5 +1,5 @@ /* Xtensa ELF support for BFD. - Copyright 2003 Free Software Foundation, Inc. + Copyright 2003, 2004 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of BFD, the Binary File Descriptor library. @@ -16,7 +16,7 @@ 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, + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file holds definitions specific to the Xtensa ELF ABI. */ @@ -42,6 +42,39 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type) RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12) RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15) RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16) + RELOC_NUMBER (R_XTENSA_DIFF8, 17) + RELOC_NUMBER (R_XTENSA_DIFF16, 18) + RELOC_NUMBER (R_XTENSA_DIFF32, 19) + RELOC_NUMBER (R_XTENSA_SLOT0_OP, 20) + RELOC_NUMBER (R_XTENSA_SLOT1_OP, 21) + RELOC_NUMBER (R_XTENSA_SLOT2_OP, 22) + RELOC_NUMBER (R_XTENSA_SLOT3_OP, 23) + RELOC_NUMBER (R_XTENSA_SLOT4_OP, 24) + RELOC_NUMBER (R_XTENSA_SLOT5_OP, 25) + RELOC_NUMBER (R_XTENSA_SLOT6_OP, 26) + RELOC_NUMBER (R_XTENSA_SLOT7_OP, 27) + RELOC_NUMBER (R_XTENSA_SLOT8_OP, 28) + RELOC_NUMBER (R_XTENSA_SLOT9_OP, 29) + RELOC_NUMBER (R_XTENSA_SLOT10_OP, 30) + RELOC_NUMBER (R_XTENSA_SLOT11_OP, 31) + RELOC_NUMBER (R_XTENSA_SLOT12_OP, 32) + RELOC_NUMBER (R_XTENSA_SLOT13_OP, 33) + RELOC_NUMBER (R_XTENSA_SLOT14_OP, 34) + RELOC_NUMBER (R_XTENSA_SLOT0_ALT, 35) + RELOC_NUMBER (R_XTENSA_SLOT1_ALT, 36) + RELOC_NUMBER (R_XTENSA_SLOT2_ALT, 37) + RELOC_NUMBER (R_XTENSA_SLOT3_ALT, 38) + RELOC_NUMBER (R_XTENSA_SLOT4_ALT, 39) + RELOC_NUMBER (R_XTENSA_SLOT5_ALT, 40) + RELOC_NUMBER (R_XTENSA_SLOT6_ALT, 41) + RELOC_NUMBER (R_XTENSA_SLOT7_ALT, 42) + RELOC_NUMBER (R_XTENSA_SLOT8_ALT, 43) + RELOC_NUMBER (R_XTENSA_SLOT9_ALT, 44) + RELOC_NUMBER (R_XTENSA_SLOT10_ALT, 45) + RELOC_NUMBER (R_XTENSA_SLOT11_ALT, 46) + RELOC_NUMBER (R_XTENSA_SLOT12_ALT, 47) + RELOC_NUMBER (R_XTENSA_SLOT13_ALT, 48) + RELOC_NUMBER (R_XTENSA_SLOT14_ALT, 49) END_RELOC_NUMBERS (R_XTENSA_max) /* Processor-specific flags for the ELF header e_flags field. */ @@ -78,11 +111,88 @@ END_RELOC_NUMBERS (R_XTENSA_max) #define XTENSA_INSN_SEC_NAME ".xt.insn" #define XTENSA_LIT_SEC_NAME ".xt.lit" +#define XTENSA_PROP_SEC_NAME ".xt.prop" typedef struct property_table_entry_t { bfd_vma address; bfd_vma size; + flagword flags; } property_table_entry; +/* Flags in the property tables to specify whether blocks of memory are + literals, instructions, data, or unreachable. For instructions, + blocks that begin loop targets and branch targets are designated. + Blocks that do not allow density instructions, instruction reordering + or transformation are also specified. Finally, for branch targets, + branch target alignment priority is included. Alignment of the next + block is specified in the current block and the size of the current + block does not include any fill required to align to the next + block. */ + +#define XTENSA_PROP_LITERAL 0x00000001 +#define XTENSA_PROP_INSN 0x00000002 +#define XTENSA_PROP_DATA 0x00000004 +#define XTENSA_PROP_UNREACHABLE 0x00000008 +/* Instruction-only properties at beginning of code. */ +#define XTENSA_PROP_INSN_LOOP_TARGET 0x00000010 +#define XTENSA_PROP_INSN_BRANCH_TARGET 0x00000020 +/* Instruction-only properties about code. */ +#define XTENSA_PROP_INSN_NO_DENSITY 0x00000040 +#define XTENSA_PROP_INSN_NO_REORDER 0x00000080 +#define XTENSA_PROP_INSN_NO_TRANSFORM 0x00000100 + +/* Branch target alignment information. This transmits information + to the linker optimization about the priority of aligning a + particular block for branch target alignment: None, low priority, + high priority, or required. These only need to be checked in + instruction blocks marked as XTENSA_PROP_INSN_BRANCH_TARGET. + Common usage is: + + switch (GET_XTENSA_PROP_BT_ALIGN(flags)) + case XTENSA_PROP_BT_ALIGN_NONE: + case XTENSA_PROP_BT_ALIGN_LOW: + case XTENSA_PROP_BT_ALIGN_HIGH: + case XTENSA_PROP_BT_ALIGN_REQUIRE: +*/ +#define XTENSA_PROP_BT_ALIGN_MASK 0x00000600 + +/* No branch target alignment. */ +#define XTENSA_PROP_BT_ALIGN_NONE 0x0 +/* Low priority branch target alignment. */ +#define XTENSA_PROP_BT_ALIGN_LOW 0x1 +/* High priority branch target alignment. */ +#define XTENSA_PROP_BT_ALIGN_HIGH 0x2 +/* Required branch target alignment. */ +#define XTENSA_PROP_BT_ALIGN_REQUIRE 0x3 + +#define GET_XTENSA_PROP_BT_ALIGN(flag) \ + (((unsigned)((flag) & (XTENSA_PROP_BT_ALIGN_MASK))) >> 9) +#define SET_XTENSA_PROP_BT_ALIGN(flag, align) \ + (((flag) & (~XTENSA_PROP_BT_ALIGN_MASK)) | \ + (((align) << 9) & XTENSA_PROP_BT_ALIGN_MASK)) + +/* Alignment is specified in the block BEFORE the one that needs + alignment. Up to 5 bits. Use GET_XTENSA_PROP_ALIGNMENT(flags) to + get the required alignment specified as a power of 2. Use + SET_XTENSA_PROP_ALIGNMENT(flags, pow2) to set the required + alignment. Be careful of side effects since the SET will evaluate + flags twice. Also, note that the SIZE of a block in the property + table does not include the alignment size, so the alignment fill + must be calculated to determine if two blocks are contiguous. + TEXT_ALIGN is not currently implemented but is a placeholder for a + possible future implementation. */ + +#define XTENSA_PROP_ALIGN 0x00000800 + +#define XTENSA_PROP_ALIGNMENT_MASK 0x0001f000 + +#define GET_XTENSA_PROP_ALIGNMENT(flag) \ + (((unsigned)((flag) & (XTENSA_PROP_ALIGNMENT_MASK))) >> 12) +#define SET_XTENSA_PROP_ALIGNMENT(flag, align) \ + (((flag) & (~XTENSA_PROP_ALIGNMENT_MASK)) | \ + (((align) << 12) & XTENSA_PROP_ALIGNMENT_MASK)) + +#define XTENSA_PROP_INSN_ABSLIT 0x00020000 + #endif /* _ELF_XTENSA_H */ |