mirror of
https://github.com/autc04/Retro68.git
synced 2026-04-26 11:27:07 +00:00
Update binutils to version 2.24 to work around a build problem
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 */
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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. */
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
Executable
+59
@@ -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 */
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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
|
||||
{
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
@@ -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
@@ -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 */
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user