Update binutils to version 2.24 to work around a build problem

This commit is contained in:
Wolfgang Thaller
2014-09-13 00:14:23 +02:00
parent 449227a01f
commit 2ce044c327
8219 changed files with 1566054 additions and 305601 deletions
+774 -6
View File
@@ -1,9 +1,771 @@
2013-11-17 H.J. Lu <hongjiu.lu@intel.com>
* x86-64.h: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND.
2013-11-15 Alan Modra <amodra@gmail.com>
Apply changes from mainline to 2.24
2013-10-30 Alan Modra <amodra@gmail.com>
* ppc.h (DT_PPC_TLSOPT): Delete.
(DT_PPC_OPT, PPC_OPT_TLS): Define.
* ppc64.h (DT_PPC64_TLSOPT): Delete.
(DT_PPC64_OPT, PPC64_OPT_TLS, PPC64_OPT_MULTI_TOC): Define.
2013-10-30 Alan Modra <amodra@gmail.com>
* ppc64.h (STO_PPC64_LOCAL_BIT, STO_PPC64_LOCAL_MASK): Define.
(ppc64_decode_local_entry, ppc64_encode_local_entry): New functions.
(PPC64_LOCAL_ENTRY_OFFSET, PPC64_SET_LOCAL_ENTRY_OFFSET): Define.
2013-10-30 Alan Modra <amodra@gmail.com>
* ppc64.h (EF_PPC64_ABI): Define.
2013-10-30 Alan Modra <amodra@gmail.com>
* ppc64.h (R_PPC64_ADDR16_HIGH, R_PPC64_ADDR16_HIGHA,
R_PPC64_TPREL16_HIGH, R_PPC64_TPREL16_HIGHA,
R_PPC64_DTPREL16_HIGH, R_PPC64_DTPREL16_HIGHA): New.
(IS_PPC64_TLS_RELOC): Match new tls relocs.
2013-11-13 Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64.h: Define R_AARCH64_TLS_DTPMOD64,
R_AARCH64_TLS_DTPREL64 and R_AARCH64_TLS_TPREL64; guard
R_AARCH64_TLS_DTPMOD, R_AARCH64_TLS_DTPREL and
R_AARCH64_TLS_TPREL with RELOC_MACROS_GEN_FUNC.
2013-09-17 Doug Gilmore <Doug.Gilmore@imgtec.com>
* mips.h (EF_MIPS_FP64): New e_flags bit.
2013-08-09 Nick Clifton <nickc@redhat.com>
* rl78.c (E_FLAG_RL78_G10): Define.
2013-07-15 Maciej W. Rozycki <macro@codesourcery.com>
* mips.h (Tag_GNU_MIPS_ABI_FP): Remove comment.
(Val_GNU_MIPS_ABI_FP_ANY, Val_GNU_MIPS_ABI_FP_DOUBLE,
Val_GNU_MIPS_ABI_FP_SINGLE, Val_GNU_MIPS_ABI_FP_SOFT,
Val_GNU_MIPS_ABI_FP_64): New enum.
2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
* mips.h (EF_MIPS_NAN2008): New macro.
2013-07-08 Tristan Gingold <gingold@adacore.com>
* ia64.h (STB_VMS_WEAK, STB_VMS_SYSTEM): Add.
2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* s390.h: Add new relocs R_390_PC12DBL, R_390_PLT12DBL,
R_390_PC24DBL, and R_390_PLT24DBL.
2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64.h: Add ELF32 reloc codes and remove fake ELF64 ones.
2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
* mips.h (ELF_ST_IS_MIPS_PLT): Respect STO_MIPS16 setting.
(ELF_ST_SET_MIPS_PLT): Likewise.
2013-06-19 Will Newton <will.newton@linaro.org>
* aarch64.h: Remove R_AARCH64_IRELATIVE.
2013-06-07 Will Newton <will.newton@linaro.org>
* aarch64.h: Add R_AARCH64_IRELATIVE reloc.
2013-06-06 Maciej W. Rozycki <macro@codesourcery.com>
* mips.h (ELF_ST_SET_MIPS_PIC): Clear any STO_MIPS16 setting.
2013-05-30 Paul Brook <paul@codesourcery.com>
* mips.h (R_MIPS_EH): New.
2013-05-28 Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64.h (R_AARCH64_TLSDESC_LD64_PREL19): Rename to ...
(R_AARCH64_TLSDESC_LD_PREL19): ... this.
(R_AARCH64_TLSDESC_ADR_PAGE): Rename to ...
(R_AARCH64_TLSDESC_ADR_PAGE21): ... this.
2013-05-22 H.J. Lu <hongjiu.lu@intel.com>
* common.h (EM_INTEL205): New.
(EM_INTEL206): Likewise.
(EM_INTEL207): Likewise.
(EM_INTEL208): Likewise.
(EM_INTEL209): Likewise.
2013-05-02 Nick Clifton <nickc@redhat.com>
* msp430.h: Add MSP430X relocs.
Add some more MSP430 machine numbers.
Add values used by .MSP430.attributes section.
2013-03-21 Michael Schewe <michael.schewe@gmx.net>
* h8.h: Add new reloc R_H8_DISP32A16 for relaxation of
mov @(disp:32,ERx) to mov @(disp:16,ERx).
2013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
* common.h (NT_S390_TDB): Define.
2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
Andrew Jenner <andrew@codesourcery.com>
Based on patches from Altera Corporation.
* nios2.h: New file.
2013-01-24 Nick Clifton <nickc@redhat.com>
* v850.h: Add support for e3v5 architecture.
Reorganize processor selection macros.
2013-01-16 H.J. Lu <hongjiu.lu@intel.com>
* i386.h (R_386_SIZE32): Fill it.
* x86-64.h (R_X86_64_SIZE32): Likewise.
(R_X86_64_SIZE64): Likewise.
2013-01-10 Will Newton <will.newton@imgtec.com>
* common.h: Fix case of "Meta".
* metag.h: New file.
2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
* common.h (NT_ARM_TLS, NT_ARM_HW_BREAK, NT_ARM_HW_WATCH): New macro
definitions.
2013-01-04 Juergen Urban <JuergenUrban@gmx.de>
* mips.h: Add MIPS machine variant number for r5900 which is
compatible with old Playstation 2 software.
2012-11-16 H.J. Lu <hongjiu.lu@intel.com>
* common.h (DF_1_CONLFAT): Renamed to ...
(DF_1_CONFALT): This.
(DF_1_ENDFILTEE): New.
(DF_1_DISPRELDNE): Likewise.
(DF_1_DISPRELPND): Likewise.
(DF_1_NODIRECT): Likewise.
(DF_1_IGNMULDEF): Likewise.
(DF_1_NOKSYMS): Likewise.
(DF_1_NOHDR): Likewise.
(DF_1_EDITED): Likewise.
(DF_1_NORELOC): Likewise.
(DF_1_SYMINTPOSE): Likewise.
(DF_1_GLOBAUDIT): Likewise.
(DF_1_SINGLETON): Likewise.
2012-11-09 Nick Clifton <nickc@redhat.com>
* rx.h (EF_RX_CPU_RX): Add comment.
(E_FLAG_RX_ABI): Define.
* v850.h: Add RH850 ABI values.
2012-11-08 Maciej W. Rozycki <macro@codesourcery.com>
* mips.h (EF_MIPS_32BITMODE): Move next to lower-order bits.
2012-11-01 Tom Tromey <tromey@redhat.com>
* common.h (NT_386_TLS, NT_386_IOPERM): New defines.
2012-10-30 Steve McIntyre <steve.mcintyre@linaro.org>
* elf/arm.h (EF_ARM_ABI_FLOAT_SOFT): New define.
(EF_ARM_ABI_FLOAT_HARD): Likewise.
2012-10-23 Tom Tromey <tromey@redhat.com>
* common.h (NT_SIGINFO, NT_FILE): New defines.
2012-08-27 Walter Lee <walt@tilera.com>
* tilegx.h (R_TILEGX_IMM16_X0_HW0_PLT_PCREL): New relocation.
(R_TILEGX_IMM16_X1_HW0_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW1_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW1_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW2_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW2_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW3_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW3_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL ): Ditto.
(R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): Ditto.
2012-08-13 Ian Bolton <ian.bolton@arm.com>
Laurent Desnogues <laurent.desnogues@arm.com>
Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Richard Earnshaw <rearnsha@arm.com>
Sofiane Naci <sofiane.naci@arm.com>
Tejas Belagod <tejas.belagod@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64.h: New file.
* common.h (EM_res183): Rename to EM_AARCH64.
(EM_res184): Rename to EM_ARM184.
2012-06-28 Iain Sandoe <iain@codesourcery.com>
* common.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE,
AT_L2_CACHESHAPE, AT_L3_CACHESHAPE): New defines.
2012-05-16 Georg-Johann Lay <avr@gjlay.de>
PR target/13503
* avr.h (RELOC_NUMBERS): Rename R_AVR_8_HHI8 to R_AVR_8_HLO8.
2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
* m68hc11.h (R_M68HC12_16B, R_M68HC12_PCREL_9, R_M68HC12_PCREL_10)
R_M68HC12_HI8XG, R_M68HC12_LO8XG): New relocations.
(E_M68HC11_XGATE_RAMOFFSET): Define.
2012-05-14 James Lemke <jwlemke@codesourcery.com>
* ppc.h (SEC_PPC_VLE): Remove.
2012-05-14 Catherine Moore <clm@codesourcery.com>
James Lemke <jwlemke@codesourcery.com>
* ppc.h (R_PPC_VLE_REL8): New reloction.
(R_PPC_VLE_REL15): Likewise.
(R_PPC_VLE_REL24): Likewise.
(R_PPC_VLE_LO16A): Likewise.
(R_PPC_VLE_LO16D): Likewise.
(R_PPC_VLE_HI16A): Likewise.
(R_PPC_VLE_HI16D): Likewise.
(R_PPC_VLE_HA16A): Likewise.
(R_PPC_VLE_HA16D): Likewise.
(R_PPC_VLE_SDA21): Likewise.
(R_PPC_VLE_SDA21_LO): Likewise.
(R_PPC_VLE_SDAREL_LO16A): Likewise.
(R_PPC_VLE_SDAREL_LO16D): Likewise.
(R_PPC_VLE_SDAREL_HI16A): Likewise.
(R_PPC_VLE_SDAREL_HI16D): Likewise.
(R_PPC_VLE_SDAREL_HA16A): Likewise.
(R_PPC_VLE_SDAREL_HA16D): Likewise.
(SEC_PPC_VLE): Remove.
(PF_PPC_VLE): New program header flag.
(SHF_PPC_VLE): New section header flag.
(vle_opcodes, vle_num_opcodes): New.
(VLE_OP): New macro.
(VLE_OP_TO_SEG): New macro.
2012-05-11 Georg-Johann Lay <avr@gjlay.de
PR target/13503
* elf/avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8,
R_AVR_8_HI8, R_AVR_8_HHI8.
2012-05-03 Sean Keys <skeys@ipdatasys.com>
* xgate.h: Mininal file to support XGATE relocations.
2012-04-27 David S. Miller <davem@davemloft.net>
* sparc.h: Add new ELF_SPARC_HWCAP_* defines for crypto,
pause, and compare-and-branch instructions.
2012-03-07 Nick Clifton <nickc@redhat.com>
* mn10300.h (elf_mn10300_reloc_type): Add R_MN10300_TLS_GD,
R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE,
R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD,
R_MN10300_TLS_DTPOFF and R_MN10300_TLS_TPOFF.
2012-02-25 Walter Lee <walt@tilera.com>
* tilegx.h (R_TILEGX_IMM16_X0_HW1_GOT): Delete.
(R_TILEGX_IMM16_X1_HW1_GOT): Ditto.
(R_TILEGX_IMM16_X0_HW2_GOT): Ditto.
(R_TILEGX_IMM16_X1_HW2_GOT): Ditto.
(R_TILEGX_IMM16_X0_HW3_GOT): Ditto.
(R_TILEGX_IMM16_X1_HW3_GOT): Ditto.
(R_TILEGX_IMM16_X0_HW2_LAST_GOT): Ditto.
(R_TILEGX_IMM16_X1_HW2_LAST_GOT): Ditto.
(R_TILEGX_IMM16_X0_HW1_TLS_GD): Ditto.
(R_TILEGX_IMM16_X1_HW1_TLS_GD): Ditto.
(R_TILEGX_IMM16_X0_HW2_TLS_GD): Ditto.
(R_TILEGX_IMM16_X1_HW2_TLS_GD): Ditto.
(R_TILEGX_IMM16_X0_HW3_TLS_GD): Ditto.
(R_TILEGX_IMM16_X1_HW3_TLS_GD): Ditto.
(R_TILEGX_IMM16_X0_HW2_LAST_TLS_GD): Ditto.
(R_TILEGX_IMM16_X1_HW2_LAST_TLS_GD): Ditto.
(R_TILEGX_IMM16_X0_HW1_TLS_IE): Ditto.
(R_TILEGX_IMM16_X1_HW1_TLS_IE): Ditto.
(R_TILEGX_IMM16_X0_HW2_TLS_IE): Ditto.
(R_TILEGX_IMM16_X1_HW2_TLS_IE): Ditto.
(R_TILEGX_IMM16_X0_HW3_TLS_IE): Ditto.
(R_TILEGX_IMM16_X1_HW3_TLS_IE): Ditto.
(R_TILEGX_IMM16_X0_HW2_LAST_TLS_IE): Ditto.
(R_TILEGX_IMM16_X1_HW2_LAST_TLS_IE): Ditto.
(R_TILEGX_IMM16_X0_HW0_TLS_LE): New relocation.
(R_TILEGX_IMM16_X1_HW0_TLS_LE): Ditto.
(R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE): Ditto.
(R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE): Ditto.
(R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE): Ditto.
(R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE): Ditto.
(R_TILEGX_TLS_GD_CALL): Ditto.
(R_TILEGX_IMM8_X0_TLS_GD_ADD): Ditto.
(R_TILEGX_IMM8_X1_TLS_GD_ADD): Ditto.
(R_TILEGX_IMM8_Y0_TLS_GD_ADD): Ditto.
(R_TILEGX_IMM8_Y1_TLS_GD_ADD): Ditto.
(R_TILEGX_TLS_IE_LOAD): Ditto.
(R_TILEGX_IMM8_X0_TLS_ADD): Ditto.
(R_TILEGX_IMM8_X1_TLS_ADD): Ditto.
(R_TILEGX_IMM8_Y0_TLS_ADD): Ditto.
(R_TILEGX_IMM8_Y1_TLS_ADD): Ditto.
* tilepro.h (R_TILEPRO_TLS_GD_CALL): New relocation.
(R_TILEPRO_IMM8_X0_TLS_GD_ADD): Ditto.
(R_TILEPRO_IMM8_X1_TLS_GD_ADD): Ditto.
(R_TILEPRO_IMM8_Y0_TLS_GD_ADD): Ditto.
(R_TILEPRO_IMM8_Y1_TLS_GD_ADD): Ditto.
(R_TILEPRO_TLS_IE_LOAD): Ditto.
(R_TILEPRO_IMM16_X0_TLS_LE): Ditto.
(R_TILEPRO_IMM16_X1_TLS_LE): Ditto.
(R_TILEPRO_IMM16_X0_TLS_LE_LO): Ditto.
(R_TILEPRO_IMM16_X1_TLS_LE_LO): Ditto.
(R_TILEPRO_IMM16_X0_TLS_LE_HI): Ditto.
(R_TILEPRO_IMM16_X1_TLS_LE_HI): Ditto.
(R_TILEPRO_IMM16_X0_TLS_LE_HA): Ditto.
(R_TILEPRO_IMM16_X1_TLS_LE_HA): Ditto.
2011-12-22 DJ Delorie <dj@redhat.com>
* rl78.h (R_RL78_RH_RELAX, R_RL78_RH_SFR, R_RL78_RH_SADDR): New.
(RL78_RELAXA_BRA, RL78_RELAXA_ADDR16: New.
2011-12-19 Chung-Lin Tang <cltang@codesourcery.com>
* mips.h (elf_mips_reloc_type): Add R_MIPS16_TLS_* entries.
2011-12-06 Ulrich Weigand <uweigand@de.ibm.com>
* common.h (NT_S390_LAST_BREAK): Define.
(NT_S390_SYSTEM_CALL): Likewise.
2011-11-01 DJ Delorie <dj@redhat.com>
* common.h (EM_RL78, EM_78K0R): New.
* rl78.h: New.
2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com>
* epiphany.h: New file.
* common.h (EM_ADAPTEVA_EPIPHANY): Define.
2011-10-10 Alan Modra <amodra@gmail.com>
* ppc64.h (R_PPC64_TOCSAVE): Add.
2011-10-05 DJ Delorie <dj@redhat.com>
* rx.h (E_FLAG_RX_PID): New.
2011-09-21 David S. Miller <davem@davemloft.net>
* sparc.h (Tag_GNU_Sparc_HWCAPS): New object attribute.
(ELF_SPARC_HWCAP_*): New HWCAPS bitmask values.
2011-08-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13082
* x86-64.h (R_X86_64_RELATIVE64): New.
2011-07-24 Chao-ying Fu <fu@mips.com>
Maciej W. Rozycki <macro@codesourcery.com>
* mips.h (R_MICROMIPS_min): New relocations.
(R_MICROMIPS_26_S1): Likewise.
(R_MICROMIPS_HI16, R_MICROMIPS_LO16): Likewise.
(R_MICROMIPS_GPREL16, R_MICROMIPS_LITERAL): Likewise.
(R_MICROMIPS_GOT16, R_MICROMIPS_PC7_S1): Likewise.
(R_MICROMIPS_PC10_S1, R_MICROMIPS_PC16_S1): Likewise.
(R_MICROMIPS_CALL16, R_MICROMIPS_GOT_DISP): Likewise.
(R_MICROMIPS_GOT_PAGE, R_MICROMIPS_GOT_OFST): Likewise.
(R_MICROMIPS_GOT_HI16, R_MICROMIPS_GOT_LO16): Likewise.
(R_MICROMIPS_SUB, R_MICROMIPS_HIGHER): Likewise.
(R_MICROMIPS_HIGHEST, R_MICROMIPS_CALL_HI16): Likewise.
(R_MICROMIPS_CALL_LO16, R_MICROMIPS_SCN_DISP): Likewise.
(R_MICROMIPS_JALR, R_MICROMIPS_HI0_LO16): Likewise.
(R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM): Likewise.
(R_MICROMIPS_TLS_DTPREL_HI, R_MICROMIPS_TLS_DTPREL_LO): Likewise.
(R_MICROMIPS_TLS_GOTTPREL): Likewise.
(R_MICROMIPS_TLS_TPREL_HI16): Likewise.
(R_MICROMIPS_TLS_TPREL_LO16): Likewise.
(R_MICROMIPS_GPREL7_S2, R_MICROMIPS_PC23_S2): Likewise.
(R_MICROMIPS_max): Likewise.
(EF_MIPS_ARCH_ASE_MICROMIPS): New macro.
(STO_MIPS_ISA, STO_MIPS_FLAGS): Likewise.
(ELF_ST_IS_MIPS_PLT, ELF_ST_SET_MIPS_PLT): Likewise.
(STO_MICROMIPS): Likewise.
(ELF_ST_IS_MICROMIPS, ELF_ST_SET_MICROMIPS): Likewise.
(ELF_ST_IS_COMPRESSED): Likewise.
(STO_MIPS_PLT, STO_MIPS_PIC): Rework.
(ELF_ST_IS_MIPS_PIC, ELF_ST_SET_MIPS_PIC): Likewise.
(STO_MIPS16, ELF_ST_IS_MIPS16, ELF_ST_SET_MIPS16): Likewise.
2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
* common.h (EM_K1OM): New.
2011-07-03 Samuel Thibault <samuel.thibault@gnu.org>
Thomas Schwinge <thomas@schwinge.name>
PR binutils/12913
* common.h (ELFOSABI_GNU): Define, replaces...
(ELFOSABI_LINUX): ... this, kept as an alias.
(ELFOSABI_HURD): Remove.
2011-06-15 Ulrich Weigand <ulrich.weigand@linaro.org>
* common.h (NT_ARM_VFP): Define.
2011-06-13 Walter Lee <walt@tilera.com>
* common.h: Add EM_TILEGX.
* tilegx.h: New file.
* tilepro.h: New file.
2011-06-09 Tristan Gingold <gingold@adacore.com>
* ia64.h (Elf64_External_VMS_ORIG_DYN_Note): New struct.
2011-06-02 Nick Clifton <nickc@redhat.com>
* common.h: Fix spelling mistake in comment.
* reloc-macros.h: Likewise.
2011-05-31 Paul Brook <paul@codesourcery.com>
* arm.h (arm_st_branch_type): Add ST_BRANCH_UNKNOWN.
2011-05-09 Paul Brook <paul@codesourcery.com>
* tic6x.h (ELF_STRING_C6000_unwind,
ELF_STRING_C6000_unwind_info, ELF_STRING_C6000_unwind_once,
ELF_STRING_C6000_unwind_info_once): Define.
2011-04-15 Sergio Durigan Junior <sergiodj@redhat.com>
* common.h (NT_STAPSDT): New define.
2011-03-31 Bernd Schmidt <bernds@codesourcery.com>
* tic6x.h (R_C6000_JUMP_SPLOT, R_C6000_EHTYPE,
R_C6000_PCR_H16, R_C6000_PCR_L16): New relocs.
(SHN_TIC6X_SCOMMON): Define.
2011-03-31 Tristan Gingold <gingold@adacore.com>
* ia64.h (Elf64_External_VMS_Note): New struct.
(NT_VMS_MHD, NT_VMS_LNM, NT_VMS_SRC, NT_VMS_TITLE, NT_VMS_EIDC)
(NT_VMS_FPMODE, NT_VMS_LINKTIME, NT_VMS_IMGNAM, NT_VMS_IMGID)
(NT_VMS_LINKID, NT_VMS_IMGBID, NT_VMS_GSTNAM, NT_VMS_ORIG_DYN)
(NT_VMS_PATCHTIME) New macros.
2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
* arm.h (R_ARM_IRELATIVE): New relocation.
2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
* internal.h (elf_internal_sym): Add st_target_internal.
* arm.h (arm_st_branch_type): New enum.
(ARM_SYM_BRANCH_TYPE): New macro.
2011-03-10 Nick Clifton <nickc@redhat.com>
* common.h (EM_V850): V850s now supplied by Renesas.
2011-02-25 Alan Modra <amodra@gmail.com>
PR 12516
* internal.h (ELF_SECTION_IN_SEGMENT_1): Don't match zero size
sections at start or end of PT_DYNAMIC.
2011-01-10 Nathan Sidwell <nathan@codesourcery.com>
Glauber de Oliveira Costa <glommer@gmail.com>
* arm.h (R_ARM_TLS_DESC, R_ARM_TLS_GOTDESC, R_ARM_TLS_CALL,
R_ARM_TLS_DESCSEQ, T_ARM_THM_TLS_CALL, R_ARM_THM_TLS_DESCSEQ): New
relocations.
2010-11-16 Jie Zhang <jie.zhang@analog.com>
* bfin.h (EF_BFIN_CODE_IN_L1): Define.
(EF_BFIN_DATA_IN_L1): Define.
2010-11-11 Mingming Sun <mingm.sun@gmail.com>
* mips.h (E_MIPS_MACH_LS3A): Defined.
2010-11-02 Joseph Myers <joseph@codesourcery.com>
* tic6x-attrs.h (Tag_ABI_wchar_t, Tag_ABI_stack_align_needed,
Tag_ABI_stack_align_preserved, Tag_ABI_PID, Tag_ABI_PIC,
Tag_ABI_array_object_alignment,
Tag_ABI_array_object_align_expected, Tag_ABI_conformance): Define.
2010-10-29 Joseph Myers <joseph@codesourcery.com>
* tic6x-attrs.h (Tag_ABI_compatibility): Define.
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* tic6x-attrs.h (Tag_ABI_DSBT): New.
2010-10-21 Joseph Myers <joseph@codesourcery.com>
* tic6x-attrs.h (Tag_C6XABI_Tag_CPU_arch): Change to Tag_ISA,
value 4.
* tic6x.h (Values for Tag_C6XABI_Tag_CPU_arch): Rename for
attribute renaming.
2010-07-23 Naveen.H.S <naveen.S@kpitcummins.com>
Ina Pandit <ina.pandit@kpitcummins.com>
* v850.h: Add support for V850E2 and V850E2V3.
(v850_reloc_type): Update the newly added relocations
2010-07-20 Alan Modra <amodra@gmail.com>
* internal.h (ELF_TBSS_SPECIAL): New macro, extracted from..
(ELF_SECTION_SIZE): ..here.
(ELF_SECTION_IN_SEGMENT_1): Add "strict" arg.
(ELF_SECTION_IN_SEGMENT_STRICT): New macro.
2010-06-25 Alan Modra <amodra@gmail.com>
* ppc64.h (R_PPC64_LO_DS_OPT): Define.
2010-06-15 Joseph Myers <joseph@codesourcery.com>
* tic6x-attrs.h: New.
* tic6x.h: Include elf/tic6x-attrs.h for attribute table.
(C6XABI_Tag_CPU_arch_none, C6XABI_Tag_CPU_arch_C62X,
C6XABI_Tag_CPU_arch_C67X, C6XABI_Tag_CPU_arch_C67XP,
C6XABI_Tag_CPU_arch_C64X, C6XABI_Tag_CPU_arch_C64XP,
C6XABI_Tag_CPU_arch_C674X): Define.
2010-06-11 Tristan Gingold <gingold@adacore.com>
* ia64.h (EF_IA_64_VMS_COMCOD, EF_IA_64_VMS_COMCOD_SUCCESS)
(EF_IA_64_VMS_COMCOD_WARNING, EF_IA_64_VMS_COMCOD_ERROR)
(EF_IA_64_VMS_COMCOD_ABORT, EF_IA_64_VMS_LINKAGES): Define.
(VMS_LF_CALL_DEBUG, VMS_LF_NOP0BUFS, VMS_LF_P0IMAGE)
(VMS_LF_MKTHREADS, VMS_LF_UPCALLS, VMS_LF_IMGSTA)
(VMS_LF_INITIALIZE, VMS_LF_MAIN, VMS_LF_EXE_INIT)
(VMS_LF_TBK_IN_IMG, VMS_LF_DBG_IN_IMG, VMS_LF_TBK_IN_DSF)
(VMS_LF_DBG_IN_DSF, VMS_LF_SIGNATURES, VMS_LF_REL_SEG_OFF): Define.
(VMS_STO_VISIBILITY, VMS_ST_VISIBILITY, VMS_STO_FUNC_TYPE)
(VMS_ST_FUNC_TYPE, VMS_SFT_CODE_ADDR, VMS_SFT_SYMV_IDX)
(VMS_SFT_FD, VMS_SFT_RESERVE, VMS_STO_LINKAGE, VMS_ST_LINKAGE)
(VMS_STL_IGNORE, VMS_STL_RESERVE, VMS_STL_STD, VMS_STL_LNK): Define.
(Elf64_External_VMS_IMAGE_FIXUP): New declaration.
(Elf64_External_VMS_IMAGE_RELA): Ditto.
(R_IA64_VMS_DIR8, R_IA64_VMS_DIR16LSB, R_IA64_VMS_CALL_SIGNATURE)
(R_IA64_VMS_EXECLET_FUNC, R_IA64_VMS_EXECLET_DATA, R_IA64_VMS_FIX8)
(R_IA64_VMS_FIX16, R_IA64_VMS_FIX32, R_IA64_VMS_FIX64)
(R_IA64_VMS_FIXFD, R_IA64_VMS_ACC_LOAD, R_IA64_VMS_ACC_ADD)
(R_IA64_VMS_ACC_SUB, R_IA64_VMS_ACC_MUL, R_IA64_VMS_ACC_DIV)
(R_IA64_VMS_ACC_AND, R_IA64_VMS_ACC_IOR, R_IA64_VMS_ACC_EOR)
(R_IA64_VMS_ACC_ASH, R_IA64_VMS_ACC_STO8, R_IA64_VMS_ACC_STO16LSH)
(R_IA64_VMS_ACC_STO32LSH, R_IA64_VMS_ACC_STO64LSH): New.
2010-05-25 Daniel Jacobowitz <dan@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Andrew Stubbs <ams@codesourcery.com>
* sh.h (EF_SH_PIC, EF_SH_FDPIC): Define.
(R_SH_FIRST_INVALID_RELOC_6, R_SH_LAST_INVALID_RELOC_6): New. Adjust
other invalid ranges.
(R_SH_GOT20, R_SH_GOTOFF20, R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20)
(R_SH_GOTOFFFUNCDESC, R_SH_GOTOFFFUNCDESC20, R_SH_FUNCDESC)
(R_SH_FUNCDESC_VALUE): New.
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* common.h (SHF_EXCLUDE): New.
* i370.h (SHF_EXCLUDE): Removed.
* or32.h (SHF_EXCLUDE): Likewise.
* ppc.h (SHF_EXCLUDE): Likewise.
* sparc.h (SHF_EXCLUDE): Likewise.
2010-04-23 Alan Modra <amodra@gmail.com>
* internal.h (ELF_SECTION_SIZE): Protect macro args with parentheses.
Invert logic to clarify test for .tbss.
(ELF_IS_SECTION_IN_SEGMENT): Rename to..
(ELF_SECTION_IN_SEGMENT_1): ..this. Add check_vma param. Protect
macro args with parentheses.
(ELF_SECTION_IN_SEGMENT): Define.
(ELF_IS_SECTION_IN_SEGMENT_FILE): Delete.
(ELF_IS_SECTION_IN_SEGMENT_MEMORY): Delete.
2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* arm.h (Tag_FP_arch, Tag_ABI_align_needed, Tag_ABI_align_preserved,
Tag_FP_HP_extension): Add new ABI attribute tags.
2010-04-15 Nick Clifton <nickc@redhat.com>
* alpha.h: Update copyright notice to use GPLv3.
* arc.h: Likewise.
* arm.h: Likewise.
* avr.h: Likewise.
* bfin.h: Likewise.
* common.h: Likewise.
* cr16.h: Likewise.
* cr16c.h: Likewise.
* cris.h: Likewise.
* crx.h: Likewise.
* d10v.h: Likewise.
* d30v.h: Likewise.
* dlx.h: Likewise.
* dwarf.h: Likewise.
* external.h: Likewise.
* fr30.h: Likewise.
* frv.h: Likewise.
* h8.h: Likewise.
* hppa.h: Likewise.
* i370.h: Likewise.
* i386.h: Likewise.
* i860.h: Likewise.
* i960.h: Likewise.
* ia64.h: Likewise.
* internal.h: Likewise.
* ip2k.h: Likewise.
* iq2000.h: Likewise.
* lm32.h: Likewise.
* m32c.h: Likewise.
* m32r.h: Likewise.
* m68hc11.h: Likewise.
* m68k.h: Likewise.
* mcore.h: Likewise.
* mep.h: Likewise.
* microblaze.h: Likewise.
* mips.h: Likewise.
* mmix.h: Likewise.
* mn10200.h: Likewise.
* moxie.h: Likewise.
* msp430.h: Likewise.
* mt.h: Likewise.
* openrisc.h: Likewise.
* or32.h: Likewise.
* pj.h: Likewise.
* ppc.h: Likewise.
* ppc64.h: Likewise.
* reloc-macros.h: Likewise.
* rx.h: Likewise.
* s390.h: Likewise.
* sh.h: Likewise.
* sparc.h: Likewise.
* spu.h: Likewise.
* v850.h: Likewise.
* vax.h: Likewise.
* vxworks.h: Likewise.
* x86-64.h: Likewise.
* xc16x.h: Likewise.
* xstormy16.h: Likewise.
* xtensa.h: Likewise.
2010-04-08 David Stubbs <stubbs@icerasemi.com>
* internal.h (ELF_IS_SECTION_IN_SEGMENT): PT_PHDR program headers
cannot contain any sections.
2010-03-25 Joseph Myers <joseph@codesourcery.com>
* common.h (ELFOSABI_C6000_ELFABI, ELFOSABI_C6000_LINUX): Define.
* tic6x.h: New.
2010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* common.h (VER_FLG_*): Document.
(VER_FLG_INFO): Define.
2010-02-23 Andrew Zabolotny <anpaza@mail.ru>
PR binutils/11297
* avr.h: (R_AVR_8): New relocation number.
2010-02-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* arm.h (Tag_MPextension_use): Renumber.
(Tag_DIV_use): Add.
(Tag_MPextension_use_legacy): Likewise.
2010-02-09 Michael Holzheu <holzheu@de.ibm.com>
* common.h (NT_S390_TIMER, NT_S390_TODCMP, NT_S390_TODPREG,
NT_S390_CTRS and NT_S390_PREFIX): Define.
2010-02-08 David S. Miller <davem@davemloft.net>
* sparc.h (R_SPARC_JMP_IREL, R_SPARC_IRELATIVE): Define.
2010-02-02 H.J. Lu <hongjiu.lu@intel.com>
* common.h (NT_386_XSTATE): New.
2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* s390.h (EF_S390_HIGH_GPRS): Added macro definition.
2010-01-19 Daisuke Hatayama <d.hatayama@jp.fujitsu.com>
* common.h (PN_XNUM): Define.
2009-12-18 Ulrich Weigand <uweigand@de.ibm.com>
* common.h (NT_S390_HIGH_GPRS): Define.
2009-12-17 Alan Modra <amodra@bigpond.net.au>
* ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT,
R_PPC_RELAX32PC_PLT): Delete.
(R_PPC_RELAX, R_PPC_RELAX_PLT, R_PPC_RELAX_PLTREL24): Define.
2009-12-03 David Daney <ddaney@caviumnetworks.com>
Adam Nemet <adambnemet@gmail.com>
* mips.h (E_MIPS_MACH_OCTEON2): New machine flag.
2009-11-28 Joseph Myers <joseph@codesourcery.com>
* common.h (ELFOSABI_FENIXOS, EM_TI_C6000, EM_TI_C2000,
EM_TI_C5500, EM_CUDA): Define.
(EM_res140, EM_res141, EM_res142): Remove.
2009-11-17 Paul Brook <paul@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* arm.h (TAG_CPU_ARCH_V7E_M): Define.
2009-09-29 DJ Delorie <dj@redhat.com>
* rx.h: New file.
2009-09-21 Alan Modra <amodra@bigpond.net.au>
* ppc.h (DT_PPC_TLSOPT): Define.
@@ -36,11 +798,11 @@
R_push, R_const, R_add, R_sub, R_mult, R_div, R_mod, R_lshift,
R_rshift, R_and, R_or, R_xor, R_land, R_lor, R_len, R_neg, R_comp,
R_page, R_hwpage, R_addr, R_pltpc, R_got.
2009-08-09 Michael Eager <eager@eagercon.com>
* elf/common.h: Define EM_resnnn reserved values. Add EM_AVR32,
EM_STM8, EM_TILE64, EM_TILEPRO. Change EM_MICROBLAZE.
EM_STM8, EM_TILE64, EM_TILEPRO. Change EM_MICROBLAZE.
2009-08-06 Michael Eager <eager@eagercon.com>
@@ -146,8 +908,8 @@
2009-03-14 Mark Kettenis <kettenis@gnu.org>
* common.h (NT_OPENBSD_PROCINFO, NT_OPENBSD_AUXV)
(NT_OPENBSD_REGS, NT_OPENBSD_FPREGS, NT_OPENBSD_XFPREGS)
* common.h (NT_OPENBSD_PROCINFO, NT_OPENBSD_AUXV)
(NT_OPENBSD_REGS, NT_OPENBSD_FPREGS, NT_OPENBSD_XFPREGS)
(NT_OPENBSD_WCOOKIE): New defines.
2009-03-16 Jan Kratochvil <jan.kratochvil@redhat.com>
@@ -230,7 +992,7 @@
2008-11-14 Nathan Sidwell <nathan@codesourcery.com>
* internal.h (struct elf_segment_map): Add header_size field.
2008-10-13 Ulrich Weigand <uweigand@de.ibm.com>
* common.h (AT_BASE_PLATFORM, AT_EXECFN): Define.
@@ -304,7 +1066,7 @@
END_RELOC_NUMBERS symbol as a sentinel value.
2008-05-15 Christophe Lyon <christophe.lyon@st.com>
* arm.h (END_RELOC_NUMBERS): Provide a maximum value.
2008-04-16 David S. Miller <davem@davemloft.net>
@@ -1145,6 +1907,12 @@
For older changes see ChangeLog-9103
Copyright (C) 2004-2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Local Variables:
mode: change-log
left-margin: 8
+9
View File
@@ -1943,6 +1943,15 @@ Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com)
../elf-<foo>
Copyright (C) 1991-2003 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
+335
View File
@@ -0,0 +1,335 @@
/* AArch64 ELF support for BFD.
Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GNU Binutils.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the license, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not,
see <http://www.gnu.org/licenses/>. */
#ifndef _ELF_AARCH64_H
#define _ELF_AARCH64_H
#include "elf/reloc-macros.h"
/* Processor specific program header types. */
#define PT_AARCH64_ARCHEXT (PT_LOPROC + 0)
/* Additional section types. */
#define SHT_AARCH64_ATTRIBUTES 0x70000003 /* Section holds attributes. */
/* AArch64-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. */
/* Relocation types. */
START_RELOC_NUMBERS (elf_aarch64_reloc_type)
/* Null relocations. */
RELOC_NUMBER (R_AARCH64_NONE, 0) /* No reloc */
/* Basic data relocations. */
/* .word: (S+A) */
RELOC_NUMBER (R_AARCH64_P32_ABS32, 1)
/* .half: (S+A) */
RELOC_NUMBER (R_AARCH64_P32_ABS16, 2)
/* .word: (S+A-P) */
RELOC_NUMBER (R_AARCH64_P32_PREL32, 3)
/* .half: (S+A-P) */
RELOC_NUMBER (R_AARCH64_P32_PREL16, 4)
/* Group relocations to create a 16, 32, 48 or 64 bit
unsigned data or abs address inline. */
/* MOV[ZK]: ((S+A) >> 0) & 0xffff */
RELOC_NUMBER (R_AARCH64_P32_MOVW_UABS_G0, 5)
/* MOV[ZK]: ((S+A) >> 0) & 0xffff */
RELOC_NUMBER (R_AARCH64_P32_MOVW_UABS_G0_NC, 6)
/* MOV[ZK]: ((S+A) >> 16) & 0xffff */
RELOC_NUMBER (R_AARCH64_P32_MOVW_UABS_G1, 7)
/* Group relocations to create high part of a 16, 32, 48 or 64 bit
signed data or abs address inline. Will change instruction
to MOVN or MOVZ depending on sign of calculated value. */
/* MOV[ZN]: ((S+A) >> 0) & 0xffff */
RELOC_NUMBER (R_AARCH64_P32_MOVW_SABS_G0, 8)
/* Relocations to generate 19, 21 and 33 bit PC-relative load/store
addresses: PG(x) is (x & ~0xfff). */
/* LD-lit: ((S+A-P) >> 2) & 0x7ffff */
RELOC_NUMBER (R_AARCH64_P32_LD_PREL_LO19, 9)
/* ADR: (S+A-P) & 0x1fffff */
RELOC_NUMBER (R_AARCH64_P32_ADR_PREL_LO21, 10)
/* ADRH: ((PG(S+A)-PG(P)) >> 12) & 0x1fffff */
RELOC_NUMBER (R_AARCH64_P32_ADR_PREL_PG_HI21, 11)
/* ADD: (S+A) & 0xfff */
RELOC_NUMBER (R_AARCH64_P32_ADD_ABS_LO12_NC, 12)
/* LD/ST8: (S+A) & 0xfff */
RELOC_NUMBER (R_AARCH64_P32_LDST8_ABS_LO12_NC, 13)
/* LD/ST16: (S+A) & 0xffe */
RELOC_NUMBER (R_AARCH64_P32_LDST16_ABS_LO12_NC, 14)
/* LD/ST32: (S+A) & 0xffc */
RELOC_NUMBER (R_AARCH64_P32_LDST32_ABS_LO12_NC, 15)
/* LD/ST64: (S+A) & 0xff8 */
RELOC_NUMBER (R_AARCH64_P32_LDST64_ABS_LO12_NC, 16)
/* LD/ST128: (S+A) & 0xff0 */
RELOC_NUMBER (R_AARCH64_P32_LDST128_ABS_LO12_NC, 17)
/* Relocations for control-flow instructions. */
/* TBZ/NZ: ((S+A-P) >> 2) & 0x3fff. */
RELOC_NUMBER (R_AARCH64_P32_TSTBR14, 18)
/* B.cond: ((S+A-P) >> 2) & 0x7ffff. */
RELOC_NUMBER (R_AARCH64_P32_CONDBR19, 19)
/* B: ((S+A-P) >> 2) & 0x3ffffff. */
RELOC_NUMBER (R_AARCH64_P32_JUMP26, 20)
/* BL: ((S+A-P) >> 2) & 0x3ffffff. */
RELOC_NUMBER (R_AARCH64_P32_CALL26, 21)
RELOC_NUMBER (R_AARCH64_P32_GOT_LD_PREL19, 25)
RELOC_NUMBER (R_AARCH64_P32_ADR_GOT_PAGE, 26)
RELOC_NUMBER (R_AARCH64_P32_LD32_GOT_LO12_NC, 27)
RELOC_NUMBER (R_AARCH64_P32_TLSGD_ADR_PAGE21, 81)
RELOC_NUMBER (R_AARCH64_P32_TLSGD_ADD_LO12_NC, 82)
RELOC_NUMBER (R_AARCH64_P32_TLSIE_ADR_GOTTPREL_PAGE21, 103)
RELOC_NUMBER (R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC, 104)
RELOC_NUMBER (R_AARCH64_P32_TLSIE_LD_GOTTPREL_PREL19, 105)
RELOC_NUMBER (R_AARCH64_P32_TLSLE_MOVW_TPREL_G1, 106)
RELOC_NUMBER (R_AARCH64_P32_TLSLE_MOVW_TPREL_G0, 107)
RELOC_NUMBER (R_AARCH64_P32_TLSLE_MOVW_TPREL_G0_NC, 108)
RELOC_NUMBER (R_AARCH64_P32_TLSLE_ADD_TPREL_HI12, 109)
RELOC_NUMBER (R_AARCH64_P32_TLSLE_ADD_TPREL_LO12, 110)
RELOC_NUMBER (R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC, 111)
RELOC_NUMBER (R_AARCH64_P32_TLSDESC_LD_PREL19, 122)
RELOC_NUMBER (R_AARCH64_P32_TLSDESC_ADR_PREL21, 123)
RELOC_NUMBER (R_AARCH64_P32_TLSDESC_ADR_PAGE21, 124)
RELOC_NUMBER (R_AARCH64_P32_TLSDESC_LD32_LO12_NC, 125)
RELOC_NUMBER (R_AARCH64_P32_TLSDESC_ADD_LO12_NC, 126)
RELOC_NUMBER (R_AARCH64_P32_TLSDESC_CALL, 127)
/* Dynamic relocations */
/* Copy symbol at runtime. */
RELOC_NUMBER (R_AARCH64_P32_COPY, 180)
/* Create GOT entry. */
RELOC_NUMBER (R_AARCH64_P32_GLOB_DAT, 181)
/* Create PLT entry. */
RELOC_NUMBER (R_AARCH64_P32_JUMP_SLOT, 182)
/* Adjust by program base. */
RELOC_NUMBER (R_AARCH64_P32_RELATIVE, 183)
RELOC_NUMBER (R_AARCH64_P32_TLS_DTPMOD, 184)
RELOC_NUMBER (R_AARCH64_P32_TLS_DTPREL, 185)
RELOC_NUMBER (R_AARCH64_P32_TLS_TPREL, 186)
RELOC_NUMBER (R_AARCH64_P32_TLSDESC, 187)
RELOC_NUMBER (R_AARCH64_P32_IRELATIVE, 188)
RELOC_NUMBER (R_AARCH64_NULL, 256) /* No reloc */
/* Basic data relocations. */
/* .xword: (S+A) */
RELOC_NUMBER (R_AARCH64_ABS64, 257)
/* .word: (S+A) */
RELOC_NUMBER (R_AARCH64_ABS32, 258)
/* .half: (S+A) */
RELOC_NUMBER (R_AARCH64_ABS16, 259)
/* .xword: (S+A-P) */
RELOC_NUMBER (R_AARCH64_PREL64, 260)
/* .word: (S+A-P) */
RELOC_NUMBER (R_AARCH64_PREL32, 261)
/* .half: (S+A-P) */
RELOC_NUMBER (R_AARCH64_PREL16, 262)
/* Group relocations to create a 16, 32, 48 or 64 bit
unsigned data or abs address inline. */
/* MOV[ZK]: ((S+A) >> 0) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_UABS_G0, 263)
/* MOV[ZK]: ((S+A) >> 0) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_UABS_G0_NC, 264)
/* MOV[ZK]: ((S+A) >> 16) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_UABS_G1, 265)
/* MOV[ZK]: ((S+A) >> 16) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_UABS_G1_NC, 266)
/* MOV[ZK]: ((S+A) >> 32) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_UABS_G2, 267)
/* MOV[ZK]: ((S+A) >> 32) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_UABS_G2_NC, 268)
/* MOV[ZK]: ((S+A) >> 48) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_UABS_G3, 269)
/* Group relocations to create high part of a 16, 32, 48 or 64 bit
signed data or abs address inline. Will change instruction
to MOVN or MOVZ depending on sign of calculated value. */
/* MOV[ZN]: ((S+A) >> 0) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_SABS_G0, 270)
/* MOV[ZN]: ((S+A) >> 16) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_SABS_G1, 271)
/* MOV[ZN]: ((S+A) >> 32) & 0xffff */
RELOC_NUMBER (R_AARCH64_MOVW_SABS_G2, 272)
/* Relocations to generate 19, 21 and 33 bit PC-relative load/store
addresses: PG(x) is (x & ~0xfff). */
/* LD-lit: ((S+A-P) >> 2) & 0x7ffff */
RELOC_NUMBER (R_AARCH64_LD_PREL_LO19, 273)
/* ADR: (S+A-P) & 0x1fffff */
RELOC_NUMBER (R_AARCH64_ADR_PREL_LO21, 274)
/* ADRH: ((PG(S+A)-PG(P)) >> 12) & 0x1fffff */
RELOC_NUMBER (R_AARCH64_ADR_PREL_PG_HI21, 275)
/* ADRH: ((PG(S+A)-PG(P)) >> 12) & 0x1fffff */
RELOC_NUMBER (R_AARCH64_ADR_PREL_PG_HI21_NC, 276)
/* ADD: (S+A) & 0xfff */
RELOC_NUMBER (R_AARCH64_ADD_ABS_LO12_NC, 277)
/* LD/ST8: (S+A) & 0xfff */
RELOC_NUMBER (R_AARCH64_LDST8_ABS_LO12_NC, 278)
/* Relocations for control-flow instructions. */
/* TBZ/NZ: ((S+A-P) >> 2) & 0x3fff. */
RELOC_NUMBER (R_AARCH64_TSTBR14, 279)
/* B.cond: ((S+A-P) >> 2) & 0x7ffff. */
RELOC_NUMBER (R_AARCH64_CONDBR19, 280)
/* 281 unused */
/* B: ((S+A-P) >> 2) & 0x3ffffff. */
RELOC_NUMBER (R_AARCH64_JUMP26, 282)
/* BL: ((S+A-P) >> 2) & 0x3ffffff. */
RELOC_NUMBER (R_AARCH64_CALL26, 283)
/* LD/ST16: (S+A) & 0xffe */
RELOC_NUMBER (R_AARCH64_LDST16_ABS_LO12_NC, 284)
/* LD/ST32: (S+A) & 0xffc */
RELOC_NUMBER (R_AARCH64_LDST32_ABS_LO12_NC, 285)
/* LD/ST64: (S+A) & 0xff8 */
RELOC_NUMBER (R_AARCH64_LDST64_ABS_LO12_NC, 286)
/* LD/ST128: (S+A) & 0xff0 */
RELOC_NUMBER (R_AARCH64_LDST128_ABS_LO12_NC, 299)
RELOC_NUMBER (R_AARCH64_GOT_LD_PREL19, 309)
RELOC_NUMBER (R_AARCH64_ADR_GOT_PAGE, 311)
RELOC_NUMBER (R_AARCH64_LD64_GOT_LO12_NC, 312)
RELOC_NUMBER (R_AARCH64_TLSGD_ADR_PAGE21, 513)
RELOC_NUMBER (R_AARCH64_TLSGD_ADD_LO12_NC, 514)
RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G1, 539)
RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, 540)
RELOC_NUMBER (R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, 541)
RELOC_NUMBER (R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, 542)
RELOC_NUMBER (R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, 543)
RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G2, 544)
RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1, 545)
RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, 546)
RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G0, 547)
RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G0_NC, 548)
RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_HI12, 549)
RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12, 550)
RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12_NC, 551)
RELOC_NUMBER (R_AARCH64_TLSDESC_LD_PREL19, 560)
RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PREL21, 561)
RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PAGE21, 562)
RELOC_NUMBER (R_AARCH64_TLSDESC_LD64_LO12_NC, 563)
RELOC_NUMBER (R_AARCH64_TLSDESC_ADD_LO12_NC, 564)
RELOC_NUMBER (R_AARCH64_TLSDESC_OFF_G1, 565)
RELOC_NUMBER (R_AARCH64_TLSDESC_OFF_G0_NC, 566)
RELOC_NUMBER (R_AARCH64_TLSDESC_LDR, 567)
RELOC_NUMBER (R_AARCH64_TLSDESC_ADD, 568)
RELOC_NUMBER (R_AARCH64_TLSDESC_CALL, 569)
/* Dynamic relocations */
/* Copy symbol at runtime. */
RELOC_NUMBER (R_AARCH64_COPY, 1024)
/* Create GOT entry. */
RELOC_NUMBER (R_AARCH64_GLOB_DAT, 1025)
/* Create PLT entry. */
RELOC_NUMBER (R_AARCH64_JUMP_SLOT, 1026)
/* Adjust by program base. */
RELOC_NUMBER (R_AARCH64_RELATIVE, 1027)
RELOC_NUMBER (R_AARCH64_TLS_DTPMOD64, 1028)
RELOC_NUMBER (R_AARCH64_TLS_DTPREL64, 1029)
RELOC_NUMBER (R_AARCH64_TLS_TPREL64, 1030)
/* Aliasing relocs are guarded by RELOC_MACROS_GEN_FUNC
so that readelf.c won't generate duplicated case
statements. */
#ifndef RELOC_MACROS_GEN_FUNC
RELOC_NUMBER (R_AARCH64_TLS_DTPMOD, 1028)
RELOC_NUMBER (R_AARCH64_TLS_DTPREL, 1029)
RELOC_NUMBER (R_AARCH64_TLS_TPREL, 1030)
#endif
RELOC_NUMBER (R_AARCH64_TLSDESC, 1031)
RELOC_NUMBER (R_AARCH64_IRELATIVE, 1032)
END_RELOC_NUMBERS (R_AARCH64_end)
#endif /* _ELF_AARCH64_H */
+14 -13
View File
@@ -1,24 +1,25 @@
/* ALPHA ELF support for BFD.
Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright 1996, 1998, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
By Eric Youngdale, <eric@aib.com>. No processor supplement available
for this platform.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the ALPHA ELF ABI. Note
that most of this is not actually implemented by BFD. */
+14 -13
View File
@@ -1,22 +1,23 @@
/* ARC ELF support for BFD.
Copyright 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
Copyright 1995, 1997, 1998, 2000, 2001, 2010 Free Software Foundation, Inc.
Contributed by Doug Evans, (dje@cygnus.com)
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the ARC ELF ABI. */
+44 -10
View File
@@ -1,12 +1,12 @@
/* ARM ELF support for BFD.
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -46,6 +46,11 @@
#define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT. */
#define EF_ARM_EABIMASK 0xFF000000
/* New constants defined in the ARM ELF spec. version XXX.
Only valid in conjunction with EF_ARM_EABI_VER5. */
#define EF_ARM_ABI_FLOAT_SOFT 0x200 /* NB conflicts with EF_ARM_SOFT_FLOAT. */
#define EF_ARM_ABI_FLOAT_HARD 0x400 /* NB conflicts with EF_ARM_VFP_FLOAT. */
/* Constants defined in AAELF. */
#define EF_ARM_BE8 0x00800000
#define EF_ARM_LE8 0x00400000
@@ -100,7 +105,9 @@
#define TAG_CPU_ARCH_V7 10
#define TAG_CPU_ARCH_V6_M 11
#define TAG_CPU_ARCH_V6S_M 12
#define MAX_TAG_CPU_ARCH 12
#define TAG_CPU_ARCH_V7E_M 13
#define TAG_CPU_ARCH_V8 14
#define MAX_TAG_CPU_ARCH 14
/* Pseudo-architecture to allow objects to be compatible with the subset of
armv4t and armv6-m. This value should never be stored in object files. */
#define TAG_CPU_ARCH_V4T_PLUS_V6_M (MAX_TAG_CPU_ARCH + 1)
@@ -122,7 +129,7 @@ START_RELOC_NUMBERS (elf_arm_reloc_type)
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_TLS_DESC, 13)
RELOC_NUMBER (R_ARM_THM_SWI8, 14) /* obsolete */
RELOC_NUMBER (R_ARM_XPC25, 15) /* obsolete */
RELOC_NUMBER (R_ARM_THM_XPC22, 16) /* obsolete */
@@ -199,7 +206,10 @@ START_RELOC_NUMBERS (elf_arm_reloc_type)
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_TLS_GOTDESC, 90)
RELOC_NUMBER (R_ARM_TLS_CALL, 91)
RELOC_NUMBER (R_ARM_TLS_DESCSEQ, 92)
RELOC_NUMBER (R_ARM_THM_TLS_CALL, 93)
RELOC_NUMBER (R_ARM_PLT32_ABS, 94)
RELOC_NUMBER (R_ARM_GOT_ABS, 95)
RELOC_NUMBER (R_ARM_GOT_PREL, 96)
@@ -220,6 +230,9 @@ START_RELOC_NUMBERS (elf_arm_reloc_type)
RELOC_NUMBER (R_ARM_TLS_IE12GP, 111)
/* 112 - 127 private range */
RELOC_NUMBER (R_ARM_ME_TOO, 128) /* obsolete */
RELOC_NUMBER (R_ARM_THM_TLS_DESCSEQ ,129)
RELOC_NUMBER (R_ARM_IRELATIVE, 160)
/* Extensions? R=read-only? */
RELOC_NUMBER (R_ARM_RXPC25, 249)
@@ -257,7 +270,7 @@ enum
Tag_CPU_arch_profile,
Tag_ARM_ISA_use,
Tag_THUMB_ISA_use,
Tag_VFP_arch,
Tag_FP_arch,
Tag_WMMX_arch,
Tag_Advanced_SIMD_arch,
Tag_PCS_config,
@@ -271,8 +284,8 @@ enum
Tag_ABI_FP_exceptions,
Tag_ABI_FP_user_exceptions,
Tag_ABI_FP_number_model,
Tag_ABI_align8_needed,
Tag_ABI_align8_preserved,
Tag_ABI_align_needed,
Tag_ABI_align_preserved,
Tag_ABI_enum_size,
Tag_ABI_HardFP_use,
Tag_ABI_VFP_args,
@@ -283,17 +296,28 @@ enum
Tag_undefined33 = 33,
Tag_CPU_unaligned_access,
Tag_undefined35,
Tag_VFP_HP_extension,
Tag_FP_HP_extension,
Tag_undefined37,
Tag_ABI_FP_16bit_format,
Tag_undefined39,
Tag_undefined40,
Tag_undefined41,
Tag_MPextension_use,
Tag_undefined_43,
Tag_DIV_use,
Tag_nodefaults = 64,
Tag_also_compatible_with,
Tag_T2EE_use,
Tag_conformance,
Tag_Virtualization_use,
Tag_undefined69,
Tag_MPextension_use
Tag_MPextension_use_legacy,
/* The following tags are legacy names for other tags. */
Tag_VFP_arch = Tag_FP_arch,
Tag_ABI_align8_needed = Tag_ABI_align_needed,
Tag_ABI_align8_preserved = Tag_ABI_align_preserved,
Tag_VFP_HP_extension = Tag_FP_HP_extension
};
#endif
@@ -307,4 +331,14 @@ enum
#define ELF_STRING_ARM_unwind_once ".gnu.linkonce.armexidx."
#define ELF_STRING_ARM_unwind_info_once ".gnu.linkonce.armextab."
enum arm_st_branch_type {
ST_BRANCH_TO_ARM,
ST_BRANCH_TO_THUMB,
ST_BRANCH_LONG,
ST_BRANCH_UNKNOWN
};
#define ARM_SYM_BRANCH_TYPE(SYM) \
((enum arm_st_branch_type) (SYM)->st_target_internal)
#endif /* _ELF_ARM_H */
+26 -14
View File
@@ -1,12 +1,13 @@
/* AVR ELF support for BFD.
Copyright 1999, 2000, 2004, 2006 Free Software Foundation, Inc.
Copyright 1999, 2000, 2004, 2006, 2010, 2012
Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -15,8 +16,8 @@
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. */
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
@@ -30,16 +31,23 @@
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_AVR25 25
#define E_AVR_MACH_AVR3 3
#define E_AVR_MACH_AVR31 31
#define E_AVR_MACH_AVR35 35
#define E_AVR_MACH_AVR4 4
#define E_AVR_MACH_AVR5 5
#define E_AVR_MACH_AVR51 51
#define E_AVR_MACH_AVR6 6
#define E_AVR_MACH_AVR1 1
#define E_AVR_MACH_AVR2 2
#define E_AVR_MACH_AVR25 25
#define E_AVR_MACH_AVR3 3
#define E_AVR_MACH_AVR31 31
#define E_AVR_MACH_AVR35 35
#define E_AVR_MACH_AVR4 4
#define E_AVR_MACH_AVR5 5
#define E_AVR_MACH_AVR51 51
#define E_AVR_MACH_AVR6 6
#define E_AVR_MACH_XMEGA1 101
#define E_AVR_MACH_XMEGA2 102
#define E_AVR_MACH_XMEGA3 103
#define E_AVR_MACH_XMEGA4 104
#define E_AVR_MACH_XMEGA5 105
#define E_AVR_MACH_XMEGA6 106
#define E_AVR_MACH_XMEGA7 107
/* Relocations. */
START_RELOC_NUMBERS (elf_avr_reloc_type)
@@ -69,6 +77,10 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
RELOC_NUMBER (R_AVR_MS8_LDI_NEG, 23)
RELOC_NUMBER (R_AVR_LO8_LDI_GS, 24)
RELOC_NUMBER (R_AVR_HI8_LDI_GS, 25)
RELOC_NUMBER (R_AVR_8, 26)
RELOC_NUMBER (R_AVR_8_LO8, 27)
RELOC_NUMBER (R_AVR_8_HI8, 28)
RELOC_NUMBER (R_AVR_8_HLO8, 29)
END_RELOC_NUMBERS (R_AVR_max)
#endif /* _ELF_AVR_H */
+16 -13
View File
@@ -1,21 +1,21 @@
/* Blackfin ELF support for BFD.
Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_BFIN_H
#define _ELF_BFIN_H
@@ -88,5 +88,8 @@ END_RELOC_NUMBERS (R_BFIN_max)
#define EF_BFIN_PIC 0x00000001 /* -fpic */
#define EF_BFIN_FDPIC 0x00000002 /* -mfdpic */
#define EF_BFIN_CODE_IN_L1 0x00000010 /* --code-in-l1 */
#define EF_BFIN_DATA_IN_L1 0x00000020 /* --data-in-l1 */
#define EF_BFIN_PIC_FLAGS (EF_BFIN_PIC | EF_BFIN_FDPIC)
#endif /* _ELF_BFIN_H */
+110 -19
View File
@@ -1,7 +1,5 @@
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Copyright 1991-2013 Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
in "UNIX System V Release 4, Programmers Guide: ANSI C and
@@ -11,7 +9,7 @@
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -21,8 +19,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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, 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
that are common to both the internal and external representations.
@@ -62,8 +60,8 @@
#define ELFOSABI_NONE 0 /* UNIX System V ABI */
#define ELFOSABI_HPUX 1 /* HP-UX operating system */
#define ELFOSABI_NETBSD 2 /* NetBSD */
#define ELFOSABI_LINUX 3 /* GNU/Linux */
#define ELFOSABI_HURD 4 /* GNU/Hurd */
#define ELFOSABI_GNU 3 /* GNU */
#define ELFOSABI_LINUX 3 /* Alias for ELFOSABI_GNU */
#define ELFOSABI_SOLARIS 6 /* Solaris */
#define ELFOSABI_AIX 7 /* AIX */
#define ELFOSABI_IRIX 8 /* IRIX */
@@ -74,6 +72,9 @@
#define ELFOSABI_OPENVMS 13 /* OpenVMS */
#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
#define ELFOSABI_AROS 15 /* AROS */
#define ELFOSABI_FENIXOS 16 /* FenixOS */
#define ELFOSABI_C6000_ELFABI 64 /* Bare-metal TMS320C6000 */
#define ELFOSABI_C6000_LINUX 65 /* Linux TMS320C6000 */
#define ELFOSABI_ARM 97 /* ARM */
#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
@@ -156,7 +157,7 @@
#define EM_MMA 54 /* Fujitsu Multimedia Accelerator */
#define EM_PCP 55 /* Siemens PCP */
#define EM_NCPU 56 /* Sony nCPU embedded RISC processor */
#define EM_NDR1 57 /* Denso NDR1 microprocesspr */
#define EM_NDR1 57 /* Denso NDR1 microprocessor */
#define EM_STARCORE 58 /* Motorola Star*Core processor */
#define EM_ME16 59 /* Toyota ME16 processor */
#define EM_ST100 60 /* STMicroelectronics ST100 processor */
@@ -186,7 +187,7 @@
#define EM_FR30 84 /* Fujitsu FR30 */
#define EM_D10V 85 /* Mitsubishi D10V */
#define EM_D30V 86 /* Mitsubishi D30V */
#define EM_V850 87 /* NEC v850 */
#define EM_V850 87 /* Renesas V850 (formerly NEC V850) */
#define EM_M32R 88 /* Renesas M32R (formerly Mitsubishi M32R) */
#define EM_MN10300 89 /* Matsushita MN10300 */
#define EM_MN10200 90 /* Matsushita MN10200 */
@@ -240,9 +241,9 @@
#define EM_VIDEOCORE3 137 /* Broadcom VideoCore III processor */
#define EM_LATTICEMICO32 138 /* RISC processor for Lattice FPGA architecture */
#define EM_SE_C17 139 /* Seiko Epson C17 family */
#define EM_res140 140 /* Reserved */
#define EM_res141 141 /* Reserved */
#define EM_res142 142 /* Reserved */
#define EM_TI_C6000 140 /* Texas Instruments TMS320C6000 DSP family */
#define EM_TI_C2000 141 /* Texas Instruments TMS320C2000 DSP family */
#define EM_TI_C5500 142 /* Texas Instruments TMS320C55x DSP family */
#define EM_res143 143 /* Reserved */
#define EM_res144 144 /* Reserved */
#define EM_res145 145 /* Reserved */
@@ -275,22 +276,31 @@
#define EM_MANIK 171 /* M2000 Reconfigurable RISC Microprocessor */
#define EM_CRAYNV2 172 /* Cray Inc. NV2 vector architecture */
#define EM_RX 173 /* Renesas RX family */
#define EM_METAG 174 /* Imagination Technologies META processor architecture */
#define EM_METAG 174 /* Imagination Technologies Meta processor architecture */
#define EM_MCST_ELBRUS 175 /* MCST Elbrus general purpose hardware architecture */
#define EM_ECOG16 176 /* Cyan Technology eCOG16 family */
#define EM_CR16 177 /* National Semiconductor CompactRISC 16-bit processor */
#define EM_ETPU 178 /* Freescale Extended Time Processing Unit */
#define EM_SLE9X 179 /* Infineon Technologies SLE9X core */
#define EM_L1OM 180 /* Intel L1OM */
#define EM_INTEL181 181 /* Reserved by Intel */
#define EM_K1OM 181 /* Intel K1OM */
#define EM_INTEL182 182 /* Reserved by Intel */
#define EM_res183 183 /* Reserved by ARM */
#define EM_res184 184 /* Reserved by ARM */
#define EM_AARCH64 183 /* ARM 64-bit architecture */
#define EM_ARM184 184 /* Reserved by ARM */
#define EM_AVR32 185 /* Atmel Corporation 32-bit microprocessor family */
#define EM_STM8 186 /* STMicroeletronics STM8 8-bit microcontroller */
#define EM_TILE64 187 /* Tilera TILE64 multicore architecture family */
#define EM_TILEPRO 188 /* Tilera TILEPro multicore architecture family */
#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze 32-bit RISC soft processor core */
#define EM_CUDA 190 /* NVIDIA CUDA architecture */
#define EM_TILEGX 191 /* Tilera TILE-Gx multicore architecture family */
#define EM_RL78 197 /* Renesas RL78 family. */
#define EM_78K0R 199 /* Renesas 78K0R. */
#define EM_INTEL205 205 /* Reserved by Intel */
#define EM_INTEL206 206 /* Reserved by Intel */
#define EM_INTEL207 207 /* Reserved by Intel */
#define EM_INTEL208 208 /* Reserved by Intel */
#define EM_INTEL209 209 /* Reserved by Intel */
/* If it is necessary to assign new unofficial EM_* values, please pick large
random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
@@ -396,6 +406,8 @@
#define EM_MICROBLAZE_OLD 0xbaab /* Old MicroBlaze */
#define EM_ADAPTEVA_EPIPHANY 0x1223 /* Adapteva's Epiphany architecture. */
/* See the above comment before you add a new EM_* value here. */
/* Values for e_version. */
@@ -403,6 +415,9 @@
#define EV_NONE 0 /* Invalid ELF version */
#define EV_CURRENT 1 /* Current version */
/* Value for e_phnum. */
#define PN_XNUM 0xffff /* Extended numbering */
/* Values for program header, p_type field. */
#define PT_NULL 0 /* Program header table entry unused */
@@ -495,6 +510,15 @@
#define SHF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */
#define SHF_MASKPROC 0xF0000000 /* Processor-specific semantics */
/* This used to be implemented as a processor specific section flag.
We just make it generic. */
#define SHF_EXCLUDE 0x80000000 /* Link editor is to exclude
this section from executable
and shared library that it
builds when those objects
are not to be further
relocated. */
/* Values of note segment descriptor types for core files. */
#define NT_PRSTATUS 1 /* Contains copy of prstatus struct */
@@ -508,6 +532,41 @@
/* note name must be "LINUX". */
#define NT_PPC_VSX 0x102 /* PowerPC VSX registers */
/* note name must be "LINUX". */
#define NT_386_TLS 0x200 /* x86 TLS information */
/* note name must be "LINUX". */
#define NT_386_IOPERM 0x201 /* x86 io permissions */
/* note name must be "LINUX". */
#define NT_X86_XSTATE 0x202 /* x86 XSAVE extended state */
/* note name must be "LINUX". */
#define NT_S390_HIGH_GPRS 0x300 /* S/390 upper halves of GPRs */
/* note name must be "LINUX". */
#define NT_S390_TIMER 0x301 /* S390 timer */
/* note name must be "LINUX". */
#define NT_S390_TODCMP 0x302 /* S390 TOD clock comparator */
/* note name must be "LINUX". */
#define NT_S390_TODPREG 0x303 /* S390 TOD programmable register */
/* note name must be "LINUX". */
#define NT_S390_CTRS 0x304 /* S390 control registers */
/* note name must be "LINUX". */
#define NT_S390_PREFIX 0x305 /* S390 prefix register */
/* note name must be "LINUX". */
#define NT_S390_LAST_BREAK 0x306 /* S390 breaking event address */
/* note name must be "LINUX". */
#define NT_S390_SYSTEM_CALL 0x307 /* S390 system call restart data */
/* note name must be "LINUX". */
#define NT_S390_TDB 0x308 /* S390 transaction diagnostic block */
/* note name must be "LINUX". */
#define NT_ARM_VFP 0x400 /* ARM VFP registers */
/* The following definitions should really use NT_AARCH_..., but defined
this way for compatibility with Linux. */
#define NT_ARM_TLS 0x401 /* AArch TLS registers */
/* note name must be "LINUX". */
#define NT_ARM_HW_BREAK 0x402 /* AArch hardware breakpoint registers */
/* note name must be "LINUX". */
#define NT_ARM_HW_WATCH 0x403 /* AArch hardware watchpoint registers */
/* note name must be "LINUX". */
#define NT_SIGINFO 0x53494749 /* Fields of siginfo_t. */
#define NT_FILE 0x46494c45 /* Description of mapped files. */
/* Note segments for core files on dir-style procfs systems. */
@@ -518,6 +577,8 @@
#define NT_LWPSINFO 17 /* Has a struct lwpsinfo_t */
#define NT_WIN32PSTATUS 18 /* Has a struct win32_pstatus */
/* Note segment for SystemTap probes. */
#define NT_STAPSDT 3
/* Note segments for core files on NetBSD systems. Note name
must start with "NetBSD-CORE". */
@@ -777,7 +838,19 @@
#define DF_1_INTERPOSE 0x00000400
#define DF_1_NODEFLIB 0x00000800
#define DF_1_NODUMP 0x00001000
#define DF_1_CONLFAT 0x00002000
#define DF_1_CONFALT 0x00002000
#define DF_1_ENDFILTEE 0x00004000
#define DF_1_DISPRELDNE 0x00008000
#define DF_1_DISPRELPND 0x00010000
#define DF_1_NODIRECT 0x00020000
#define DF_1_IGNMULDEF 0x00040000
#define DF_1_NOKSYMS 0x00080000
#define DF_1_NOHDR 0x00100000
#define DF_1_EDITED 0x00200000
#define DF_1_NORELOC 0x00400000
#define DF_1_SYMINTPOSE 0x00800000
#define DF_1_GLOBAUDIT 0x01000000
#define DF_1_SINGLETON 0x02000000
/* Flag values for the DT_FLAGS entry. */
#define DF_ORIGIN (1 << 0)
@@ -793,10 +866,16 @@
#define VER_DEF_CURRENT 1
/* These constants appear in the vd_flags field of a Elf32_Verdef
structure. */
structure.
Cf. the Solaris Linker and Libraries Guide, Ch. 7, Object File Format,
Versioning Sections, for a description:
http://docs.sun.com/app/docs/doc/819-0690/chapter6-93046?l=en&a=view */
#define VER_FLG_BASE 0x1
#define VER_FLG_WEAK 0x2
#define VER_FLG_INFO 0x4
/* These special constants can be found in an Elf32_Versym field. */
@@ -886,6 +965,18 @@
#define AT_SYSINFO 32
#define AT_SYSINFO_EHDR 33 /* Pointer to ELF header of system-supplied DSO. */
/* More complete cache descriptions than AT_[DIU]CACHEBSIZE. If the
value is -1, then the cache doesn't exist. Otherwise:
bit 0-3: Cache set-associativity; 0 means fully associative.
bit 4-7: Log2 of cacheline size.
bit 8-31: Size of the entire cache >> 8. */
#define AT_L1I_CACHESHAPE 34
#define AT_L1D_CACHESHAPE 35
#define AT_L2_CACHESHAPE 36
#define AT_L3_CACHESHAPE 37
#define AT_SUN_UID 2000 /* Effective user ID. */
#define AT_SUN_RUID 2001 /* Real user ID. */
#define AT_SUN_GID 2002 /* Effective group ID. */
+2 -2
View File
@@ -1,12 +1,12 @@
/* CR16 ELF support for BFD.
Copyright 2007 Free Software Foundation, Inc.
Copyright 2007, 2010 Free Software Foundation, Inc.
Contributed by M R Swami Reddy.
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+2 -2
View File
@@ -1,11 +1,11 @@
/* CR16C ELF support for BFD.
Copyright 2004, 2008 Free Software Foundation, Inc.
Copyright 2004, 2008, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+13 -13
View File
@@ -1,23 +1,23 @@
/* CRIS ELF support for BFD.
Copyright 2000, 2001, 2004 Free Software Foundation, Inc.
Copyright 2000, 2001, 2004, 2010 Free Software Foundation, Inc.
Contributed by Axis Communications AB, Lund, Sweden.
Written by Hans-Peter Nilsson.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_CRIS_H
#define _ELF_CRIS_H
+2 -2
View File
@@ -1,5 +1,5 @@
/* CRX ELF support for BFD.
Copyright 2004 Free Software Foundation, Inc.
Copyright 2004, 2010 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.
@@ -8,7 +8,7 @@
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+2 -2
View File
@@ -1,11 +1,11 @@
/* d10v ELF support for BFD.
Copyright 1998, 2000 Free Software Foundation, Inc.
Copyright 1998, 2000, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+2 -2
View File
@@ -1,11 +1,11 @@
/* d30v ELF support for BFD.
Copyright 1998, 2000 Free Software Foundation, Inc.
Copyright 1998, 2000, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+2 -2
View File
@@ -1,11 +1,11 @@
/* DLX support for BFD.
Copyright 2002 Free Software Foundation, Inc.
Copyright 2002, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+15 -16
View File
@@ -3,31 +3,30 @@
Written by Ron Guilmette (rfg@netcom.com)
Copyright 1992, 1993, 1995, 1999, 2005 Free Software Foundation, Inc.
Copyright 1992, 1993, 1995, 1999, 2005, 2010 Free Software Foundation, Inc.
This file is part of GCC.
This file is part of both GCC and the BFD library.
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.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
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.
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 GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. 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
Programming Languages Special Interest Group (UI/PLSIG) and distributed
by UNIX International. Copies of this specification are available from
UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054.
*/
UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054. */
#ifndef _ELF_DWARF_H
#define _ELF_DWARF_H
+59
View File
@@ -0,0 +1,59 @@
/* Adapteva EPIPHANY ELF support for BFD.
Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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_EPIPHANY_H
#define _ELF_EPIPHANY_H
#include "elf/reloc-macros.h"
/* Relocations. */
START_RELOC_NUMBERS (elf_epiphany_reloc_type)
RELOC_NUMBER (R_EPIPHANY_NONE, 0)
/* Absolute address relocations. */
RELOC_NUMBER (R_EPIPHANY_8, 1)
RELOC_NUMBER (R_EPIPHANY_16, 2)
RELOC_NUMBER (R_EPIPHANY_32, 3)
/* PC-relative relocations. */
RELOC_NUMBER (R_EPIPHANY_8_PCREL, 4)
RELOC_NUMBER (R_EPIPHANY_16_PCREL,5)
RELOC_NUMBER (R_EPIPHANY_32_PCREL,6)
/* special forms for 8/24 bit branch displacements. */
RELOC_NUMBER (R_EPIPHANY_SIMM8, 7)
RELOC_NUMBER (R_EPIPHANY_SIMM24, 8)
/* HIGH and LOW relocations taking part of a 32 bit address and
depositing it into the IMM16 field of a destination. */
RELOC_NUMBER (R_EPIPHANY_HIGH, 9)
RELOC_NUMBER (R_EPIPHANY_LOW,10)
/* 11 bit signed immediate value. */
RELOC_NUMBER (R_EPIPHANY_SIMM11, 11)
/* 11 bit magnitude addressing displacement. */
RELOC_NUMBER (R_EPIPHANY_IMM11, 12)
/* 8 bit immediate for MOV.S R,IMM8. */
RELOC_NUMBER (R_EPIPHANY_IMM8, 13)
END_RELOC_NUMBERS(R_EPIPHANY_max)
#endif /* _ELF_EPIPHANY_H */
+15 -15
View File
@@ -1,33 +1,33 @@
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001, 2003, 2005,
2008 Free Software Foundation, Inc.
2008, 2010 Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
in "UNIX System V Release 4, Programmers Guide: ANSI C and
Programming Support Tools".
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
This 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. */
/* This file is part of ELF support for BFD, and contains the portions
that describe how ELF is represented externally by the BFD library.
I.E. it describes the in-file representation of ELF. It requires
the elf/common.h file which contains the portions that are common to
both the internal and external representations. */
both the internal and external representations. */
/* The 64-bit stuff is kind of random. Perhaps someone will publish a
spec someday. */
+13 -13
View File
@@ -1,21 +1,21 @@
/* FR30 ELF support for BFD.
Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
Copyright 1998, 1999, 2000, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_FR30_H
#define _ELF_FR30_H
+13 -13
View File
@@ -1,21 +1,21 @@
/* FRV ELF support for BFD.
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004, 2005, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_FRV_H
#define _ELF_FRV_H
+4 -3
View File
@@ -1,11 +1,11 @@
/* H8300/h8500 ELF support for BFD.
Copyright 2001, 2003 Free Software Foundation, Inc.
Copyright 2001-2013 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -23,7 +23,7 @@
#include "elf/reloc-macros.h"
/* Relocations. */
/* Relocations 59..63 are GNU extensions. */
/* Relocations 59..64 are GNU extensions. */
START_RELOC_NUMBERS (elf_h8_reloc_type)
RELOC_NUMBER (R_H8_NONE, 0)
RELOC_NUMBER (R_H8_DIR32, 1)
@@ -65,6 +65,7 @@ START_RELOC_NUMBERS (elf_h8_reloc_type)
RELOC_NUMBER (R_H8_DIR24A8, 61)
RELOC_NUMBER (R_H8_DIR24R8, 62)
RELOC_NUMBER (R_H8_DIR32A16, 63)
RELOC_NUMBER (R_H8_DISP32A16, 64)
RELOC_NUMBER (R_H8_ABS32, 65)
RELOC_NUMBER (R_H8_ABS32A16, 127)
RELOC_NUMBER (R_H8_SYM, 128)
+4 -3
View File
@@ -1,12 +1,12 @@
/* HPPA ELF support for BFD.
Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2005, 2006, 2008
Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2005, 2006, 2008, 2010
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -16,7 +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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, 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. */
+14 -21
View File
@@ -1,21 +1,22 @@
/* i370 ELF support for BFD.
Copyright 2000, 2002 Free Software Foundation, Inc.
Copyright 2000, 2002, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the i370 ELF ABI. Note
that most of this is not actually implemented by BFD. */
@@ -35,14 +36,6 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
#define EF_I370_RELOCATABLE 0x00010000 /* i370 -mrelocatable flag */
#define EF_I370_RELOCATABLE_LIB 0x00008000 /* i370 -mrelocatable-lib flag */
/* Processor specific section flags, sh_flags field */
#define SHF_EXCLUDE 0x80000000 /* Link editor is to exclude \
this section from executable \
and shared objects that it \
builds when those objects \
are not to be furhter \
relocated. */
/* i370 relocations
Note that there is really just one relocation that we currently
+3 -3
View File
@@ -1,12 +1,12 @@
/* ix86 ELF support for BFD.
Copyright 1998, 1999, 2000, 2002, 2004, 2005, 2006, 2009
Copyright 1998, 1999, 2000, 2002, 2004, 2005, 2006, 2009, 2010
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -62,7 +62,7 @@ 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_SIZE32, 38) /* 32-bit symbol size */
RELOC_NUMBER (R_386_TLS_GOTDESC, 39)
RELOC_NUMBER (R_386_TLS_DESC_CALL,40)
RELOC_NUMBER (R_386_TLS_DESC, 41)
+2 -2
View File
@@ -1,5 +1,5 @@
/* i860 ELF support for BFD.
Copyright 2000 Free Software Foundation, Inc.
Copyright 2000, 2010 Free Software Foundation, Inc.
Contributed by Jason Eckhardt <jle@cygnus.com>.
@@ -7,7 +7,7 @@
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+2 -2
View File
@@ -1,11 +1,11 @@
/* Intel 960 ELF support for BFD.
Copyright 1999, 2000 Free Software Foundation, Inc.
Copyright 1999, 2000, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+133 -3
View File
@@ -1,5 +1,5 @@
/* IA-64 ELF support for BFD.
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008, 2009
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
@@ -7,7 +7,7 @@
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -17,7 +17,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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
#ifndef _ELF_IA64_H
#define _ELF_IA64_H
@@ -44,6 +45,14 @@
/* Not used yet. */
#define EF_IA_64_ABSOLUTE (1 << 8) /* Load at absolute addresses. */
/* OpenVMS speficic. */
#define EF_IA_64_VMS_COMCOD 0x03 /* Completion code. */
#define EF_IA_64_VMS_COMCOD_SUCCESS 0
#define EF_IA_64_VMS_COMCOD_WARNING 1
#define EF_IA_64_VMS_COMCOD_ERROR 2
#define EF_IA_64_VMS_COMCOD_ABORT 3
#define EF_IA_64_VMS_LINKAGES 0x04 /* Contains VMS linkages info. */
#define ELF_STRING_ia64_archext ".IA_64.archext"
#define ELF_STRING_ia64_pltoff ".IA_64.pltoff"
#define ELF_STRING_ia64_unwind ".IA_64.unwind"
@@ -158,6 +167,23 @@
#define DT_IA_64_VMS_PLTGOT_SEG (DT_LOOS + 64)
#define DT_IA_64_VMS_FPMODE (DT_LOOS + 66)
/* Values for DT_IA_64_LNKFLAGS. */
#define VMS_LF_CALL_DEBUG 0x0001 /* Activate and call the debugger. */
#define VMS_LF_NOP0BUFS 0x0002 /* RMS use of P0 for i/o disabled. */
#define VMS_LF_P0IMAGE 0x0004 /* Image in P0 space only. */
#define VMS_LF_MKTHREADS 0x0008 /* Multiple kernel threads enabled. */
#define VMS_LF_UPCALLS 0x0010 /* Upcalls enabled. */
#define VMS_LF_IMGSTA 0x0020 /* Use SYS$IMGSTA. */
#define VMS_LF_INITIALIZE 0x0040 /* Image uses tfradr2. */
#define VMS_LF_MAIN 0x0080 /* Image uses tfradr3. */
#define VMS_LF_EXE_INIT 0x0200 /* Image uses tfradr4. */
#define VMS_LF_TBK_IN_IMG 0x0400 /* Traceback records in image. */
#define VMS_LF_DBG_IN_IMG 0x0800 /* Debug records in image. */
#define VMS_LF_TBK_IN_DSF 0x1000 /* Traceback records in DSF. */
#define VMS_LF_DBG_IN_DSF 0x2000 /* Debug records in DSF. */
#define VMS_LF_SIGNATURES 0x4000 /* Signatures present. */
#define VMS_LF_REL_SEG_OFF 0x8000 /* Maintain relative pos of seg. */
/* This section only used by HP-UX, The HP linker gives weak symbols
precedence over regular common symbols. We want common to override
weak. Using this common instead of SHN_COMMON does that. */
@@ -167,6 +193,85 @@
vector (only possible for image files). */
#define SHN_IA_64_VMS_SYMVEC SHN_LOOS
/* OpenVMS IA64-specific symbol attributes. */
#define VMS_STO_VISIBILITY 3 /* Alias of the standard field. */
#define VMS_ST_VISIBILITY(o) ((o) & VMS_STO_VISIBILITY)
#define VMS_STO_FUNC_TYPE 0x30 /* Function type. */
#define VMS_ST_FUNC_TYPE(o) (((o) & VMS_STO_FUNC_TYPE) >> 4)
# define VMS_SFT_CODE_ADDR 0 /* Symbol value is a code address. */
# define VMS_SFT_SYMV_IDX 1 /* Symbol value is a symbol vector index. */
# define VMS_SFT_FD 2 /* Symbol value is a function descriptor. */
# define VMS_SFT_RESERVE 3 /* Reserved. */
#define VMS_STO_LINKAGE 0xc0
#define VMS_ST_LINKAGE(o) (((o) & VMS_STO_LINKAGE) >> 6)
# define VMS_STL_IGNORE 0 /* No associated linkage. */
# define VMS_STL_RESERVE 1
# define VMS_STL_STD 2 /* Standard linkage with return value. */
# define VMS_STL_LNK 3 /* Explicit represented in .vms_linkages. */
/* OpenVMS specific symbol binding values. */
#define STB_VMS_WEAK 11 /* VMS weak symbol. */
#define STB_VMS_SYSTEM 12 /* System symbol. */
/* OpenVMS specific fixup and relocation structures. */
typedef struct
{
unsigned char fixup_offset[8];
unsigned char type[4];
unsigned char fixup_seg[4];
unsigned char addend[8];
unsigned char symvec_index[4];
unsigned char data_type[4];
} Elf64_External_VMS_IMAGE_FIXUP;
typedef struct
{
unsigned char rela_offset[8];
unsigned char type[4];
unsigned char rela_seg[4];
unsigned char addend[8];
unsigned char sym_offset[8];
unsigned char sym_seg[4];
unsigned char fill_1[4];
} Elf64_External_VMS_IMAGE_RELA;
/* Note segments. VMS is special as it uses 64-bit entries. */
typedef struct {
unsigned char namesz[8]; /* Size of entry's owner string */
unsigned char descsz[8]; /* Size of the note descriptor */
unsigned char type[8]; /* Interpretation of the descriptor */
char name[1]; /* Start of the name+desc data */
} Elf64_External_VMS_Note;
#define NT_VMS_MHD 1 /* Object module name, version, and date/time. */
#define NT_VMS_LNM 2 /* Language processor name. */
#define NT_VMS_SRC 3 /* Source files. */
#define NT_VMS_TITLE 4 /* Title text. */
#define NT_VMS_EIDC 5 /* Entity ident consistency check. */
#define NT_VMS_FPMODE 6 /* Whole program floating-point mode. */
#define NT_VMS_LINKTIME 101 /* Date/time image was linked. */
#define NT_VMS_IMGNAM 102 /* Image name string. */
#define NT_VMS_IMGID 103 /* Image ident string. */
#define NT_VMS_LINKID 104 /* Linker ident string. */
#define NT_VMS_IMGBID 105 /* Image build ident string. */
#define NT_VMS_GSTNAM 106 /* Global Symbol Table Name. */
#define NT_VMS_ORIG_DYN 107 /* Original setting of dynamic data. */
#define NT_VMS_PATCHTIME 108 /* Date/time of last patch. */
/* Corresponding data for NT_VMS_ORIG_DYM. */
typedef struct {
unsigned char major_id[4]; /* Should be 1. */
unsigned char minor_id[4]; /* Should be 3. */
unsigned char manipulation_date[8]; /* Original NT_VMS_LNKTIME. */
unsigned char link_flags[8]; /* Original NT_VMS_LNKFLAGS. */
unsigned char elf_flags[4]; /* Original ehdr flags. */
unsigned char _pad[4];
unsigned char imgid[1]; /* Original NT_VMS_IMGID. */
} Elf64_External_VMS_ORIG_DYN_Note;
/* IA64-specific relocation types: */
/* Relocs apply to specific instructions within a bundle. The least
@@ -281,6 +386,31 @@ START_RELOC_NUMBERS (elf_ia64_reloc_type)
RELOC_NUMBER (R_IA64_LTOFF_DTPREL22, 0xba) /* @ltoff(@dtprel(s+a)), imm22 */
FAKE_RELOC (R_IA64_MAX_RELOC_CODE, 0xba)
/* OpenVMS specific relocs. */
RELOC_NUMBER (R_IA64_VMS_DIR8, 0x70000000) /* S + A */
RELOC_NUMBER (R_IA64_VMS_DIR16LSB, 0x70000001) /* S + A */
RELOC_NUMBER (R_IA64_VMS_CALL_SIGNATURE, 0x70000002)
RELOC_NUMBER (R_IA64_VMS_EXECLET_FUNC, 0x70000003)
RELOC_NUMBER (R_IA64_VMS_EXECLET_DATA, 0x70000004)
RELOC_NUMBER (R_IA64_VMS_FIX8, 0x70000005) /* S + A */
RELOC_NUMBER (R_IA64_VMS_FIX16, 0x70000006) /* S + A */
RELOC_NUMBER (R_IA64_VMS_FIX32, 0x70000007) /* S + A */
RELOC_NUMBER (R_IA64_VMS_FIX64, 0x70000008) /* S + A */
RELOC_NUMBER (R_IA64_VMS_FIXFD, 0x70000009)
RELOC_NUMBER (R_IA64_VMS_ACC_LOAD, 0x7000000a) /* ACC = S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_ADD, 0x7000000b) /* ACC += S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_SUB, 0x7000000c) /* ACC -= S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_MUL, 0x7000000d) /* ACC *= S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_DIV, 0x7000000e) /* ACC /= S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_AND, 0x7000000f) /* ACC &= S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_IOR, 0x70000010) /* ACC |= S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_EOR, 0x70000011) /* ACC ^= S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_ASH, 0x70000012) /* ACC >>= S + A */
RELOC_NUMBER (R_IA64_VMS_ACC_STO8, 0x70000014) /* ACC */
RELOC_NUMBER (R_IA64_VMS_ACC_STO16LSH, 0x70000015) /* ACC */
RELOC_NUMBER (R_IA64_VMS_ACC_STO32LSH, 0x70000016) /* ACC */
RELOC_NUMBER (R_IA64_VMS_ACC_STO64LSH, 0x70000017) /* ACC */
END_RELOC_NUMBERS (R_IA64_max)
#endif /* _ELF_IA64_H */
+76 -49
View File
@@ -1,34 +1,33 @@
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002,
2003, 2006, 2007, 2008 Free Software Foundation, Inc.
2003, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
in "UNIX System V Release 4, Programmers Guide: ANSI C and
Programming Support Tools".
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
This 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. */
/* This file is part of ELF support for BFD, and contains the portions
that describe how ELF is represented internally in the BFD library.
I.E. it describes the in-memory representation of ELF. It requires
the elf-common.h file which contains the portions that are common to
both the internal and external representations. */
both the internal and external representations. */
/* NOTE that these structures are not kept in the same order as they appear
in the object file. In some cases they've been reordered for more optimal
@@ -125,6 +124,7 @@ struct elf_internal_sym {
unsigned long st_name; /* Symbol name, index in string tbl */
unsigned char st_info; /* Type and binding attributes */
unsigned char st_other; /* Visibilty, and target specific */
unsigned char st_target_internal; /* Internal-only information */
unsigned int st_shndx; /* Associated section index */
};
@@ -292,42 +292,69 @@ struct elf_segment_map
/* .tbss is special. It doesn't contribute memory space to normal
segments and it doesn't take file space in normal segments. */
#define ELF_TBSS_SPECIAL(sec_hdr, segment) \
(((sec_hdr)->sh_flags & SHF_TLS) != 0 \
&& (sec_hdr)->sh_type == SHT_NOBITS \
&& (segment)->p_type != PT_TLS)
#define ELF_SECTION_SIZE(sec_hdr, segment) \
(((sec_hdr->sh_flags & SHF_TLS) == 0 \
|| sec_hdr->sh_type != SHT_NOBITS \
|| segment->p_type == PT_TLS) ? sec_hdr->sh_size : 0)
(ELF_TBSS_SPECIAL(sec_hdr, segment) ? 0 : (sec_hdr)->sh_size)
/* Decide if the given sec_hdr is in the given segment. PT_TLS segment
contains only SHF_TLS sections. Only PT_LOAD, PT_GNU_RELRO and
and PT_TLS segments can contain SHF_TLS sections. */
#define ELF_IS_SECTION_IN_SEGMENT(sec_hdr, segment) \
(((((sec_hdr->sh_flags & SHF_TLS) != 0) \
&& (segment->p_type == PT_TLS \
|| segment->p_type == PT_GNU_RELRO \
|| segment->p_type == PT_LOAD)) \
|| ((sec_hdr->sh_flags & SHF_TLS) == 0 \
&& segment->p_type != PT_TLS)) \
/* Any section besides one of type SHT_NOBITS must have a file \
offset within the segment. */ \
&& (sec_hdr->sh_type == SHT_NOBITS \
|| ((bfd_vma) sec_hdr->sh_offset >= segment->p_offset \
&& (sec_hdr->sh_offset + ELF_SECTION_SIZE(sec_hdr, segment) \
<= segment->p_offset + segment->p_filesz))) \
/* SHF_ALLOC sections must have VMAs within the segment. Be \
careful about segments right at the end of memory. */ \
&& ((sec_hdr->sh_flags & SHF_ALLOC) == 0 \
|| (sec_hdr->sh_addr >= segment->p_vaddr \
&& (sec_hdr->sh_addr - segment->p_vaddr \
+ ELF_SECTION_SIZE(sec_hdr, segment) <= segment->p_memsz))))
/* Decide if the section SEC_HDR is in SEGMENT. If CHECK_VMA, then
VMAs are checked for alloc sections. If STRICT, then a zero size
section won't match at the end of a segment, unless the segment
is also zero size. Regardless of STRICT and CHECK_VMA, zero size
sections won't match at the start or end of PT_DYNAMIC, unless
PT_DYNAMIC is itself zero sized. */
#define ELF_SECTION_IN_SEGMENT_1(sec_hdr, segment, check_vma, strict) \
((/* Only PT_LOAD, PT_GNU_RELRO and PT_TLS segments can contain \
SHF_TLS sections. */ \
((((sec_hdr)->sh_flags & SHF_TLS) != 0) \
&& ((segment)->p_type == PT_TLS \
|| (segment)->p_type == PT_GNU_RELRO \
|| (segment)->p_type == PT_LOAD)) \
/* PT_TLS segment contains only SHF_TLS sections, PT_PHDR no \
sections at all. */ \
|| (((sec_hdr)->sh_flags & SHF_TLS) == 0 \
&& (segment)->p_type != PT_TLS \
&& (segment)->p_type != PT_PHDR)) \
/* Any section besides one of type SHT_NOBITS must have file \
offsets within the segment. */ \
&& ((sec_hdr)->sh_type == SHT_NOBITS \
|| ((bfd_vma) (sec_hdr)->sh_offset >= (segment)->p_offset \
&& (!(strict) \
|| ((sec_hdr)->sh_offset - (segment)->p_offset \
<= (segment)->p_filesz - 1)) \
&& (((sec_hdr)->sh_offset - (segment)->p_offset \
+ ELF_SECTION_SIZE(sec_hdr, segment)) \
<= (segment)->p_filesz))) \
/* SHF_ALLOC sections must have VMAs within the segment. */ \
&& (!(check_vma) \
|| ((sec_hdr)->sh_flags & SHF_ALLOC) == 0 \
|| ((sec_hdr)->sh_addr >= (segment)->p_vaddr \
&& (!(strict) \
|| ((sec_hdr)->sh_addr - (segment)->p_vaddr \
<= (segment)->p_memsz - 1)) \
&& (((sec_hdr)->sh_addr - (segment)->p_vaddr \
+ ELF_SECTION_SIZE(sec_hdr, segment)) \
<= (segment)->p_memsz))) \
/* No zero size sections at start or end of PT_DYNAMIC. */ \
&& ((segment)->p_type != PT_DYNAMIC \
|| (sec_hdr)->sh_size != 0 \
|| (segment)->p_memsz == 0 \
|| (((sec_hdr)->sh_type == SHT_NOBITS \
|| ((bfd_vma) (sec_hdr)->sh_offset > (segment)->p_offset \
&& ((sec_hdr)->sh_offset - (segment)->p_offset \
< (segment)->p_filesz))) \
&& (((sec_hdr)->sh_flags & SHF_ALLOC) == 0 \
|| ((sec_hdr)->sh_addr > (segment)->p_vaddr \
&& ((sec_hdr)->sh_addr - (segment)->p_vaddr \
< (segment)->p_memsz))))))
/* 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 \
&& ELF_IS_SECTION_IN_SEGMENT (sec_hdr, segment))
#define ELF_SECTION_IN_SEGMENT(sec_hdr, segment) \
(ELF_SECTION_IN_SEGMENT_1 (sec_hdr, segment, 1, 0))
/* Decide if the given sec_hdr is in the given segment in memory. */
#define ELF_IS_SECTION_IN_SEGMENT_MEMORY(sec_hdr, segment) \
(ELF_SECTION_SIZE(sec_hdr, segment) > 0 \
&& ELF_IS_SECTION_IN_SEGMENT (sec_hdr, segment))
#define ELF_SECTION_IN_SEGMENT_STRICT(sec_hdr, segment) \
(ELF_SECTION_IN_SEGMENT_1 (sec_hdr, segment, 1, 1))
#endif /* _ELF_INTERNAL_H */
+4 -4
View File
@@ -1,11 +1,11 @@
/* IP2xxx ELF support for BFD.
Copyright (C) 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 2000, 2002, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -14,8 +14,8 @@
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. */
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_IP2K_H
#define _ELF_IP2K_H
+13 -13
View File
@@ -1,21 +1,21 @@
/* IQ2000 ELF support for BFD.
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_IQ2000_H
#define _ELF_IQ2000_H
+3 -3
View File
@@ -1,5 +1,5 @@
/* Lattice Mico32 ELF support for BFD.
Copyright 2008 Free Software Foundation, Inc.
Copyright 2008, 2010 Free Software Foundation, Inc.
Contributed by Jon Beniston <jon@beniston.com>
This file is part of BFD, the Binary File Descriptor library.
@@ -15,8 +15,8 @@
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. */
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_LM32_H
#define _ELF_LM32_H
+13 -13
View File
@@ -1,21 +1,21 @@
/* M32C ELF support for BFD.
Copyright (C) 2004 Free Software Foundation, Inc.
Copyright (C) 2004, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
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_M32C_H
#define _ELF_M32C_H
+4 -4
View File
@@ -1,12 +1,12 @@
/* M32R ELF support for BFD.
Copyright 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2008
Copyright 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2008, 2010
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -15,8 +15,8 @@
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. */
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_M32R_H
#define _ELF_M32R_H
+16 -4
View File
@@ -1,11 +1,11 @@
/* m68hc11 & m68hc12 ELF support for BFD.
Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright 1999, 2000, 2001, 2002, 2010, 2012 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -42,6 +42,12 @@ START_RELOC_NUMBERS (elf_m68hc11_reloc_type)
RELOC_NUMBER (R_M68HC11_LO16, 12)
RELOC_NUMBER (R_M68HC11_PAGE, 13)
RELOC_NUMBER (R_M68HC12_16B, 15)
RELOC_NUMBER (R_M68HC12_PCREL_9, 16)
RELOC_NUMBER (R_M68HC12_PCREL_10, 17)
RELOC_NUMBER (R_M68HC12_HI8XG, 18)
RELOC_NUMBER (R_M68HC12_LO8XG, 19)
/* GNU extension for linker relaxation.
Mark beginning of a jump instruction (any form). */
RELOC_NUMBER (R_M68HC11_RL_JUMP, 20)
@@ -64,6 +70,12 @@ END_RELOC_NUMBERS (R_M68HC11_max)
/* Uses 68HC12 memory banks. */
#define E_M68HC12_BANKS 0x000000004
/* XGATE ram offsetting. */
#define E_M68HC11_XGATE_RAMOFFSET 0x000000100
/* Suppress warnings */
#define E_M68HC11_NO_BANK_WARNING 0x000000200
#define EF_M68HC11_MACH_MASK 0xF0
#define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */
#define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */
@@ -86,10 +98,10 @@ END_RELOC_NUMBERS (R_M68HC11_max)
/* Special values for the st_other field in the symbol table. These
are used for 68HC12 to identify far functions (must be called with
'call' and returns with 'rtc'). */
#define STO_M68HC12_FAR 0x80
#define STO_M68HC12_FAR 0x80
/* Identify interrupt handlers. This is used by the debugger to
correctly compute the stack frame. */
#define STO_M68HC12_INTERRUPT 0x40
#define STO_M68HC12_INTERRUPT 0x40
#endif
+2 -2
View File
@@ -1,12 +1,12 @@
/* MC68k ELF support for BFD.
Copyright 1998, 1999, 2000, 2002, 2005, 2006, 2007, 2009
Copyright 1998, 1999, 2000, 2002, 2005, 2006, 2007, 2009, 2010
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+15 -14
View File
@@ -1,23 +1,24 @@
/* Motorola MCore support for BFD.
Copyright 1995, 1999, 2000 Free Software Foundation, Inc.
Copyright 1995, 1999, 2000, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the MCore ELF ABI. */
/* This file holds definitions specific to the MCore ELF ABI. */
#ifndef _ELF_MORE_H
#define _ELF_MORE_H
+5 -4
View File
@@ -1,11 +1,12 @@
/* Toshiba MeP ELF support for BFD.
Copyright (C) 2001, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
Copyright (C) 2001, 2004, 2005, 2007, 2009, 2010
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -14,8 +15,8 @@
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. */
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_MEP_H
#define _ELF_MEP_H
+91
View File
@@ -0,0 +1,91 @@
/* Meta ELF support for BFD.
Copyright (C) 2013 Free Software Foundation, Inc.
Contributed by Imagination Technologies Ltd.
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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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_METAG_H
#define _ELF_METAG_H
#include "elf/reloc-macros.h"
/* Relocation types. */
START_RELOC_NUMBERS (elf_metag_reloc_type)
RELOC_NUMBER (R_METAG_HIADDR16, 0)
RELOC_NUMBER (R_METAG_LOADDR16, 1)
RELOC_NUMBER (R_METAG_ADDR32, 2)
RELOC_NUMBER (R_METAG_NONE, 3)
RELOC_NUMBER (R_METAG_RELBRANCH, 4)
RELOC_NUMBER (R_METAG_GETSETOFF, 5)
/* Backward compatability */
RELOC_NUMBER (R_METAG_REG32OP1, 6)
RELOC_NUMBER (R_METAG_REG32OP2, 7)
RELOC_NUMBER (R_METAG_REG32OP3, 8)
RELOC_NUMBER (R_METAG_REG16OP1, 9)
RELOC_NUMBER (R_METAG_REG16OP2, 10)
RELOC_NUMBER (R_METAG_REG16OP3, 11)
RELOC_NUMBER (R_METAG_REG32OP4, 12)
RELOC_NUMBER (R_METAG_HIOG, 13)
RELOC_NUMBER (R_METAG_LOOG, 14)
RELOC_NUMBER (R_METAG_REL8, 15)
RELOC_NUMBER (R_METAG_REL16, 16)
/* GNU */
RELOC_NUMBER (R_METAG_GNU_VTINHERIT,30)
RELOC_NUMBER (R_METAG_GNU_VTENTRY, 31)
/* PIC relocations */
RELOC_NUMBER (R_METAG_HI16_GOTOFF, 32)
RELOC_NUMBER (R_METAG_LO16_GOTOFF, 33)
RELOC_NUMBER (R_METAG_GETSET_GOTOFF,34)
RELOC_NUMBER (R_METAG_GETSET_GOT, 35)
RELOC_NUMBER (R_METAG_HI16_GOTPC, 36)
RELOC_NUMBER (R_METAG_LO16_GOTPC, 37)
RELOC_NUMBER (R_METAG_HI16_PLT, 38)
RELOC_NUMBER (R_METAG_LO16_PLT, 39)
RELOC_NUMBER (R_METAG_RELBRANCH_PLT,40)
RELOC_NUMBER (R_METAG_GOTOFF, 41)
RELOC_NUMBER (R_METAG_PLT, 42)
RELOC_NUMBER (R_METAG_COPY, 43)
RELOC_NUMBER (R_METAG_JMP_SLOT, 44)
RELOC_NUMBER (R_METAG_RELATIVE, 45)
RELOC_NUMBER (R_METAG_GLOB_DAT, 46)
/* TLS relocations */
RELOC_NUMBER (R_METAG_TLS_GD, 47)
RELOC_NUMBER (R_METAG_TLS_LDM, 48)
RELOC_NUMBER (R_METAG_TLS_LDO_HI16, 49)
RELOC_NUMBER (R_METAG_TLS_LDO_LO16, 50)
RELOC_NUMBER (R_METAG_TLS_LDO, 51)
RELOC_NUMBER (R_METAG_TLS_IE, 52)
RELOC_NUMBER (R_METAG_TLS_IENONPIC, 53)
RELOC_NUMBER (R_METAG_TLS_IENONPIC_HI16,54)
RELOC_NUMBER (R_METAG_TLS_IENONPIC_LO16,55)
RELOC_NUMBER (R_METAG_TLS_TPOFF, 56)
RELOC_NUMBER (R_METAG_TLS_DTPMOD, 57)
RELOC_NUMBER (R_METAG_TLS_DTPOFF, 58)
RELOC_NUMBER (R_METAG_TLS_LE, 59)
RELOC_NUMBER (R_METAG_TLS_LE_HI16, 60)
RELOC_NUMBER (R_METAG_TLS_LE_LO16, 61)
END_RELOC_NUMBERS (R_METAG_MAX)
#endif /* _ELF_METAG_H */
+11 -3
View File
@@ -1,12 +1,12 @@
/* Xilinx MicroBlaze support for BFD.
Copyright 2009 Free Software Foundation, Inc.
Copyright 2009, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -19,8 +19,8 @@
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
02110-1301, USA. */
/* This file holds definitions specific to the MICROBLAZE ELF ABI. */
#ifndef _ELF_MICROBLAZE_H
#define _ELF_MICROBLAZE_H
@@ -50,6 +50,14 @@ START_RELOC_NUMBERS (elf_microblaze_reloc_type)
RELOC_NUMBER (R_MICROBLAZE_GOTOFF_64, 19) /* Offset relative to GOT. */
RELOC_NUMBER (R_MICROBLAZE_GOTOFF_32, 20) /* Offset relative to GOT. */
RELOC_NUMBER (R_MICROBLAZE_COPY, 21) /* Runtime copy. */
RELOC_NUMBER (R_MICROBLAZE_TLS, 22) /* TLS Reloc */
RELOC_NUMBER (R_MICROBLAZE_TLSGD, 23) /* TLS General Dynamic */
RELOC_NUMBER (R_MICROBLAZE_TLSLD, 24) /* TLS Local Dynamic */
RELOC_NUMBER (R_MICROBLAZE_TLSDTPMOD32, 25) /* TLS Module ID */
RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL32, 26) /* TLS Offset Within TLS Block */
RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL64, 27) /* TLS Offset Within TLS Block */
RELOC_NUMBER (R_MICROBLAZE_TLSGOTTPREL32, 28) /* TLS Offset From Thread Pointer */
RELOC_NUMBER (R_MICROBLAZE_TLSTPREL32, 29) /* TLS Offset From Thread Pointer */
END_RELOC_NUMBERS (R_MICROBLAZE_max)
+147 -32
View File
@@ -1,27 +1,28 @@
/* MIPS ELF support for BFD.
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2008, 2009
2003, 2004, 2005, 2008, 2009, 2010, 2013
Free Software Foundation, Inc.
By Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>, from
information in the System V Application Binary Interface, MIPS
Processor Supplement.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the MIPS ELF ABI. Note
that most of this is not actually implemented by BFD. */
@@ -97,15 +98,64 @@ START_RELOC_NUMBERS (elf_mips_reloc_type)
RELOC_NUMBER (R_MIPS16_CALL16, 103)
RELOC_NUMBER (R_MIPS16_HI16, 104)
RELOC_NUMBER (R_MIPS16_LO16, 105)
FAKE_RELOC (R_MIPS16_max, 106)
RELOC_NUMBER (R_MIPS16_TLS_GD, 106)
RELOC_NUMBER (R_MIPS16_TLS_LDM, 107)
RELOC_NUMBER (R_MIPS16_TLS_DTPREL_HI16, 108)
RELOC_NUMBER (R_MIPS16_TLS_DTPREL_LO16, 109)
RELOC_NUMBER (R_MIPS16_TLS_GOTTPREL, 110)
RELOC_NUMBER (R_MIPS16_TLS_TPREL_HI16, 111)
RELOC_NUMBER (R_MIPS16_TLS_TPREL_LO16, 112)
FAKE_RELOC (R_MIPS16_max, 113)
/* These relocations are specific to VxWorks. */
RELOC_NUMBER (R_MIPS_COPY, 126)
RELOC_NUMBER (R_MIPS_JUMP_SLOT, 127)
/* These relocations are specific to microMIPS. */
FAKE_RELOC (R_MICROMIPS_min, 130)
RELOC_NUMBER (R_MICROMIPS_26_S1, 133)
RELOC_NUMBER (R_MICROMIPS_HI16, 134)
RELOC_NUMBER (R_MICROMIPS_LO16, 135)
RELOC_NUMBER (R_MICROMIPS_GPREL16, 136) /* In Elf 64:
alias R_MICROMIPS_GPREL */
RELOC_NUMBER (R_MICROMIPS_LITERAL, 137)
RELOC_NUMBER (R_MICROMIPS_GOT16, 138) /* In Elf 64:
alias R_MICROMIPS_GOT */
RELOC_NUMBER (R_MICROMIPS_PC7_S1, 139)
RELOC_NUMBER (R_MICROMIPS_PC10_S1, 140)
RELOC_NUMBER (R_MICROMIPS_PC16_S1, 141)
RELOC_NUMBER (R_MICROMIPS_CALL16, 142) /* In Elf 64:
alias R_MICROMIPS_CALL */
RELOC_NUMBER (R_MICROMIPS_GOT_DISP, 145)
RELOC_NUMBER (R_MICROMIPS_GOT_PAGE, 146)
RELOC_NUMBER (R_MICROMIPS_GOT_OFST, 147)
RELOC_NUMBER (R_MICROMIPS_GOT_HI16, 148)
RELOC_NUMBER (R_MICROMIPS_GOT_LO16, 149)
RELOC_NUMBER (R_MICROMIPS_SUB, 150)
RELOC_NUMBER (R_MICROMIPS_HIGHER, 151)
RELOC_NUMBER (R_MICROMIPS_HIGHEST, 152)
RELOC_NUMBER (R_MICROMIPS_CALL_HI16, 153)
RELOC_NUMBER (R_MICROMIPS_CALL_LO16, 154)
RELOC_NUMBER (R_MICROMIPS_SCN_DISP, 155)
RELOC_NUMBER (R_MICROMIPS_JALR, 156)
RELOC_NUMBER (R_MICROMIPS_HI0_LO16, 157)
/* TLS relocations. */
RELOC_NUMBER (R_MICROMIPS_TLS_GD, 162)
RELOC_NUMBER (R_MICROMIPS_TLS_LDM, 163)
RELOC_NUMBER (R_MICROMIPS_TLS_DTPREL_HI16, 164)
RELOC_NUMBER (R_MICROMIPS_TLS_DTPREL_LO16, 165)
RELOC_NUMBER (R_MICROMIPS_TLS_GOTTPREL, 166)
RELOC_NUMBER (R_MICROMIPS_TLS_TPREL_HI16, 169)
RELOC_NUMBER (R_MICROMIPS_TLS_TPREL_LO16, 170)
/* microMIPS GP- and PC-relative relocations. */
RELOC_NUMBER (R_MICROMIPS_GPREL7_S2, 172)
RELOC_NUMBER (R_MICROMIPS_PC23_S2, 173)
FAKE_RELOC (R_MICROMIPS_max, 174)
/* 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.) */
mips-linux for exception-handling data. GCC stopped using it in
May, 2004, then started using it again for compact unwind tables. */
RELOC_NUMBER (R_MIPS_PC32, 248)
RELOC_NUMBER (R_MIPS_EH, 249)
/* FIXME: this relocation is used internally by gas. */
RELOC_NUMBER (R_MIPS_GNU_REL16_S2, 250)
/* These are GNU extensions to enable C++ vtable garbage collection. */
@@ -137,6 +187,16 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
/* Process the .MIPS.options section first by ld */
#define EF_MIPS_OPTIONS_FIRST 0x00000080
/* Indicates code compiled for a 64-bit machine in 32-bit mode
(regs are 32-bits wide). */
#define EF_MIPS_32BITMODE 0x00000100
/* 32-bit machine but FP registers are 64 bit (-mfp64). */
#define EF_MIPS_FP64 0x00000200
/* Code in file uses the IEEE 754-2008 NaN encoding convention. */
#define EF_MIPS_NAN2008 0x00000400
/* Architectural Extensions used by this file */
#define EF_MIPS_ARCH_ASE 0x0f000000
@@ -146,9 +206,8 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
/* Use MIPS-16 ISA extensions */
#define EF_MIPS_ARCH_ASE_M16 0x04000000
/* Indicates code compiled for a 64-bit machine in 32-bit mode.
(regs are 32-bits wide.) */
#define EF_MIPS_32BITMODE 0x00000100
/* Use MICROMIPS ISA extensions. */
#define EF_MIPS_ARCH_ASE_MICROMIPS 0x02000000
/* Four bit MIPS architecture field. */
#define EF_MIPS_ARCH 0xf0000000
@@ -215,11 +274,14 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
#define E_MIPS_MACH_SB1 0x008a0000
#define E_MIPS_MACH_OCTEON 0x008b0000
#define E_MIPS_MACH_XLR 0x008c0000
#define E_MIPS_MACH_OCTEON2 0x008d0000
#define E_MIPS_MACH_5400 0x00910000
#define E_MIPS_MACH_5900 0x00920000
#define E_MIPS_MACH_5500 0x00980000
#define E_MIPS_MACH_9000 0x00990000
#define E_MIPS_MACH_LS2E 0x00A00000
#define E_MIPS_MACH_LS2F 0x00A10000
#define E_MIPS_MACH_LS3A 0x00A20000
/* Processor specific section indices. These sections do not actually
exist. Symbols with a st_shndx field corresponding to one of these
@@ -730,24 +792,58 @@ extern void bfd_mips_elf32_swap_reginfo_out
#define STO_HIDDEN STV_HIDDEN
#define STO_PROTECTED STV_PROTECTED
/* Two topmost bits denote the MIPS ISA for .text symbols:
+ 00 -- standard MIPS code,
+ 10 -- microMIPS code,
+ 11 -- MIPS16 code; requires the following two bits to be set too.
Note that one of the MIPS16 bits overlaps with STO_MIPS_PIC. See below
for details. */
#define STO_MIPS_ISA (3 << 6)
/* The mask spanning the rest of MIPS psABI flags. At most one is expected
to be set except for STO_MIPS16. */
#define STO_MIPS_FLAGS (~(STO_MIPS_ISA | ELF_ST_VISIBILITY (-1)))
/* The MIPS psABI was updated in 2008 with support for PLTs and copy
relocs. There are therefore two types of nonzero SHN_UNDEF functions:
PLT entries and traditional MIPS lazy binding stubs. We mark the former
with STO_MIPS_PLT to distinguish them from the latter. */
#define STO_MIPS_PLT 0x8
#define ELF_ST_IS_MIPS_PLT(other) \
((ELF_ST_IS_MIPS16 (other) \
? ((other) & (~STO_MIPS16 & STO_MIPS_FLAGS)) \
: ((other) & STO_MIPS_FLAGS)) == STO_MIPS_PLT)
#define ELF_ST_SET_MIPS_PLT(other) \
((ELF_ST_IS_MIPS16 (other) \
? ((other) & (STO_MIPS16 | ~STO_MIPS_FLAGS)) \
: ((other) & ~STO_MIPS_FLAGS)) | STO_MIPS_PLT)
/* This value is used to mark PIC functions in an object that mixes
PIC and non-PIC. */
PIC and non-PIC. Note that this bit overlaps with STO_MIPS16,
although MIPS16 symbols are never considered to be MIPS_PIC. */
#define STO_MIPS_PIC 0x20
#define ELF_ST_IS_MIPS_PIC(OTHER) \
(((OTHER) & ~ELF_ST_VISIBILITY (-1)) == STO_MIPS_PIC)
#define ELF_ST_SET_MIPS_PIC(OTHER) \
(STO_MIPS_PIC | ELF_ST_VISIBILITY (OTHER))
#define ELF_ST_IS_MIPS_PIC(other) (((other) & STO_MIPS_FLAGS) == STO_MIPS_PIC)
#define ELF_ST_SET_MIPS_PIC(other) \
((ELF_ST_IS_MIPS16 (other) \
? ((other) & ~(STO_MIPS16 | STO_MIPS_FLAGS)) \
: ((other) & ~STO_MIPS_FLAGS)) | STO_MIPS_PIC)
/* This value is used for a mips16 .text symbol. */
#define STO_MIPS16 0xf0
#define ELF_ST_IS_MIPS16(OTHER) (((OTHER) & 0xf0) == STO_MIPS16)
#define ELF_ST_SET_MIPS16(OTHER) (((OTHER) & ~0xf0) | STO_MIPS16)
#define ELF_ST_IS_MIPS16(other) (((other) & STO_MIPS16) == STO_MIPS16)
#define ELF_ST_SET_MIPS16(other) ((other) | STO_MIPS16)
/* This value is used for a microMIPS .text symbol. To distinguish from
STO_MIPS16, we set top two bits to be 10 to denote STO_MICROMIPS. The
mask is STO_MIPS_ISA. */
#define STO_MICROMIPS (2 << 6)
#define ELF_ST_IS_MICROMIPS(other) (((other) & STO_MIPS_ISA) == STO_MICROMIPS)
#define ELF_ST_SET_MICROMIPS(other) (((other) & ~STO_MIPS_ISA) | STO_MICROMIPS)
/* Whether code compression (either of the MIPS16 or the microMIPS ASEs)
has been indicated for a .text symbol. */
#define ELF_ST_IS_COMPRESSED(other) \
(ELF_ST_IS_MIPS16 (other) || ELF_ST_IS_MICROMIPS (other))
/* This bit is used on Irix to indicate a symbol whose definition
is optional - if, at final link time, it cannot be found, no
@@ -1036,11 +1132,30 @@ extern void bfd_mips_elf64_swap_reginfo_out
enum
{
/* 0-3 are generic. */
Tag_GNU_MIPS_ABI_FP = 4, /* Value 1 for hard-float -mdouble-float, 2
for hard-float -msingle-float, 3 for
soft-float, 4 for -mips32r2 -mfp64; 0 for
not tagged or not using any ABIs affected
by the differences. */
/* Floating-point ABI used by this object file. */
Tag_GNU_MIPS_ABI_FP = 4,
};
/* Object attribute values. */
enum
{
/* Values defined for Tag_GNU_MIPS_ABI_FP. */
/* Not tagged or not using any ABIs affected by the differences. */
Val_GNU_MIPS_ABI_FP_ANY = 0,
/* Using hard-float -mdouble-float. */
Val_GNU_MIPS_ABI_FP_DOUBLE = 1,
/* Using hard-float -msingle-float. */
Val_GNU_MIPS_ABI_FP_SINGLE = 2,
/* Using soft-float. */
Val_GNU_MIPS_ABI_FP_SOFT = 3,
/* Using -mips32r2 -mfp64. */
Val_GNU_MIPS_ABI_FP_64 = 4,
};
#endif /* _ELF_MIPS_H */
+16 -14
View File
@@ -1,23 +1,25 @@
/* MMIX support for BFD.
Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
Copyright 2001, 2002, 2003, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the MMIX ELF ABI. */
/* This file holds definitions specific to the MMIX ELF ABI. */
#ifndef ELF_MMIX_H
#define ELF_MMIX_H
+15 -14
View File
@@ -1,23 +1,24 @@
/* MN10200 ELF support for BFD.
Copyright 1998, 2000 Free Software Foundation, Inc.
Copyright 1998, 2000, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the MN10200 ELF ABI. */
/* This file holds definitions specific to the MN10200 ELF ABI. */
#ifndef _ELF_MN10200_H
#define _ELF_MN10200_H
+9
View File
@@ -51,6 +51,15 @@ START_RELOC_NUMBERS (elf_mn10300_reloc_type)
RELOC_NUMBER (R_MN10300_GLOB_DAT, 21)
RELOC_NUMBER (R_MN10300_JMP_SLOT, 22)
RELOC_NUMBER (R_MN10300_RELATIVE, 23)
RELOC_NUMBER (R_MN10300_TLS_GD, 24)
RELOC_NUMBER (R_MN10300_TLS_LD, 25)
RELOC_NUMBER (R_MN10300_TLS_LDO, 26)
RELOC_NUMBER (R_MN10300_TLS_GOTIE, 27)
RELOC_NUMBER (R_MN10300_TLS_IE, 28)
RELOC_NUMBER (R_MN10300_TLS_LE, 29)
RELOC_NUMBER (R_MN10300_TLS_DTPMOD, 30)
RELOC_NUMBER (R_MN10300_TLS_DTPOFF, 31)
RELOC_NUMBER (R_MN10300_TLS_TPOFF, 32)
RELOC_NUMBER (R_MN10300_SYM_DIFF, 33)
RELOC_NUMBER (R_MN10300_ALIGN, 34)
END_RELOC_NUMBERS (R_MN10300_MAX)
+2 -2
View File
@@ -1,11 +1,11 @@
/* moxie ELF support for BFD.
Copyright 2009 Free Software Foundation, Inc.
Copyright 2009, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+48 -5
View File
@@ -1,12 +1,12 @@
/* MSP430 ELF support for BFD.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 2002-2013 Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru>
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -15,8 +15,8 @@
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. */
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_MSP430_H
#define _ELF_MSP430_H
@@ -33,6 +33,11 @@
#define E_MSP430_MACH_MSP430x14 14
#define E_MSP430_MACH_MSP430x15 15
#define E_MSP430_MACH_MSP430x16 16
#define E_MSP430_MACH_MSP430x20 20
#define E_MSP430_MACH_MSP430x22 22
#define E_MSP430_MACH_MSP430x23 23
#define E_MSP430_MACH_MSP430x24 24
#define E_MSP430_MACH_MSP430x26 26
#define E_MSP430_MACH_MSP430x31 31
#define E_MSP430_MACH_MSP430x32 32
#define E_MSP430_MACH_MSP430x33 33
@@ -40,6 +45,19 @@
#define E_MSP430_MACH_MSP430x42 42
#define E_MSP430_MACH_MSP430x43 43
#define E_MSP430_MACH_MSP430x44 44
#define E_MSP430_MACH_MSP430X 45
#define E_MSP430_MACH_MSP430x46 46
#define E_MSP430_MACH_MSP430x47 47
#define E_MSP430_MACH_MSP430x54 54
#define SHT_MSP430_ATTRIBUTES 0x70000003 /* Section holds ABI attributes. */
#define SHT_MSP430_SEC_FLAGS 0x7f000005 /* Holds TI compiler's section flags. */
#define SHT_MSP430_SYM_ALIASES 0x7f000006 /* Holds TI compiler's symbol aliases. */
/* Tag values for an attribute section. */
#define OFBA_MSPABI_Tag_ISA 4
#define OFBA_MSPABI_Tag_Code_Model 6
#define OFBA_MSPABI_Tag_Data_Model 8
/* Relocations. */
START_RELOC_NUMBERS (elf_msp430_reloc_type)
@@ -52,7 +70,32 @@ START_RELOC_NUMBERS (elf_msp430_reloc_type)
RELOC_NUMBER (R_MSP430_16_PCREL_BYTE, 6)
RELOC_NUMBER (R_MSP430_2X_PCREL, 7)
RELOC_NUMBER (R_MSP430_RL_PCREL, 8)
RELOC_NUMBER (R_MSP430_8, 9)
RELOC_NUMBER (R_MSP430_SYM_DIFF, 10)
END_RELOC_NUMBERS (R_MSP430_max)
START_RELOC_NUMBERS (elf_msp430x_reloc_type)
RELOC_NUMBER (R_MSP430_ABS32, 1) /* aka R_MSP430_32 */
RELOC_NUMBER (R_MSP430_ABS16, 2) /* aka R_MSP430_16 */
RELOC_NUMBER (R_MSP430_ABS8, 3)
RELOC_NUMBER (R_MSP430_PCR16, 4) /* aka R_MSP430_16_PCREL */
RELOC_NUMBER (R_MSP430X_PCR20_EXT_SRC, 5)
RELOC_NUMBER (R_MSP430X_PCR20_EXT_DST, 6)
RELOC_NUMBER (R_MSP430X_PCR20_EXT_ODST, 7)
RELOC_NUMBER (R_MSP430X_ABS20_EXT_SRC, 8)
RELOC_NUMBER (R_MSP430X_ABS20_EXT_DST, 9)
RELOC_NUMBER (R_MSP430X_ABS20_EXT_ODST, 10)
RELOC_NUMBER (R_MSP430X_ABS20_ADR_SRC, 11)
RELOC_NUMBER (R_MSP430X_ABS20_ADR_DST, 12)
RELOC_NUMBER (R_MSP430X_PCR16, 13) /* Like R_MSP430_PCR16 but with overflow checking. */
RELOC_NUMBER (R_MSP430X_PCR20_CALL, 14)
RELOC_NUMBER (R_MSP430X_ABS16, 15) /* Like R_MSP430_ABS16 but with overflow checking. */
RELOC_NUMBER (R_MSP430_ABS_HI16, 16)
RELOC_NUMBER (R_MSP430_PREL31, 17)
RELOC_NUMBER (R_MSP430_EHTYPE, 18) /* Mentioned in ABI. */
RELOC_NUMBER (R_MSP430X_10_PCREL, 19) /* Red Hat invention. Used for Jump instructions. */
RELOC_NUMBER (R_MSP430X_2X_PCREL, 20) /* Red Hat invention. Used for relaxing jumps. */
RELOC_NUMBER (R_MSP430X_SYM_DIFF, 21) /* Red Hat invention. Used for relaxing debug info. */
END_RELOC_NUMBERS (R_MSP430x_max)
#endif /* _ELF_MSP430_H */
+13 -13
View File
@@ -1,21 +1,21 @@
/* MS1 ELF support for BFD.
Copyright (C) 2000, 2005 Free Software Foundation, Inc.
Copyright (C) 2000, 2005, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
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_MT_H
#define _ELF_MT_H
+91
View File
@@ -0,0 +1,91 @@
/* Altera Nios II ELF support for BFD.
Copyright (C) 2012, 2013 Free Software Foundation, Inc.
Contributed by Nigel Gray (ngray@altera.com).
Contributed by Mentor Graphics, 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the Altera Nios II ELF ABI. Note
that most of this is not actually implemented by BFD. */
#ifndef _ELF_NIOS2_H
#define _ELF_NIOS2_H
#include "elf/reloc-macros.h"
/* The order of these numbers must match the order in
the elf_nios2_howto_table_rel table for the lookup
function to work properly. */
START_RELOC_NUMBERS (elf_nios2_reloc_type)
RELOC_NUMBER (R_NIOS2_NONE, 0)
RELOC_NUMBER (R_NIOS2_S16, 1)
RELOC_NUMBER (R_NIOS2_U16, 2)
RELOC_NUMBER (R_NIOS2_PCREL16, 3)
RELOC_NUMBER (R_NIOS2_CALL26, 4)
RELOC_NUMBER (R_NIOS2_IMM5, 5)
RELOC_NUMBER (R_NIOS2_CACHE_OPX, 6)
RELOC_NUMBER (R_NIOS2_IMM6, 7)
RELOC_NUMBER (R_NIOS2_IMM8, 8)
RELOC_NUMBER (R_NIOS2_HI16, 9)
RELOC_NUMBER (R_NIOS2_LO16, 10)
RELOC_NUMBER (R_NIOS2_HIADJ16, 11)
RELOC_NUMBER (R_NIOS2_BFD_RELOC_32, 12)
RELOC_NUMBER (R_NIOS2_BFD_RELOC_16, 13)
RELOC_NUMBER (R_NIOS2_BFD_RELOC_8, 14)
RELOC_NUMBER (R_NIOS2_GPREL, 15)
RELOC_NUMBER (R_NIOS2_GNU_VTINHERIT, 16)
RELOC_NUMBER (R_NIOS2_GNU_VTENTRY, 17)
RELOC_NUMBER (R_NIOS2_UJMP, 18)
RELOC_NUMBER (R_NIOS2_CJMP, 19)
RELOC_NUMBER (R_NIOS2_CALLR, 20)
RELOC_NUMBER (R_NIOS2_ALIGN, 21)
RELOC_NUMBER (R_NIOS2_GOT16, 22)
RELOC_NUMBER (R_NIOS2_CALL16, 23)
RELOC_NUMBER (R_NIOS2_GOTOFF_LO, 24)
RELOC_NUMBER (R_NIOS2_GOTOFF_HA, 25)
RELOC_NUMBER (R_NIOS2_PCREL_LO, 26)
RELOC_NUMBER (R_NIOS2_PCREL_HA, 27)
RELOC_NUMBER (R_NIOS2_TLS_GD16, 28)
RELOC_NUMBER (R_NIOS2_TLS_LDM16, 29)
RELOC_NUMBER (R_NIOS2_TLS_LDO16, 30)
RELOC_NUMBER (R_NIOS2_TLS_IE16, 31)
RELOC_NUMBER (R_NIOS2_TLS_LE16, 32)
RELOC_NUMBER (R_NIOS2_TLS_DTPMOD, 33)
RELOC_NUMBER (R_NIOS2_TLS_DTPREL, 34)
RELOC_NUMBER (R_NIOS2_TLS_TPREL, 35)
RELOC_NUMBER (R_NIOS2_COPY, 36)
RELOC_NUMBER (R_NIOS2_GLOB_DAT, 37)
RELOC_NUMBER (R_NIOS2_JUMP_SLOT, 38)
RELOC_NUMBER (R_NIOS2_RELATIVE, 39)
RELOC_NUMBER (R_NIOS2_GOTOFF, 40)
RELOC_NUMBER (R_NIOS2_ILLEGAL, 41)
END_RELOC_NUMBERS (R_NIOS2_maxext)
/* Processor-specific section flags. */
/* This is used to mark gp-relative sections. */
#define SHF_NIOS2_GPREL 0x10000000
/* Processor-specific dynamic array tags. */
/* Address of _gp. */
#define DT_NIOS2_GP 0x70000002
#endif /* _ELF_NIOS2_H */
+13 -13
View File
@@ -1,21 +1,21 @@
/* OpenRISC ELF support for BFD.
Copyright 2001 Free Software Foundation, Inc.
Copyright 2001, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_OPENRISC_H
#define _ELF_OPENRISC_H
+4 -10
View File
@@ -1,12 +1,12 @@
/* OR1K ELF support for BFD. Derived from ppc.h.
Copyright (C) 2002 Free Software Foundation, Inc.
Copyright (C) 2002, 2010 Free Software Foundation, Inc.
Contributed by Ivan Guzvinec <ivang@opencores.org>
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -16,7 +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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
#ifndef _ELF_OR1K_H
#define _ELF_OR1K_H
@@ -52,11 +53,4 @@ END_RELOC_NUMBERS (R_OR32_max)
specified in the associated \
symbol table entry. */
/* Processor specific section flags, sh_flags field */
#define SHF_EXCLUDE 0x80000000 /* Link editor is to exclude \
this section from executable \
and shared objects that it \
builds when those objects \
are not to be furhter \
relocated. */
#endif /* _ELF_OR1K_H */
+2 -2
View File
@@ -1,11 +1,11 @@
/* picoJava ELF support for BFD.
Copyright 1999, 2000 Free Software Foundation, Inc.
Copyright 1999, 2000, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+45 -26
View File
@@ -1,26 +1,28 @@
/* PPC ELF support for BFD.
Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003, 2005, 2007, 2008,
2009 Free Software Foundation, Inc.
2009, 2010 Free Software Foundation, Inc.
By Michael Meissner, Cygnus Support, <meissner@cygnus.com>, from information
in the System V Application Binary Interface, PowerPC Processor Supplement
and the PowerPC Embedded Application Binary Interface (eabi).
By Michael Meissner, Cygnus Support, <meissner@cygnus.com>,
from information in the System V Application Binary Interface,
PowerPC Processor Supplement and the PowerPC Embedded Application
Binary Interface (eabi).
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* This file holds definitions specific to the PPC ELF ABI. Note
that most of this is not actually implemented by BFD. */
@@ -129,6 +131,25 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115)
RELOC_NUMBER (R_PPC_EMB_RELSDA, 116)
/* PowerPC VLE relocations. */
RELOC_NUMBER (R_PPC_VLE_REL8, 216)
RELOC_NUMBER (R_PPC_VLE_REL15, 217)
RELOC_NUMBER (R_PPC_VLE_REL24, 218)
RELOC_NUMBER (R_PPC_VLE_LO16A, 219)
RELOC_NUMBER (R_PPC_VLE_LO16D, 220)
RELOC_NUMBER (R_PPC_VLE_HI16A, 221)
RELOC_NUMBER (R_PPC_VLE_HI16D, 222)
RELOC_NUMBER (R_PPC_VLE_HA16A, 223)
RELOC_NUMBER (R_PPC_VLE_HA16D, 224)
RELOC_NUMBER (R_PPC_VLE_SDA21, 225)
RELOC_NUMBER (R_PPC_VLE_SDA21_LO, 226)
RELOC_NUMBER (R_PPC_VLE_SDAREL_LO16A, 227)
RELOC_NUMBER (R_PPC_VLE_SDAREL_LO16D, 228)
RELOC_NUMBER (R_PPC_VLE_SDAREL_HI16A, 229)
RELOC_NUMBER (R_PPC_VLE_SDAREL_HI16D, 230)
RELOC_NUMBER (R_PPC_VLE_SDAREL_HA16A, 231)
RELOC_NUMBER (R_PPC_VLE_SDAREL_HA16D, 232)
/* Support STT_GNU_IFUNC plt calls. */
RELOC_NUMBER (R_PPC_IRELATIVE, 248)
@@ -155,7 +176,8 @@ END_RELOC_NUMBERS (R_PPC_max)
#define DT_PPC_GOT (DT_LOPROC)
/* Specify that tls descriptors should be optimized. */
#define DT_PPC_TLSOPT (DT_LOPROC + 1)
#define DT_PPC_OPT (DT_LOPROC + 1)
#define PPC_OPT_TLS 1
/* Processor specific flags for the ELF header e_flags field. */
@@ -164,6 +186,12 @@ END_RELOC_NUMBERS (R_PPC_max)
#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag. */
#define EF_PPC_RELOCATABLE_LIB 0x00008000 /* PowerPC -mrelocatable-lib flag. */
/* Processor specific program headers, p_flags field. */
#define PF_PPC_VLE 0x10000000 /* PowerPC VLE. */
/* Processor specific section headers, sh_flags field. */
#define SHF_PPC_VLE 0x10000000 /* PowerPC VLE text section. */
/* Processor specific section headers, sh_type field. */
#define SHT_ORDERED SHT_HIPROC /* Link editor is to sort the \
@@ -172,15 +200,6 @@ END_RELOC_NUMBERS (R_PPC_max)
specified in the associated \
symbol table entry. */
/* Processor specific section flags, sh_flags field. */
#define SHF_EXCLUDE 0x80000000 /* Link editor is to exclude \
this section from executable \
and shared objects that it \
builds when those objects \
are not to be furhter \
relocated. */
/* Object attribute tags. */
enum
{
+88 -17
View File
@@ -1,21 +1,22 @@
/* PPC64 ELF support for BFD.
Copyright 2003, 2005, 2009 Free Software Foundation, Inc.
Copyright 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
#ifndef _ELF_PPC64_H
#define _ELF_PPC64_H
@@ -138,7 +139,20 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type)
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106)
RELOC_NUMBER (R_PPC64_TLSGD, 107)
RELOC_NUMBER (R_PPC64_TLSLD, 108)
RELOC_NUMBER (R_PPC64_TOCSAVE, 109)
/* Added when HA and HI relocs were changed to report overflows. */
RELOC_NUMBER (R_PPC64_ADDR16_HIGH, 110)
RELOC_NUMBER (R_PPC64_ADDR16_HIGHA, 111)
RELOC_NUMBER (R_PPC64_TPREL16_HIGH, 112)
RELOC_NUMBER (R_PPC64_TPREL16_HIGHA, 113)
RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114)
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115)
#ifndef RELOC_MACROS_GEN_FUNC
/* Fake relocation only used internally by ld. */
RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128)
#endif
/* Support STT_GNU_IFUNC plt calls. */
RELOC_NUMBER (R_PPC64_JMP_IREL, 247)
RELOC_NUMBER (R_PPC64_IRELATIVE, 248)
@@ -155,8 +169,63 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type)
END_RELOC_NUMBERS (R_PPC64_max)
#define IS_PPC64_TLS_RELOC(R) \
((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA)
#define IS_PPC64_TLS_RELOC(R) \
(((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \
|| ((R) >= R_PPC64_TPREL16_HIGH && (R) <= R_PPC64_DTPREL16_HIGHA))
/* e_flags bits specifying ABI.
1 for original function descriptor using ABI,
2 for revised ABI without function descriptors,
0 for unspecified or not using any features affected by the differences. */
#define EF_PPC64_ABI 3
/* The ELFv2 ABI uses three bits in the symbol st_other field of a
function definition to specify the number of instructions between a
function's global entry point and local entry point.
The global entry point is used when it is necessary to set up the
toc pointer (r2) for the function. Callers must enter the global
entry point with r12 set to the global entry point address. On
return from the function, r2 may have a different value to that
which it had on entry.
The local entry point is used when r2 is known to already be valid
for the function. There is no requirement on r12 when using the
local entry point, and on return r2 will contain the same value as
at entry.
A value of zero in these bits means that the function has a single
entry point with no requirement on r12 or r2, and that on return r2
will contain the same value as at entry.
Values of one and seven are reserved. */
#define STO_PPC64_LOCAL_BIT 5
#define STO_PPC64_LOCAL_MASK (7 << STO_PPC64_LOCAL_BIT)
// 3 bit other field to bytes.
static inline unsigned int
ppc64_decode_local_entry(unsigned int other)
{
return ((1 << other) >> 2) << 2;
}
// bytes to field value.
static inline unsigned int
ppc64_encode_local_entry(unsigned int val)
{
return (val >= 4 * 4
? (val >= 8 * 4
? (val >= 16 * 4 ? 6 : 5)
: 4)
: (val >= 2 * 4
? 3
: (val >= 1 * 4 ? 2 : 0)));
}
/* st_other to number of bytes. */
#define PPC64_LOCAL_ENTRY_OFFSET(other) \
ppc64_decode_local_entry (((other) & STO_PPC64_LOCAL_MASK) \
>> STO_PPC64_LOCAL_BIT)
/* number of bytes to st_other. */
#define PPC64_SET_LOCAL_ENTRY_OFFSET(val) \
ppc64_encode_local_entry (val) << STO_PPC64_LOCAL_BIT
/* Specify the start of the .glink section. */
#define DT_PPC64_GLINK DT_LOPROC
@@ -165,7 +234,9 @@ END_RELOC_NUMBERS (R_PPC64_max)
#define DT_PPC64_OPD (DT_LOPROC + 1)
#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
/* Specify that tls descriptors should be optimized. */
#define DT_PPC64_TLSOPT (DT_LOPROC + 3)
/* Specify whether various optimisations are possible. */
#define DT_PPC64_OPT (DT_LOPROC + 3)
#define PPC64_OPT_TLS 1
#define PPC64_OPT_MULTI_TOC 2
#endif /* _ELF_PPC64_H */
+4 -4
View File
@@ -1,11 +1,11 @@
/* Generic relocation support for BFD.
Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
Copyright 1998, 1999, 2000, 2003, 2010, 2011 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -45,10 +45,10 @@
Note: The value of the symbol defined in the END_RELOC_NUMBERS
macro (R_foo_count in the case of the example above) will be
set to the value of the whichever *_RELOC macro preceeds it plus
set to the value of the whichever *_RELOC macro precedes it plus
one. Therefore if you intend to use the symbol as a sentinel for
the highest valid macro value you should make sure that the
preceeding *_RELOC macro is the highest valid number. ie a
preceding *_RELOC macro is the highest valid number. ie a
declaration like this:
START_RELOC_NUMBERS (foo)
+120
View File
@@ -0,0 +1,120 @@
/* RL78 ELF support for BFD.
Copyright (C) 2008-2013 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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_RL78_H
#define _ELF_RL78_H
#include "elf/reloc-macros.h"
/* Note that there are a few internal relocation types used by the
linker to do link-time relaxation. If you update this file, please
check elf32-rl78.c to see if any of the internal relocations need to
be, er, relocated. */
/* Preliminary relocations. */
START_RELOC_NUMBERS (elf_rl78_reloc_type)
RELOC_NUMBER (R_RL78_NONE, 0x00)
/* These are for data, and are bi-endian. */
RELOC_NUMBER (R_RL78_DIR32, 0x01) /* Was: R_RL78_32. */
RELOC_NUMBER (R_RL78_DIR24S, 0x02) /* Was: R_RL78_24. */
RELOC_NUMBER (R_RL78_DIR16, 0x03)
RELOC_NUMBER (R_RL78_DIR16U, 0x04) /* Was: R_RL78_16_UNS. */
RELOC_NUMBER (R_RL78_DIR16S, 0x05) /* Was: R_RL78_16. */
RELOC_NUMBER (R_RL78_DIR8, 0x06)
RELOC_NUMBER (R_RL78_DIR8U, 0x07) /* Was: R_RL78_8_UNS. */
RELOC_NUMBER (R_RL78_DIR8S, 0x08) /* Was: R_RL78_8. */
/* Signed pc-relative values. */
RELOC_NUMBER (R_RL78_DIR24S_PCREL, 0x09) /* Was: R_RL78_24_PCREL. */
RELOC_NUMBER (R_RL78_DIR16S_PCREL, 0x0a) /* Was: R_RL78_16_PCREL. */
RELOC_NUMBER (R_RL78_DIR8S_PCREL, 0x0b) /* Was: R_RL78_8_PCREL. */
/* These are for fields in the instructions. */
RELOC_NUMBER (R_RL78_DIR16UL, 0x0c)
RELOC_NUMBER (R_RL78_DIR16UW, 0x0d)
RELOC_NUMBER (R_RL78_DIR8UL, 0x0e)
RELOC_NUMBER (R_RL78_DIR8UW, 0x0f)
RELOC_NUMBER (R_RL78_DIR32_REV, 0x10)
RELOC_NUMBER (R_RL78_DIR16_REV, 0x11)
RELOC_NUMBER (R_RL78_DIR3U_PCREL, 0x12)
/* These are extensions added by Red Hat. */
RELOC_NUMBER (R_RL78_RH_RELAX, 0x2d) /* Marks opcodes suitable for linker relaxation. */
RELOC_NUMBER (R_RL78_RH_SFR, 0x2e) /* SFR addresses - internal use only. */
RELOC_NUMBER (R_RL78_RH_SADDR, 0x2f) /* SADDR addresses - internal use only.. */
/* These are for complex relocs. */
RELOC_NUMBER (R_RL78_ABS32, 0x41)
RELOC_NUMBER (R_RL78_ABS24S, 0x42)
RELOC_NUMBER (R_RL78_ABS16, 0x43)
RELOC_NUMBER (R_RL78_ABS16U, 0x44)
RELOC_NUMBER (R_RL78_ABS16S, 0x45)
RELOC_NUMBER (R_RL78_ABS8, 0x46)
RELOC_NUMBER (R_RL78_ABS8U, 0x47)
RELOC_NUMBER (R_RL78_ABS8S, 0x48)
RELOC_NUMBER (R_RL78_ABS24S_PCREL, 0x49)
RELOC_NUMBER (R_RL78_ABS16S_PCREL, 0x4a)
RELOC_NUMBER (R_RL78_ABS8S_PCREL, 0x4b)
RELOC_NUMBER (R_RL78_ABS16UL, 0x4c)
RELOC_NUMBER (R_RL78_ABS16UW, 0x4d)
RELOC_NUMBER (R_RL78_ABS8UL, 0x4e)
RELOC_NUMBER (R_RL78_ABS8UW, 0x4f)
RELOC_NUMBER (R_RL78_ABS32_REV, 0x50)
RELOC_NUMBER (R_RL78_ABS16_REV, 0x51)
RELOC_NUMBER (R_RL78_SYM, 0x80)
RELOC_NUMBER (R_RL78_OPneg, 0x81)
RELOC_NUMBER (R_RL78_OPadd, 0x82)
RELOC_NUMBER (R_RL78_OPsub, 0x83)
RELOC_NUMBER (R_RL78_OPmul, 0x84)
RELOC_NUMBER (R_RL78_OPdiv, 0x85)
RELOC_NUMBER (R_RL78_OPshla, 0x86)
RELOC_NUMBER (R_RL78_OPshra, 0x87)
RELOC_NUMBER (R_RL78_OPsctsize, 0x88)
RELOC_NUMBER (R_RL78_OPscttop, 0x8d)
RELOC_NUMBER (R_RL78_OPand, 0x90)
RELOC_NUMBER (R_RL78_OPor, 0x91)
RELOC_NUMBER (R_RL78_OPxor, 0x92)
RELOC_NUMBER (R_RL78_OPnot, 0x93)
RELOC_NUMBER (R_RL78_OPmod, 0x94)
RELOC_NUMBER (R_RL78_OPromtop, 0x95)
RELOC_NUMBER (R_RL78_OPramtop, 0x96)
END_RELOC_NUMBERS (R_RL78_max)
#define EF_RL78_CPU_RL78 0x00000079 /* FIXME: correct value? */
#define EF_RL78_CPU_MASK 0x0000007F /* specific cpu bits. */
#define EF_RL78_ALL_FLAGS (EF_RL78_CPU_MASK)
/* Values for the e_flags field in the ELF header. */
#define E_FLAG_RL78_64BIT_DOUBLES (1 << 0)
#define E_FLAG_RL78_DSP (1 << 1) /* Defined in the RL78 CPU Object file specification, but not explained. */
#define E_FLAG_RL78_G10 (1 << 2) /* CPU is missing register banks 1-3, so uses different ABI. */
/* These define the addend field of R_RL78_RH_RELAX relocations. */
#define RL78_RELAXA_BRA 0x00000010 /* Any type of branch (must be decoded). */
#define RL78_RELAXA_ADDR16 0x00000020 /* addr16->sfr/saddr opportunity */
#define RL78_RELAXA_RNUM 0x0000000f /* Number of associated relocations. */
/* These mark the place where alignment is requested, and the place where the filler bytes end. */
#define RL78_RELAXA_ALIGN 0x10000000 /* Start alignment; the remaining bits are the alignment value. */
#define RL78_RELAXA_ELIGN 0x20000000 /* End alignment; the remaining bits are the alignment value. */
#define RL78_RELAXA_ANUM 0x00ffffff /* Alignment amount, in bytes (i.e. .balign). */
#endif /* _ELF_RL78_H */
+136
View File
@@ -0,0 +1,136 @@
/* RX ELF support for BFD.
Copyright (C) 2008, 2009, 2010 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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_RX_H
#define _ELF_RX_H
#include "elf/reloc-macros.h"
/* Note that there are a few internal relocation types used by the
linker to do link-time relaxation. If you update this file, please
check elf32-rx.c to see if any of the internal relocations need to
be, er, relocated. */
/* Preliminary relocations. */
START_RELOC_NUMBERS (elf_rx_reloc_type)
RELOC_NUMBER (R_RX_NONE, 0x00)
/* These are for data, and are bi-endian. */
RELOC_NUMBER (R_RX_DIR32, 0x01) /* Was: R_RX_32. */
RELOC_NUMBER (R_RX_DIR24S, 0x02) /* Was: R_RX_24. */
RELOC_NUMBER (R_RX_DIR16, 0x03)
RELOC_NUMBER (R_RX_DIR16U, 0x04) /* Was: R_RX_16_UNS. */
RELOC_NUMBER (R_RX_DIR16S, 0x05) /* Was: R_RX_16. */
RELOC_NUMBER (R_RX_DIR8, 0x06)
RELOC_NUMBER (R_RX_DIR8U, 0x07) /* Was: R_RX_8_UNS. */
RELOC_NUMBER (R_RX_DIR8S, 0x08) /* Was: R_RX_8. */
/* Signed pc-relative values. */
RELOC_NUMBER (R_RX_DIR24S_PCREL, 0x09) /* Was: R_RX_24_PCREL. */
RELOC_NUMBER (R_RX_DIR16S_PCREL, 0x0a) /* Was: R_RX_16_PCREL. */
RELOC_NUMBER (R_RX_DIR8S_PCREL, 0x0b) /* Was: R_RX_8_PCREL. */
/* These are for fields in the instructions. */
RELOC_NUMBER (R_RX_DIR16UL, 0x0c)
RELOC_NUMBER (R_RX_DIR16UW, 0x0d)
RELOC_NUMBER (R_RX_DIR8UL, 0x0e)
RELOC_NUMBER (R_RX_DIR8UW, 0x0f)
RELOC_NUMBER (R_RX_DIR32_REV, 0x10)
RELOC_NUMBER (R_RX_DIR16_REV, 0x11)
RELOC_NUMBER (R_RX_DIR3U_PCREL, 0x12)
/* These are extensions added by Red Hat. */
RELOC_NUMBER (R_RX_RH_3_PCREL, 0x20) /* Like R_RX_DIR8S_PCREL but only 3-bits. */
RELOC_NUMBER (R_RX_RH_16_OP, 0x21) /* Like R_RX_DIR16 but for opcodes - always big endian. */
RELOC_NUMBER (R_RX_RH_24_OP, 0x22) /* Like R_RX_DIR24S but for opcodes - always big endian. */
RELOC_NUMBER (R_RX_RH_32_OP, 0x23) /* Like R_RX_DIR32 but for opcodes - always big endian. */
RELOC_NUMBER (R_RX_RH_24_UNS, 0x24) /* Like R_RX_DIR24S but for unsigned values. */
RELOC_NUMBER (R_RX_RH_8_NEG, 0x25) /* Like R_RX_DIR8 but -x is stored. */
RELOC_NUMBER (R_RX_RH_16_NEG, 0x26) /* Like R_RX_DIR16 but -x is stored. */
RELOC_NUMBER (R_RX_RH_24_NEG, 0x27) /* Like R_RX_DIR24S but -x is stored. */
RELOC_NUMBER (R_RX_RH_32_NEG, 0x28) /* Like R_RX_DIR32 but -x is stored. */
RELOC_NUMBER (R_RX_RH_DIFF, 0x29) /* Subtract from a previous relocation. */
RELOC_NUMBER (R_RX_RH_GPRELB, 0x2a) /* Byte value, relative to __gp. */
RELOC_NUMBER (R_RX_RH_GPRELW, 0x2b) /* Word value, relative to __gp. */
RELOC_NUMBER (R_RX_RH_GPRELL, 0x2c) /* Long value, relative to __gp. */
RELOC_NUMBER (R_RX_RH_RELAX, 0x2d) /* Marks opcodes suitable for linker relaxation. */
/* These are for complex relocs. */
RELOC_NUMBER (R_RX_ABS32, 0x41)
RELOC_NUMBER (R_RX_ABS24S, 0x42)
RELOC_NUMBER (R_RX_ABS16, 0x43)
RELOC_NUMBER (R_RX_ABS16U, 0x44)
RELOC_NUMBER (R_RX_ABS16S, 0x45)
RELOC_NUMBER (R_RX_ABS8, 0x46)
RELOC_NUMBER (R_RX_ABS8U, 0x47)
RELOC_NUMBER (R_RX_ABS8S, 0x48)
RELOC_NUMBER (R_RX_ABS24S_PCREL, 0x49)
RELOC_NUMBER (R_RX_ABS16S_PCREL, 0x4a)
RELOC_NUMBER (R_RX_ABS8S_PCREL, 0x4b)
RELOC_NUMBER (R_RX_ABS16UL, 0x4c)
RELOC_NUMBER (R_RX_ABS16UW, 0x4d)
RELOC_NUMBER (R_RX_ABS8UL, 0x4e)
RELOC_NUMBER (R_RX_ABS8UW, 0x4f)
RELOC_NUMBER (R_RX_ABS32_REV, 0x50)
RELOC_NUMBER (R_RX_ABS16_REV, 0x51)
RELOC_NUMBER (R_RX_SYM, 0x80)
RELOC_NUMBER (R_RX_OPneg, 0x81)
RELOC_NUMBER (R_RX_OPadd, 0x82)
RELOC_NUMBER (R_RX_OPsub, 0x83)
RELOC_NUMBER (R_RX_OPmul, 0x84)
RELOC_NUMBER (R_RX_OPdiv, 0x85)
RELOC_NUMBER (R_RX_OPshla, 0x86)
RELOC_NUMBER (R_RX_OPshra, 0x87)
RELOC_NUMBER (R_RX_OPsctsize, 0x88)
RELOC_NUMBER (R_RX_OPscttop, 0x8d)
RELOC_NUMBER (R_RX_OPand, 0x90)
RELOC_NUMBER (R_RX_OPor, 0x91)
RELOC_NUMBER (R_RX_OPxor, 0x92)
RELOC_NUMBER (R_RX_OPnot, 0x93)
RELOC_NUMBER (R_RX_OPmod, 0x94)
RELOC_NUMBER (R_RX_OPromtop, 0x95)
RELOC_NUMBER (R_RX_OPramtop, 0x96)
END_RELOC_NUMBERS (R_RX_max)
#define EF_RX_CPU_RX 0x00000079 /* FIXME: this collides with the E_FLAG_RX_... values below. */
#define EF_RX_CPU_MASK 0x0000007F /* specific cpu bits. */
#define EF_RX_ALL_FLAGS (EF_RX_CPU_MASK)
/* Values for the e_flags field in the ELF header. */
#define E_FLAG_RX_64BIT_DOUBLES (1 << 0)
#define E_FLAG_RX_DSP (1 << 1) /* Defined in the RX CPU Object file specification, but not explained. */
#define E_FLAG_RX_PID (1 << 2) /* Unofficial - DJ */
#define E_FLAG_RX_ABI (1 << 3) /* Binary passes stacked arguments using natural alignment. Unofficial - NC. */
/* These define the addend field of R_RX_RH_RELAX relocations. */
#define RX_RELAXA_IMM6 0x00000010 /* Imm8/16/24/32 at bit offset 6. */
#define RX_RELAXA_IMM12 0x00000020 /* Imm8/16/24/32 at bit offset 12. */
#define RX_RELAXA_DSP4 0x00000040 /* Dsp0/8/16 at bit offset 4. */
#define RX_RELAXA_DSP6 0x00000080 /* Dsp0/8/16 at bit offset 6. */
#define RX_RELAXA_DSP14 0x00000100 /* Dsp0/8/16 at bit offset 14. */
#define RX_RELAXA_BRA 0x00000200 /* Any type of branch (must be decoded). */
#define RX_RELAXA_RNUM 0x0000000f /* Number of associated relocations. */
/* These mark the place where alignment is requested, and the place where the filler bytes end. */
#define RX_RELAXA_ALIGN 0x10000000 /* Start alignment; the remaining bits are the alignment value. */
#define RX_RELAXA_ELIGN 0x20000000 /* End alignment; the remaining bits are the alignment value. */
#define RX_RELAXA_ANUM 0x00ffffff /* Alignment amount, in bytes (i.e. .balign). */
#endif /* _ELF_RX_H */
+11 -2
View File
@@ -1,12 +1,12 @@
/* 390 ELF support for BFD.
Copyright 2000, 2001, 2003 Free Software Foundation, Inc.
Copyright 2000, 2001, 2003, 2010 Free Software Foundation, Inc.
Contributed by Carl B. Pedersen and Martin Schwidefsky.
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -33,6 +33,10 @@
#include "elf/reloc-macros.h"
/* Processor specific flags for the ELF header e_flags field. */
#define EF_S390_HIGH_GPRS 0x00000001
/* Relocation types. */
START_RELOC_NUMBERS (elf_s390_reloc_type)
@@ -53,8 +57,12 @@ START_RELOC_NUMBERS (elf_s390_reloc_type)
RELOC_NUMBER (R_390_GOTPC, 14) /* 32 bit PC relative offset to GOT. */
RELOC_NUMBER (R_390_GOT16, 15) /* 16 bit GOT offset. */
RELOC_NUMBER (R_390_PC16, 16) /* PC relative 16 bit. */
RELOC_NUMBER (R_390_PC12DBL, 62) /* PC relative 12 bit shifted by 1. */
RELOC_NUMBER (R_390_PLT12DBL, 63) /* 12 bit PC rel. PLT shifted by 1. */
RELOC_NUMBER (R_390_PC16DBL, 17) /* PC relative 16 bit shifted by 1. */
RELOC_NUMBER (R_390_PLT16DBL, 18) /* 16 bit PC rel. PLT shifted by 1. */
RELOC_NUMBER (R_390_PC24DBL, 64) /* PC relative 24 bit shifted by 1. */
RELOC_NUMBER (R_390_PLT24DBL, 65) /* 24 bit PC rel. PLT shifted by 1. */
RELOC_NUMBER (R_390_PC32DBL, 19) /* PC relative 32 bit shifted by 1. */
RELOC_NUMBER (R_390_PLT32DBL, 20) /* 32 bit PC rel. PLT shifted by 1. */
RELOC_NUMBER (R_390_GOTPCDBL, 21) /* 32 bit PC rel. GOT shifted by 1. */
@@ -115,6 +123,7 @@ START_RELOC_NUMBERS (elf_s390_reloc_type)
RELOC_NUMBER (R_390_GOTPLT20, 59) /* 20 bit offset to jump slot. */
RELOC_NUMBER (R_390_TLS_GOTIE20, 60)/* 20 bit GOT offset for statis TLS
block offset. */
RELOC_NUMBER (R_390_IRELATIVE, 61) /* IFUNC relocation. */
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_390_GNU_VTINHERIT, 250)
RELOC_NUMBER (R_390_GNU_VTENTRY, 251)
+20 -3
View File
@@ -1,11 +1,12 @@
/* SH ELF support for BFD.
Copyright 1998, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2010
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -85,6 +86,12 @@ 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);
/* Other e_flags bits. */
#define EF_SH_PIC 0x100 /* Segments of an FDPIC binary may
be relocated independently. */
#define EF_SH_FDPIC 0x8000 /* Uses the FDPIC ABI. */
/* Flags for the st_other symbol field.
Keep away from the STV_ visibility flags (bit 0..1). */
@@ -213,7 +220,17 @@ START_RELOC_NUMBERS (elf_sh_reloc_type)
RELOC_NUMBER (R_SH_JMP_SLOT64, 195)
RELOC_NUMBER (R_SH_RELATIVE64, 196)
FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_5, 197)
FAKE_RELOC (R_SH_LAST_INVALID_RELOC_5, 241)
FAKE_RELOC (R_SH_LAST_INVALID_RELOC_5, 200)
RELOC_NUMBER (R_SH_GOT20, 201)
RELOC_NUMBER (R_SH_GOTOFF20, 202)
RELOC_NUMBER (R_SH_GOTFUNCDESC, 203)
RELOC_NUMBER (R_SH_GOTFUNCDESC20, 204)
RELOC_NUMBER (R_SH_GOTOFFFUNCDESC, 205)
RELOC_NUMBER (R_SH_GOTOFFFUNCDESC20, 206)
RELOC_NUMBER (R_SH_FUNCDESC, 207)
RELOC_NUMBER (R_SH_FUNCDESC_VALUE, 208)
FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_6, 209)
FAKE_RELOC (R_SH_LAST_INVALID_RELOC_6, 241)
RELOC_NUMBER (R_SH_SHMEDIA_CODE, 242)
RELOC_NUMBER (R_SH_PT_16, 243)
RELOC_NUMBER (R_SH_IMMS16, 244)
+61 -16
View File
@@ -1,23 +1,25 @@
/* SPARC ELF support for BFD.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2008
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2008, 2010,
2011
Free Software Foundation, Inc.
By Doug Evans, Cygnus Support, <dje@cygnus.com>.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
#ifndef _ELF_SPARC_H
#define _ELF_SPARC_H
@@ -45,12 +47,11 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
/* Section indices. */
#define SHN_BEFORE SHN_LORESERVE /* used with SHF_ORDERED */
#define SHN_AFTER (SHN_LORESERVE + 1) /* used with SHF_ORDERED */
#define SHN_BEFORE SHN_LORESERVE /* Used with SHF_ORDERED and... */
#define SHN_AFTER (SHN_LORESERVE + 1) /* SHF_LINK_ORDER section flags. */
/* Section flags. */
#define SHF_EXCLUDE 0x80000000 /* exclude from linking */
#define SHF_ORDERED 0x40000000 /* treat sh_link,sh_info specially */
/* Symbol types. */
@@ -161,9 +162,12 @@ START_RELOC_NUMBERS (elf_sparc_reloc_type)
RELOC_NUMBER (R_SPARC_H34, 85)
RELOC_NUMBER (R_SPARC_SIZE32, 86)
RELOC_NUMBER (R_SPARC_SIZE64, 87)
RELOC_NUMBER (R_SPARC_WDISP10, 88)
EMPTY_RELOC (R_SPARC_max_std)
RELOC_NUMBER (R_SPARC_JMP_IREL, 248)
RELOC_NUMBER (R_SPARC_IRELATIVE, 249)
RELOC_NUMBER (R_SPARC_GNU_VTINHERIT, 250)
RELOC_NUMBER (R_SPARC_GNU_VTENTRY, 251)
RELOC_NUMBER (R_SPARC_REV32, 252)
@@ -183,4 +187,45 @@ END_RELOC_NUMBERS (R_SPARC_max)
#define DT_SPARC_REGISTER 0x70000001
/* Object attribute tags. */
enum
{
/* 0-3 are generic. */
Tag_GNU_Sparc_HWCAPS = 4,
};
/* These values match the AV_SPARC_* hwcap bits defined under Solaris. */
#define ELF_SPARC_HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */
#define ELF_SPARC_HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */
#define ELF_SPARC_HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */
#define ELF_SPARC_HWCAP_V8PLUS 0x00000008 /* v9 insns available to 32bit */
#define ELF_SPARC_HWCAP_POPC 0x00000010 /* 'popc' insn */
#define ELF_SPARC_HWCAP_VIS 0x00000020 /* VIS insns */
#define ELF_SPARC_HWCAP_VIS2 0x00000040 /* VIS2 insns */
#define ELF_SPARC_HWCAP_ASI_BLK_INIT \
0x00000080 /* block init ASIs */
#define ELF_SPARC_HWCAP_FMAF 0x00000100 /* fused multiply-add */
#define ELF_SPARC_HWCAP_VIS3 0x00000400 /* VIS3 insns */
#define ELF_SPARC_HWCAP_HPC 0x00000800 /* HPC insns */
#define ELF_SPARC_HWCAP_RANDOM 0x00001000 /* 'random' insn */
#define ELF_SPARC_HWCAP_TRANS 0x00002000 /* transaction insns */
#define ELF_SPARC_HWCAP_FJFMAU 0x00004000 /* unfused multiply-add */
#define ELF_SPARC_HWCAP_IMA 0x00008000 /* integer multiply-add */
#define ELF_SPARC_HWCAP_ASI_CACHE_SPARING \
0x00010000 /* cache sparing ASIs */
#define ELF_SPARC_HWCAP_AES 0x00020000 /* AES crypto insns */
#define ELF_SPARC_HWCAP_DES 0x00040000 /* DES crypto insns */
#define ELF_SPARC_HWCAP_KASUMI 0x00080000 /* KASUMI crypto insns */
#define ELF_SPARC_HWCAP_CAMELLIA \
0x00100000 /* CAMELLIA crypto insns */
#define ELF_SPARC_HWCAP_MD5 0x00200000 /* MD5 hashing insns */
#define ELF_SPARC_HWCAP_SHA1 0x00400000 /* SHA1 hashing insns */
#define ELF_SPARC_HWCAP_SHA256 0x00800000 /* SHA256 hashing insns */
#define ELF_SPARC_HWCAP_SHA512 0x01000000 /* SHA512 hashing insns */
#define ELF_SPARC_HWCAP_MPMUL 0x02000000 /* Multiple Precision Multiply */
#define ELF_SPARC_HWCAP_MONT 0x04000000 /* Montgomery Mult/Sqrt */
#define ELF_SPARC_HWCAP_PAUSE 0x08000000 /* Pause insn */
#define ELF_SPARC_HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */
#define ELF_SPARC_HWCAP_CRC32C 0x20000000 /* CRC32C insn */
#endif /* _ELF_SPARC_H */
+2 -2
View File
@@ -1,12 +1,12 @@
/* SPU ELF support for BFD.
Copyright 2006, 2007, 2009 Free Software Foundation, Inc.
Copyright 2006, 2007, 2009, 2010 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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+35
View File
@@ -0,0 +1,35 @@
/* TI C6X ELF attributes.
Copyright 2010
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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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. */
/* Define the TAG macro before including this file; it takes a tag
name and value. */
TAG(Tag_ISA, 4)
TAG(Tag_ABI_wchar_t, 6)
TAG(Tag_ABI_stack_align_needed, 8)
TAG(Tag_ABI_stack_align_preserved, 10)
TAG(Tag_ABI_DSBT, 12)
TAG(Tag_ABI_PID, 14)
TAG(Tag_ABI_PIC, 16)
TAG(Tag_ABI_array_object_alignment, 18)
TAG(Tag_ABI_array_object_align_expected, 20)
TAG(Tag_ABI_compatibility, 32)
TAG(Tag_ABI_conformance, 67)
+167
View File
@@ -0,0 +1,167 @@
/* TI C6X ELF support for BFD.
Copyright 2010, 2011
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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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_TIC6X_H
#define _ELF_TIC6X_H
#include "elf/reloc-macros.h"
/* Relocation types. */
START_RELOC_NUMBERS (elf_tic6x_reloc_type)
RELOC_NUMBER (R_C6000_NONE, 0)
RELOC_NUMBER (R_C6000_ABS32, 1)
RELOC_NUMBER (R_C6000_ABS16, 2)
RELOC_NUMBER (R_C6000_ABS8, 3)
RELOC_NUMBER (R_C6000_PCR_S21, 4)
RELOC_NUMBER (R_C6000_PCR_S12, 5)
RELOC_NUMBER (R_C6000_PCR_S10, 6)
RELOC_NUMBER (R_C6000_PCR_S7, 7)
RELOC_NUMBER (R_C6000_ABS_S16, 8)
RELOC_NUMBER (R_C6000_ABS_L16, 9)
RELOC_NUMBER (R_C6000_ABS_H16, 10)
RELOC_NUMBER (R_C6000_SBR_U15_B, 11)
RELOC_NUMBER (R_C6000_SBR_U15_H, 12)
RELOC_NUMBER (R_C6000_SBR_U15_W, 13)
RELOC_NUMBER (R_C6000_SBR_S16, 14)
RELOC_NUMBER (R_C6000_SBR_L16_B, 15)
RELOC_NUMBER (R_C6000_SBR_L16_H, 16)
RELOC_NUMBER (R_C6000_SBR_L16_W, 17)
RELOC_NUMBER (R_C6000_SBR_H16_B, 18)
RELOC_NUMBER (R_C6000_SBR_H16_H, 19)
RELOC_NUMBER (R_C6000_SBR_H16_W, 20)
RELOC_NUMBER (R_C6000_SBR_GOT_U15_W, 21)
RELOC_NUMBER (R_C6000_SBR_GOT_L16_W, 22)
RELOC_NUMBER (R_C6000_SBR_GOT_H16_W, 23)
RELOC_NUMBER (R_C6000_DSBT_INDEX, 24)
RELOC_NUMBER (R_C6000_PREL31, 25)
RELOC_NUMBER (R_C6000_COPY, 26)
RELOC_NUMBER (R_C6000_JUMP_SLOT, 27)
RELOC_NUMBER (R_C6000_EHTYPE, 28)
RELOC_NUMBER (R_C6000_PCR_H16, 29)
RELOC_NUMBER (R_C6000_PCR_L16, 30)
RELOC_NUMBER (R_C6000_ALIGN, 253)
RELOC_NUMBER (R_C6000_FPHEAD, 254)
RELOC_NUMBER (R_C6000_NOCMP, 255)
END_RELOC_NUMBERS (R_TIC6X_max)
/* Processor-specific flags. */
/* File contains static relocation information. */
#define EF_C6000_REL 0x1
/* Processor-specific section types. */
/* Unwind function table for stack unwinding. */
#define SHT_C6000_UNWIND 0x70000001
/* DLL dynamic linking pre-emption map. */
#define SHT_C6000_PREEMPTMAP 0x70000002
/* Object file compatibility attributes. */
#define SHT_C6000_ATTRIBUTES 0x70000003
/* Intermediate code for link-time optimization. */
#define SHT_TI_ICODE 0x7F000000
/* Symbolic cross reference information. */
#define SHT_TI_XREF 0x7F000001
/* Reserved. */
#define SHT_TI_HANDLER 0x7F000002
/* Compressed data for initializing C variables. */
#define SHT_TI_INITINFO 0x7F000003
/* Extended program header attributes. */
#define SHT_TI_PHATTRS 0x7F000004
/* Processor specific section indices. These sections do not actually
exist. Symbols with a st_shndx field corresponding to one of these
values have a special meaning. */
/* Small data area common symbol. */
#define SHN_TIC6X_SCOMMON SHN_LORESERVE
/* Processor-specific segment types. */
/* Extended Segment Attributes. */
#define PT_C6000_PHATTR 0x70000000
/* Processor-specific dynamic tags. */
/* Undocumented. */
#define DT_C6000_GSYM_OFFSET 0x6000000D
/* Undocumented. */
#define DT_C6000_GSTR_OFFSET 0x6000000F
/* Statically linked base address of data segment. */
#define DT_C6000_DSBT_BASE 0x70000000
/* Number of entries in this module's DSBT. */
#define DT_C6000_DSBT_SIZE 0x70000001
/* Undocumented. */
#define DT_C6000_PREEMPTMAP 0x70000002
/* The hard-coded DSBT index for this module, if any. */
#define DT_C6000_DSBT_INDEX 0x70000003
/* Extended program header attributes. */
/* Terminate a segment. */
#define PHA_NULL 0x0
/* Segment's address bound to the final address. */
#define PHA_BOUND 0x1
/* Segment cannot be further relocated. */
#define PHA_READONLY 0x2
/* Build attributes. */
enum
{
#define TAG(tag, value) tag = value,
#include "elf/tic6x-attrs.h"
#undef TAG
Tag_C6XABI_last
};
/* Values for Tag_ISA. GNU-specific names; the ABI does not specify
names for these values. */
enum
{
C6XABI_Tag_ISA_none = 0,
C6XABI_Tag_ISA_C62X = 1,
C6XABI_Tag_ISA_C67X = 3,
C6XABI_Tag_ISA_C67XP = 4,
C6XABI_Tag_ISA_C64X = 6,
C6XABI_Tag_ISA_C64XP = 7,
C6XABI_Tag_ISA_C674X = 8
};
/* Special section names. */
#define ELF_STRING_C6000_unwind ".c6xabi.exidx"
#define ELF_STRING_C6000_unwind_info ".c6xabi.extab"
#define ELF_STRING_C6000_unwind_once ".gnu.linkonce.c6xabi.exidx."
#define ELF_STRING_C6000_unwind_info_once ".gnu.linkonce.c6xabi.extab."
#endif /* _ELF_TIC6X_H */
+176
View File
@@ -0,0 +1,176 @@
/* TILE-Gx ELF support for BFD.
Copyright 2011 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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_TILEGX_H
#define _ELF_TILEGX_H
#include "elf/reloc-macros.h"
/* Relocations. */
START_RELOC_NUMBERS (elf_tilegx_reloc_type)
RELOC_NUMBER (R_TILEGX_NONE, 0)
/* Standard relocations */
RELOC_NUMBER (R_TILEGX_64, 1)
RELOC_NUMBER (R_TILEGX_32, 2)
RELOC_NUMBER (R_TILEGX_16, 3)
RELOC_NUMBER (R_TILEGX_8, 4)
RELOC_NUMBER (R_TILEGX_64_PCREL, 5)
RELOC_NUMBER (R_TILEGX_32_PCREL, 6)
RELOC_NUMBER (R_TILEGX_16_PCREL, 7)
RELOC_NUMBER (R_TILEGX_8_PCREL, 8)
/* Custom relocations */
RELOC_NUMBER (R_TILEGX_HW0, 9)
RELOC_NUMBER (R_TILEGX_HW1, 10)
RELOC_NUMBER (R_TILEGX_HW2, 11)
RELOC_NUMBER (R_TILEGX_HW3, 12)
RELOC_NUMBER (R_TILEGX_HW0_LAST, 13)
RELOC_NUMBER (R_TILEGX_HW1_LAST, 14)
RELOC_NUMBER (R_TILEGX_HW2_LAST, 15)
RELOC_NUMBER (R_TILEGX_COPY, 16)
RELOC_NUMBER (R_TILEGX_GLOB_DAT, 17)
RELOC_NUMBER (R_TILEGX_JMP_SLOT, 18)
RELOC_NUMBER (R_TILEGX_RELATIVE, 19)
/* Branch/jump offsets */
RELOC_NUMBER (R_TILEGX_BROFF_X1, 20)
RELOC_NUMBER (R_TILEGX_JUMPOFF_X1, 21)
RELOC_NUMBER (R_TILEGX_JUMPOFF_X1_PLT, 22)
/* Immediate operands. */
RELOC_NUMBER (R_TILEGX_IMM8_X0, 23)
RELOC_NUMBER (R_TILEGX_IMM8_Y0, 24)
RELOC_NUMBER (R_TILEGX_IMM8_X1, 25)
RELOC_NUMBER (R_TILEGX_IMM8_Y1, 26)
RELOC_NUMBER (R_TILEGX_DEST_IMM8_X1, 27)
RELOC_NUMBER (R_TILEGX_MT_IMM14_X1, 28)
RELOC_NUMBER (R_TILEGX_MF_IMM14_X1, 29)
RELOC_NUMBER (R_TILEGX_MMSTART_X0, 30)
RELOC_NUMBER (R_TILEGX_MMEND_X0, 31)
RELOC_NUMBER (R_TILEGX_SHAMT_X0, 32)
RELOC_NUMBER (R_TILEGX_SHAMT_X1, 33)
RELOC_NUMBER (R_TILEGX_SHAMT_Y0, 34)
RELOC_NUMBER (R_TILEGX_SHAMT_Y1, 35)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0, 36)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0, 37)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1, 38)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1, 39)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2, 40)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2, 41)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3, 42)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3, 43)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST, 44)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST, 45)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST, 46)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST, 47)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST, 48)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST, 49)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_PCREL, 50)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_PCREL, 51)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_PCREL, 52)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_PCREL, 53)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_PCREL, 54)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_PCREL, 55)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_PCREL, 56)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_PCREL, 57)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_PCREL, 58)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_PCREL, 59)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_PCREL, 60)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_PCREL, 61)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_PCREL, 62)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_PCREL, 63)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_GOT, 64)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_GOT, 65)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_PLT_PCREL, 66)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_PLT_PCREL, 67)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_PLT_PCREL, 68)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_PLT_PCREL, 69)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_PLT_PCREL, 70)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_PLT_PCREL, 71)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_GOT, 72)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_GOT, 73)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_GOT, 74)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_GOT, 75)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_PLT_PCREL, 76)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_PLT_PCREL, 77)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_GD, 78)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_GD, 79)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_LE, 80)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_LE, 81)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE, 82)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE, 83)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE, 84)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE, 85)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD, 86)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD, 87)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD, 88)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD, 89)
/* Relocs 90-91 are currently not defined. */
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_IE, 92)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_IE, 93)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL, 94)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL, 95)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL, 96)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL, 97)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL, 98)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL, 99)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE, 100)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE, 101)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE, 102)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE, 103)
/* Relocs 104-105 are currently not defined. */
RELOC_NUMBER (R_TILEGX_TLS_DTPMOD64, 106)
RELOC_NUMBER (R_TILEGX_TLS_DTPOFF64, 107)
RELOC_NUMBER (R_TILEGX_TLS_TPOFF64, 108)
RELOC_NUMBER (R_TILEGX_TLS_DTPMOD32, 109)
RELOC_NUMBER (R_TILEGX_TLS_DTPOFF32, 110)
RELOC_NUMBER (R_TILEGX_TLS_TPOFF32, 111)
RELOC_NUMBER (R_TILEGX_TLS_GD_CALL, 112)
RELOC_NUMBER (R_TILEGX_IMM8_X0_TLS_GD_ADD, 113)
RELOC_NUMBER (R_TILEGX_IMM8_X1_TLS_GD_ADD, 114)
RELOC_NUMBER (R_TILEGX_IMM8_Y0_TLS_GD_ADD, 115)
RELOC_NUMBER (R_TILEGX_IMM8_Y1_TLS_GD_ADD, 116)
RELOC_NUMBER (R_TILEGX_TLS_IE_LOAD, 117)
RELOC_NUMBER (R_TILEGX_IMM8_X0_TLS_ADD, 118)
RELOC_NUMBER (R_TILEGX_IMM8_X1_TLS_ADD, 119)
RELOC_NUMBER (R_TILEGX_IMM8_Y0_TLS_ADD, 120)
RELOC_NUMBER (R_TILEGX_IMM8_Y1_TLS_ADD, 121)
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_TILEGX_GNU_VTINHERIT, 128)
RELOC_NUMBER (R_TILEGX_GNU_VTENTRY, 129)
END_RELOC_NUMBERS (R_TILEGX_max)
#endif /* _ELF_TILEGX_H */
+144
View File
@@ -0,0 +1,144 @@
/* TILEPro ELF support for BFD.
Copyright 2011 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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_TILEPRO_H
#define _ELF_TILEPRO_H
#include "elf/reloc-macros.h"
/* Relocations. */
START_RELOC_NUMBERS (elf_tilepro_reloc_type)
RELOC_NUMBER (R_TILEPRO_NONE, 0)
/* Standard relocations */
RELOC_NUMBER (R_TILEPRO_32, 1)
RELOC_NUMBER (R_TILEPRO_16, 2)
RELOC_NUMBER (R_TILEPRO_8, 3)
RELOC_NUMBER (R_TILEPRO_32_PCREL, 4)
RELOC_NUMBER (R_TILEPRO_16_PCREL, 5)
RELOC_NUMBER (R_TILEPRO_8_PCREL, 6)
RELOC_NUMBER (R_TILEPRO_LO16, 7)
RELOC_NUMBER (R_TILEPRO_HI16, 8)
RELOC_NUMBER (R_TILEPRO_HA16, 9)
RELOC_NUMBER (R_TILEPRO_COPY, 10)
RELOC_NUMBER (R_TILEPRO_GLOB_DAT, 11)
RELOC_NUMBER (R_TILEPRO_JMP_SLOT, 12)
RELOC_NUMBER (R_TILEPRO_RELATIVE, 13)
/* Branch/jump offsets */
RELOC_NUMBER (R_TILEPRO_BROFF_X1, 14)
RELOC_NUMBER (R_TILEPRO_JOFFLONG_X1, 15)
RELOC_NUMBER (R_TILEPRO_JOFFLONG_X1_PLT, 16)
/* Immediate operands. */
RELOC_NUMBER (R_TILEPRO_IMM8_X0, 17)
RELOC_NUMBER (R_TILEPRO_IMM8_Y0, 18)
RELOC_NUMBER (R_TILEPRO_IMM8_X1, 19)
RELOC_NUMBER (R_TILEPRO_IMM8_Y1, 20)
RELOC_NUMBER (R_TILEPRO_MT_IMM15_X1, 21)
RELOC_NUMBER (R_TILEPRO_MF_IMM15_X1, 22)
RELOC_NUMBER (R_TILEPRO_IMM16_X0, 23)
RELOC_NUMBER (R_TILEPRO_IMM16_X1, 24)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_LO, 25)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_LO, 26)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_HI, 27)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_HI, 28)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_HA, 29)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_HA, 30)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_PCREL, 31)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_PCREL, 32)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_LO_PCREL, 33)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_LO_PCREL, 34)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_HI_PCREL, 35)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_HI_PCREL, 36)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_HA_PCREL, 37)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_HA_PCREL, 38)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_GOT, 39)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_GOT, 40)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_GOT_LO, 41)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_GOT_LO, 42)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_GOT_HI, 43)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_GOT_HI, 44)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_GOT_HA, 45)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_GOT_HA, 46)
RELOC_NUMBER (R_TILEPRO_MMSTART_X0, 47)
RELOC_NUMBER (R_TILEPRO_MMEND_X0, 48)
RELOC_NUMBER (R_TILEPRO_MMSTART_X1, 49)
RELOC_NUMBER (R_TILEPRO_MMEND_X1, 50)
RELOC_NUMBER (R_TILEPRO_SHAMT_X0, 51)
RELOC_NUMBER (R_TILEPRO_SHAMT_X1, 52)
RELOC_NUMBER (R_TILEPRO_SHAMT_Y0, 53)
RELOC_NUMBER (R_TILEPRO_SHAMT_Y1, 54)
RELOC_NUMBER (R_TILEPRO_DEST_IMM8_X1, 55)
/* Relocs 56-59 are currently not defined. */
RELOC_NUMBER (R_TILEPRO_TLS_GD_CALL, 60)
RELOC_NUMBER (R_TILEPRO_IMM8_X0_TLS_GD_ADD, 61)
RELOC_NUMBER (R_TILEPRO_IMM8_X1_TLS_GD_ADD, 62)
RELOC_NUMBER (R_TILEPRO_IMM8_Y0_TLS_GD_ADD, 63)
RELOC_NUMBER (R_TILEPRO_IMM8_Y1_TLS_GD_ADD, 64)
RELOC_NUMBER (R_TILEPRO_TLS_IE_LOAD, 65)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_GD, 66)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_GD, 67)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_GD_LO, 68)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_GD_LO, 69)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_GD_HI, 70)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_GD_HI, 71)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_GD_HA, 72)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_GD_HA, 73)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_IE, 74)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_IE, 75)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_IE_LO, 76)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_IE_LO, 77)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_IE_HI, 78)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_IE_HI, 79)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_IE_HA, 80)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_IE_HA, 81)
RELOC_NUMBER (R_TILEPRO_TLS_DTPMOD32, 82)
RELOC_NUMBER (R_TILEPRO_TLS_DTPOFF32, 83)
RELOC_NUMBER (R_TILEPRO_TLS_TPOFF32, 84)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE, 85)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE, 86)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_LO, 87)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_LO, 88)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_HI, 89)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_HI, 90)
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_HA, 91)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_HA, 92)
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_TILEPRO_GNU_VTINHERIT, 128)
RELOC_NUMBER (R_TILEPRO_GNU_VTENTRY, 129)
END_RELOC_NUMBERS (R_TILEPRO_max)
#endif /* _ELF_TILEPRO_H */
+165 -4
View File
@@ -1,13 +1,12 @@
/* V850 ELF support for BFD.
Copyright 1997, 1998, 2000, 2002, 2003, 2004, 2007, 2008
Free Software Foundation, Inc.
Copyright 1997-2013 Free Software Foundation, Inc.
Created by Michael Meissner, Cygnus Support <meissner@cygnus.com>
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -17,7 +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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, 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. */
@@ -39,6 +39,14 @@
/* v850e1 code. */
#define E_V850E1_ARCH 0x20000000
/* v850e2 code. */
#define E_V850E2_ARCH 0x30000000
/* v850e2v3 code. */
#define E_V850E2V3_ARCH 0x40000000
/* v850e3v5 code. */
#define E_V850E3V5_ARCH 0x60000000
/* Flags for the st_other field. */
#define V850_OTHER_SDA 0x10 /* Symbol had SDA relocations. */
@@ -80,6 +88,29 @@ START_RELOC_NUMBERS (v850_reloc_type)
RELOC_NUMBER (R_V850_ALIGN, 27)
RELOC_NUMBER (R_V850_REL32, 28)
RELOC_NUMBER (R_V850_LO16_SPLIT_OFFSET, 29) /* For ld.bu */
RELOC_NUMBER (R_V850_16_PCREL, 30) /* For loop */
RELOC_NUMBER (R_V850_17_PCREL, 31) /* For br */
RELOC_NUMBER (R_V850_23, 32) /* For 23bit ld.[w,h,hu,b,bu],st.[w,h,b] */
RELOC_NUMBER (R_V850_32_PCREL, 33) /* For jr32, jarl32 */
RELOC_NUMBER (R_V850_32_ABS, 34) /* For jmp32 */
RELOC_NUMBER (R_V850_16_SPLIT_OFFSET, 35) /* For ld.bu */
RELOC_NUMBER (R_V850_16_S1, 36) /* For ld.w, ld.h st.w st.h */
RELOC_NUMBER (R_V850_LO16_S1, 37) /* For ld.w, ld.h st.w st.h */
RELOC_NUMBER (R_V850_CALLT_15_16_OFFSET, 38) /* For ld.w, ld.h, ld.hu, st.w, st.h */
RELOC_NUMBER (R_V850_32_GOTPCREL, 39) /* GLOBAL_OFFSET_TABLE from pc */
RELOC_NUMBER (R_V850_16_GOT, 40) /* GOT ENTRY from gp */
RELOC_NUMBER (R_V850_32_GOT, 41)
RELOC_NUMBER (R_V850_22_PLT, 42) /* For jr */
RELOC_NUMBER (R_V850_32_PLT, 43) /* For jr32 */
RELOC_NUMBER (R_V850_COPY, 44)
RELOC_NUMBER (R_V850_GLOB_DAT, 45)
RELOC_NUMBER (R_V850_JMP_SLOT, 46)
RELOC_NUMBER (R_V850_RELATIVE, 47)
RELOC_NUMBER (R_V850_16_GOTOFF, 48) /* From gp */
RELOC_NUMBER (R_V850_32_GOTOFF, 49)
RELOC_NUMBER (R_V850_CODE, 50)
RELOC_NUMBER (R_V850_DATA, 51) /* For loop */
END_RELOC_NUMBERS (R_V850_max)
@@ -119,4 +150,134 @@ END_RELOC_NUMBERS (R_V850_max)
/* This section must be in the zero data area (pointed to by R0). */
#define SHF_V850_R0REL 0x40000000
/* Alternative versions of the above definitions, as specified by the RH850 ABI. */
#define EF_RH850_ABI 0xF0000000
#define EF_V800_850E3 0x00100000
#define EF_RH850_FPU_DOUBLE 0x00000001 /* sizeof(double) == 8. */
#define EF_RH850_FPU_SINGLE 0x00000002 /* sizeof(double) == 4. */
#define EF_RH850_SIMD 0x00000004
#define EF_RH850_CACHE 0x00000008
#define EF_RH850_MMU 0x00000010
#define EF_RH850_REGMODE22 0x00000020 /* Registers r15-r24 (inclusive) are not used. */
#define EF_RH850_REGMODE32 0x00000040
#define EF_RH850_DATA_ALIGN8 0x00000080 /* 8-byte alignment supported. */
#define EF_RH850_GP_FIX 0x00000100 /* r4 is fixed. */
#define EF_RH850_GP_NOFIX 0x00000200 /* r4 is callee save. */
#define EF_RH850_EP_FIX 0x00000400 /* r30 is fixed. */
#define EF_RH850_EP_NOFIX 0x00000800 /* r30 is callee save. */
#define EF_RH850_TP_FIX 0x00001000 /* r5 is fixed. */
#define EF_RH850_TP_NOFIX 0x00002000 /* r5 is callee save. */
#define EF_RH850_REG2_RESERVE 0x00004000 /* r2 is fixed. */
#define EF_RH850_REG2_NORESERVE 0x00008000 /* r2 is callee saved. */
#define SHT_RNESAS_IOP SHT_LOUSER /* Used by Renesas linker. */
#define SHF_RENESAS_ABS 0x80000000 /* Absolute section. */
#define SHF_GHS_ABS 0x00000400 /* Use unknown. */
#define STT_RENESAS_ENTRY 14 /* Set for functions called at reset time. */
START_RELOC_NUMBERS (v800_reloc_type)
RELOC_NUMBER (R_V800_NONE, 0x00)
RELOC_NUMBER (R_V810_NONE, 0x30)
RELOC_NUMBER (R_V810_BYTE, 0x31)
RELOC_NUMBER (R_V810_HWORD, 0x32)
RELOC_NUMBER (R_V810_WORD, 0x33)
RELOC_NUMBER (R_V810_WLO, 0x34)
RELOC_NUMBER (R_V810_WHI, 0x35)
RELOC_NUMBER (R_V810_WHI1, 0x36)
RELOC_NUMBER (R_V810_GPBYTE, 0x37)
RELOC_NUMBER (R_V810_GPHWORD, 0x38)
RELOC_NUMBER (R_V810_GPWORD, 0x39)
RELOC_NUMBER (R_V810_GPWLO, 0x3a)
RELOC_NUMBER (R_V810_GPWHI, 0x3b)
RELOC_NUMBER (R_V810_GPWHI1, 0x3c)
RELOC_NUMBER (R_V850_HWLO, 0x3d)
FAKE_RELOC (R_V810_reserved1, 0x3e)
RELOC_NUMBER (R_V850_EP7BIT, 0x3f)
RELOC_NUMBER (R_V850_EPHBYTE, 0x40)
RELOC_NUMBER (R_V850_EPWBYTE, 0x41)
RELOC_NUMBER (R_V850_REGHWLO, 0x42)
FAKE_RELOC (R_V810_reserved2, 0x43)
RELOC_NUMBER (R_V850_GPHWLO, 0x44)
FAKE_RELOC (R_V810_reserved3, 0x45)
RELOC_NUMBER (R_V850_PCR22, 0x46)
RELOC_NUMBER (R_V850_BLO, 0x47)
RELOC_NUMBER (R_V850_EP4BIT, 0x48)
RELOC_NUMBER (R_V850_EP5BIT, 0x49)
RELOC_NUMBER (R_V850_REGBLO, 0x4a)
RELOC_NUMBER (R_V850_GPBLO, 0x4b)
RELOC_NUMBER (R_V810_WLO_1, 0x4c)
RELOC_NUMBER (R_V810_GPWLO_1, 0x4d)
RELOC_NUMBER (R_V850_BLO_1, 0x4e)
RELOC_NUMBER (R_V850_HWLO_1, 0x4f)
FAKE_RELOC (R_V810_reserved4, 0x50)
RELOC_NUMBER (R_V850_GPBLO_1, 0x51)
RELOC_NUMBER (R_V850_GPHWLO_1, 0x52)
FAKE_RELOC (R_V810_reserved5, 0x53)
RELOC_NUMBER (R_V850_EPBLO, 0x54)
RELOC_NUMBER (R_V850_EPHWLO, 0x55)
FAKE_RELOC (R_V810_reserved6, 0x56)
RELOC_NUMBER (R_V850_EPWLO_N, 0x57)
RELOC_NUMBER (R_V850_PC32, 0x58)
RELOC_NUMBER (R_V850_W23BIT, 0x59)
RELOC_NUMBER (R_V850_GPW23BIT, 0x5a)
RELOC_NUMBER (R_V850_EPW23BIT, 0x5b)
RELOC_NUMBER (R_V850_B23BIT, 0x5c)
RELOC_NUMBER (R_V850_GPB23BIT, 0x5d)
RELOC_NUMBER (R_V850_EPB23BIT, 0x5e)
RELOC_NUMBER (R_V850_PC16U, 0x5f)
RELOC_NUMBER (R_V850_PC17, 0x60)
RELOC_NUMBER (R_V850_DW8, 0x61)
RELOC_NUMBER (R_V850_GPDW8, 0x62)
RELOC_NUMBER (R_V850_EPDW8, 0x63)
RELOC_NUMBER (R_V850_PC9, 0x64)
RELOC_NUMBER (R_V810_REGBYTE, 0x65)
RELOC_NUMBER (R_V810_REGHWORD, 0x66)
RELOC_NUMBER (R_V810_REGWORD, 0x67)
RELOC_NUMBER (R_V810_REGWLO, 0x68)
RELOC_NUMBER (R_V810_REGWHI, 0x69)
RELOC_NUMBER (R_V810_REGWHI1, 0x6a)
RELOC_NUMBER (R_V850_REGW23BIT, 0x6b)
RELOC_NUMBER (R_V850_REGB23BIT, 0x6c)
RELOC_NUMBER (R_V850_REGDW8, 0x6d)
RELOC_NUMBER (R_V810_EPBYTE, 0x6e)
RELOC_NUMBER (R_V810_EPHWORD, 0x6f)
RELOC_NUMBER (R_V810_EPWORD, 0x70)
RELOC_NUMBER (R_V850_WLO23, 0x71)
RELOC_NUMBER (R_V850_WORD_E, 0x72)
RELOC_NUMBER (R_V850_REGWORD_E, 0x73)
RELOC_NUMBER (R_V850_WORD, 0x74)
RELOC_NUMBER (R_V850_GPWORD, 0x75)
RELOC_NUMBER (R_V850_REGWORD, 0x76)
RELOC_NUMBER (R_V850_EPWORD, 0x77)
RELOC_NUMBER (R_V810_TPBYTE, 0x78)
RELOC_NUMBER (R_V810_TPHWORD, 0x79)
RELOC_NUMBER (R_V810_TPWORD, 0x7a)
RELOC_NUMBER (R_V810_TPWLO, 0x7b)
RELOC_NUMBER (R_V810_TPWHI, 0x7c)
RELOC_NUMBER (R_V810_TPWHI1, 0x7d)
RELOC_NUMBER (R_V850_TPHWLO, 0x7e)
RELOC_NUMBER (R_V850_TPBLO, 0x7f)
RELOC_NUMBER (R_V810_TPWLO_1, 0x80)
RELOC_NUMBER (R_V850_TPBLO_1, 0x81)
RELOC_NUMBER (R_V850_TPHWLO_1, 0x82)
RELOC_NUMBER (R_V850_TP23BIT, 0x83)
RELOC_NUMBER (R_V850_TPW23BIT, 0x84)
RELOC_NUMBER (R_V850_TPDW8, 0x85)
/* These are defined by the RH850 ABI, but not used. */
RELOC_NUMBER (R_V810_ABS32, 0xa0)
RELOC_NUMBER (R_V850_SYM, 0xe0)
RELOC_NUMBER (R_V850_OPadd, 0xe1)
RELOC_NUMBER (R_V850_OPsub, 0xe2)
RELOC_NUMBER (R_V850_OPsctsize, 0xe3)
RELOC_NUMBER (R_V850_OPscttop, 0xe4)
END_RELOC_NUMBERS (R_V800_max)
#endif /* _ELF_V850_H */
+2 -2
View File
@@ -1,12 +1,12 @@
/* VAX ELF support for BFD.
Copyright (C) 2002 Free Software Foundation, Inc.
Copyright (C) 2002, 2010 Free Software Foundation, Inc.
Contributed by Matt Thomas <matt@3am-software.com>.
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
+14 -14
View File
@@ -1,25 +1,25 @@
/* VxWorks ELF support for BFD.
Copyright 2007
Copyright 2007, 2010
Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
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 3 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
#ifndef _ELF_VXWORKS_H
#define _ELF_VXWORKS_H
+9 -3
View File
@@ -1,5 +1,5 @@
/* x86_64 ELF support for BFD.
Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2008, 2009
Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>
@@ -7,7 +7,7 @@
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -63,7 +63,8 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type)
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_SIZE32, 32) /* 32-bit symbol size */
RELOC_NUMBER (R_X86_64_SIZE64, 33) /* 64-bit symbol size */
RELOC_NUMBER (R_X86_64_GOTPC32_TLSDESC, 34)
/* 32 bit signed pc relative
offset to TLS descriptor
@@ -72,6 +73,11 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type)
descriptor. */
RELOC_NUMBER (R_X86_64_TLSDESC, 36) /* 2x64-bit TLS descriptor. */
RELOC_NUMBER (R_X86_64_IRELATIVE, 37) /* Adjust indirectly by program base */
RELOC_NUMBER (R_X86_64_RELATIVE64, 38) /* 64bit adjust by program base */
RELOC_NUMBER (R_X86_64_PC32_BND, 39) /* PC relative 32 bit
signed with BND prefix */
RELOC_NUMBER (R_X86_64_PLT32_BND, 40) /* 32 bit PLT address with
BND prefix */
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)
+4 -5
View File
@@ -1,12 +1,12 @@
/* Infineon XC16X ELF support for BFD.
Copyright 2006 Free Software Foundation, Inc.
Copyright 2006, 2010 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -15,9 +15,8 @@
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. */
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_XC16X_H
#define _ELF_XC16X_H
+77
View File
@@ -0,0 +1,77 @@
/* XGATE ELF support for BFD.
Copyright 2010, 2011, 2012 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_XGATE_H
#define _ELF_XGATE_H
#include "elf/reloc-macros.h"
/* Relocation types. */
START_RELOC_NUMBERS (elf_xgate_reloc_type)
RELOC_NUMBER (R_XGATE_NONE, 0)
RELOC_NUMBER (R_XGATE_8, 1)
RELOC_NUMBER (R_XGATE_PCREL_8, 2)
RELOC_NUMBER (R_XGATE_16, 3)
RELOC_NUMBER (R_XGATE_32, 4)
RELOC_NUMBER (R_XGATE_PCREL_16, 5)
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_XGATE_GNU_VTINHERIT, 6)
RELOC_NUMBER (R_XGATE_GNU_VTENTRY, 7)
RELOC_NUMBER (R_XGATE_24, 8)
RELOC_NUMBER (R_XGATE_LO16, 9)
RELOC_NUMBER (R_XGATE_GPAGE, 10)
RELOC_NUMBER (R_XGATE_PCREL_9, 11)
RELOC_NUMBER (R_XGATE_PCREL_10, 12)
RELOC_NUMBER (R_XGATE_IMM8_LO, 13)
RELOC_NUMBER (R_XGATE_IMM8_HI, 14)
RELOC_NUMBER (R_XGATE_IMM3, 15)
RELOC_NUMBER (R_XGATE_IMM4, 16)
RELOC_NUMBER (R_XGATE_IMM5, 17)
/* GNU extension for linker relaxation.
Mark beginning of a jump instruction (any form). */
RELOC_NUMBER (R_XGATE_RL_JUMP, 18)
/* Mark beginning of Gcc relaxation group instruction. */
RELOC_NUMBER (R_XGATE_RL_GROUP, 19)
END_RELOC_NUMBERS (R_XGATE_max)
/* Processor specific flags for the ELF header e_flags field. */
/* ABI identification. */
#define EF_XGATE_ABI 0x00000000F
/* Integers are 32-bit long. */
#define E_XGATE_I32 0x000000001
/* Doubles are 64-bit long. */
#define E_XGATE_F64 0x000000002
#define EF_XGATE_MACH_MASK 0xF0
#define EF_XGATE_MACH 0x80 /* XGATE microcontroller. */
#define E_M68HCS12X_GLOBAL 0x100
/* Identify interrupt handlers. This is used by the debugger to
correctly compute the stack frame. */
#define STO_XGATE_INTERRUPT 0x40
#endif
+13 -13
View File
@@ -1,21 +1,21 @@
/* XSTORMY16 ELF support for BFD.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_XSTORMY16_H
#define _ELF_XSTORMY16_H
+2 -2
View File
@@ -1,12 +1,12 @@
/* Xtensa ELF support for BFD.
Copyright 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
Copyright 2003, 2004, 2007, 2008, 2010 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,