/contrib/toolchain/binutils/include/elf/ChangeLog |
---|
0,0 → 1,1921 |
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. |
* ppc64.h (DT_PPC64_TLSOPT): Define. |
2009-08-10 Daniel Gutson <dgutson@codesourcery.com> |
* arm.h: (SHT_ARM_DEBUGOVERLAY): New define. |
(SHT_ARM_OVERLAYSECTION): New define. |
2006-08-09 Bernd Schmidt <bernd.schmidt@analog.com> |
From Mike Frysinger <michael.frysinger@analog.com> |
* bfin.h (R_BFIN_UNUSED, R_BFIN_PCREL5M2, R_BFIN_UNUSED1, |
R_BFIN_PCREL10, R_BFIN_PCREL12_JUMP, R_BFIN_RIMM16, |
R_BFIN_LUIMM16, R_BFIN_HUIMM16, R_BFIN_PCREL12_JUMP_S, |
R_BFIN_PCREL24_JUMP_X, R_BFIN_PCREL24, R_BFIN_UNUSEDB, |
R_BFIN_UNUSEDC, R_BFIN_PCREL24_JUMP_L, R_BFIN_PCREL24_CALL_X, |
R_BFIN_VAR_EQ_SYMB, R_BFIN_BYTE_DATA, R_BFIN_BYTE2_DATA, |
R_BFIN_BYTE4_DATA, R_BFIN_PCREL11, R_BFIN_PUSH, R_BFIN_CONST, |
R_BFIN_ADD, R_BFIN_SUB, R_BFIN_MULT, R_BFIN_DIV, R_BFIN_MOD, |
R_BFIN_LSHIFT, R_BFIN_RSHIFT, R_BFIN_AND, R_BFIN_OR, R_BFIN_XOR, |
R_BFIN_LAND, R_BFIN_LOR, R_BFIN_LEN, R_BFIN_NEG, R_BFIN_COMP, |
R_BFIN_PAGE, R_BFIN_HWPAGE, R_BFIN_ADDR, R_BFIN_PLTPLC, |
R_BFIN_GOT, R_BFIN_MAX): Renamed from R_unused0, R_pcrel5ms, |
R_unused1, R_pcrel10, R_pcrel12_jump, R_rimm16, R_luimm16, |
R_huimm16, R_pcrel12_jump_s, R_pcrel24_jump_x, R_pcrel24, |
R_unusedb, R_unusedc, R_pcrel24_jump_l, R_pcrel24_call_x, |
R_var_eq_symb, R_byte_data, R_byte2_data, R_byte4_data, R_pcrel11, |
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. |
2009-08-06 Michael Eager <eager@eagercon.com> |
* elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD. |
* elf/microblaze.h: New reloc definitions. |
2009-07-30 Alan Modra <amodra@bigpond.net.au> |
* ppc64.h: Add R_PPC64_JMP_IREL, R_PPC64_REL16, R_PPC64_REL16_LO, |
R_PPC64_REL16_HI, R_PPC64_REL16_HA. |
2009-07-25 H.J. Lu <hongjiu.lu@intel.com> |
* common.h (EM_L1OM): New. |
2009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> |
Alan Modra <amodra@bigpond.net.au> |
* spu.h (R_SPU_ADD_PIC): New. |
2009-07-23 Ulrich Drepper <drepper@redhat.com> |
* common.h (STB_GNU_UNIQUE): Define. |
2009-07-10 Tom Tromey <tromey@redhat.com> |
* dwarf2.h: Move to `..'. |
2009-07-10 H.J. Lu <hongjiu.lu@intel.com> |
* dwarf2.h: Just include ../dwarf2.h. |
2009-07-10 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (R_PPC_IRELATIVE): Add. |
(R_PPC_RELAX32, R_PPC_RELAX32PC, |
R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Renumber. |
* ppc64.h (R_PPC64_IRELATIVE): Add. |
2009-07-03 Jakub Jelinek <jakub@redhat.com> |
* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value |
and DW_OP_stack_value. |
2009-06-22 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (R_PPC_RELAX*): Define as enum. |
2009-06-11 Anthony Green <green@moxielogic.org> |
* moxie.h (R_MOXIE_PCREL10): New. |
2009-06-01 H.J. Lu <hongjiu.lu@intel.com> |
PR ld/10205 |
* i386.h (R_386_IRELATIVE): New. |
* x86-64.h (R_X86_64_IRELATIVE): Likewise. |
2009-05-27 H.J. Lu <hongjiu.lu@intel.com> |
* common.h: Update comments for dynamic tag ranges. |
2009-04-30 DJ Delorie <dj@redhat.com> |
* mep.h (EF_MEP_COP_*): New. |
(EF_MEP_ALL_FLAGS): Add them. |
2009-04-30 Nick Clifton <nickc@redhat.com> |
* common.h (STT_GNU_IFUNC): Define. |
2009-04-24 Cary Coutant <ccoutant@google.com> |
* dwarf2.h (DW_LNE_set_discriminator): New enum value. |
2009-04-15 Anthony Green <green@moxielogic.com> |
* common.h (EM_MOXIE): Define. |
* moxie.h: New file. |
2009-04-07 DJ Delorie <dj@redhat.com> |
* mep.h (EF_MEP_CPU_C5): New. |
2009-04-01 H.J. Lu <hongjiu.lu@intel.com> |
* common.h (EM_INTEL178): Removed. |
(EM_INTEL179): Likewise. |
(EM_ETPU): New. |
(EM_SLE9X): Likewise. |
(EM_INTEL181): Likewise. |
(EM_INTEL182): Likewise. |
2009-03-31 H.J. Lu <hongjiu.lu@intel.com> |
* common.h (EM_INTEL178): New. |
(EM_INTEL179): Likewise. |
(EM_INTEL180): Likewise. |
2009-03-20 Mikolaj Zalewski <mikolajz@google.com> |
* common.h (SHT_GNU_INCREMENTAL_INPUTS): Define. |
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) |
(NT_OPENBSD_WCOOKIE): New defines. |
2009-03-16 Jan Kratochvil <jan.kratochvil@redhat.com> |
* common.h (AT_RANDOM): Define. |
2009-03-04 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (R_PPC_TLSGD, R_PPC_TLSLD): Add new relocs. |
* ppc64.h (R_PPC64_TLSGD, R_PPC64_TLSLD): Add new relocs. |
2009-03-02 Qinwei <qinwei@sunnorth.com.cn> |
* score.h (RELOC_NUMBER): Add R_SCORE_IMM32. |
* common.h (EM_SCORE_OLD): Define. |
2009-02-23 H.J. Lu <hongjiu.lu@intel.com> |
* common.h (STB_LOPROC): Replace Application-specific with |
Processor-specific in comments. |
(STB_HIPROC): Likewise. |
(STT_LOPROC): Likewise. |
(STT_HIPROC): Likewise. |
2009-02-03 Sandip Matte <sandip@rmicorp.com> |
* mips.h (E_MIPS_MACH_XLR): Define. |
2009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com> |
* m68k.h: Map TLS relocations to numbers. |
2009-01-15 Andrew Stubbs <ams@codesourcery.com> |
Julian Brown <julian@codesourcery.com> |
* arm.h (TAG_CPU_ARCH_V6_M, TAG_CPU_ARCH_V6S_M): New defines. |
(MAX_TAG_CPU_ARCH, TAG_CPU_ARCH_V4T_PLUS_V6_M): New defines. |
(Tag_NEON_arch): Rename to Tag_Advanced_SIMD_arch to match ARM ABI |
version 2.07. |
(Tag_undefined39, Tag_nodefaults): New enum values. |
(Tag_also_compatible_with, Tag_T2EE_use): Likewise. |
(Tag_conformance, Tag_Virtualization_use): Likewise. |
(Tag_undefined69, Tag_MPextension_use): Likewise. |
2009-01-15 Douglas B Rupp <rupp@gnat.com> |
* ia64.h (SHT_IA_64_VMS_DISPLAY_NAME_INFO, EF_IA_64_ARCHVER_1): |
New macros. Minor reformatting. |
2008-12-23 Jon Beniston <jon@beniston.com> |
* lm32.h: New file. |
2008-12-23 Nick Clifton <nickc@redhat.com> |
* commmon.h (STT_IFUNC): Delete. |
2008-12-20 Hans-Peter Nilsson <hp@axis.com> |
* cris.h (R_CRIS_32_IE): New relocation. |
2008-12-03 Nick Clifton <nickc@redhat.com> |
* common.h (STT_IFUNC): Define. |
2008-11-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
* cr16.h (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and |
R_CR16_GLOB_DAT): New relocations. |
2008-11-25 Hans-Peter Nilsson <hp@axis.com> |
* cris.h (R_CRIS_32_TPREL): Correct comment. |
(R_CRIS_DTPMOD): Open up for use elsewhere than the fourth GOT entry. |
2008-11-18 Catherine Moore <clm@codesourcery.com> |
* arm.h (Tag_ABI_FP_16bit_format): Define. |
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. |
2008-10-10 Nathan Froyd <froydnj@codesourcery.com> |
* ppc.h: Add Tag_GNU_Power_ABI_Struct_Return. |
2008-10-04 Hans-Peter Nilsson <hp@axis.com> |
* cris.h (R_CRIS_32_GOT_GD, R_CRIS_16_GOT_GD, R_CRIS_32_GD) |
(R_CRIS_DTP, R_CRIS_32_DTPREL, R_CRIS_16_DTPREL, R_CRIS_DTPMOD) |
(R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL) |
(R_CRIS_16_TPREL): New relocations. |
2008-08-20 Bob Wilson <bob.wilson@acm.org> |
* xtensa.h (R_XTENSA_TLSDESC_FN, R_XTENSA_TLSDESC_ARG) |
(R_XTENSA_TLS_DTPOFF, R_XTENSA_TLS_TPOFF, R_XTENSA_TLS_FUNC) |
(R_XTENSA_TLS_ARG, R_XTENSA_TLS_CALL): New. |
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com> |
Daniel Jacobowitz <dan@codesourcery.com> |
Catherine Moore <clm@codesourcery.com> |
Mark Shinwell <shinwell@codesourcery.com> |
* mips.h (STO_MIPS_PLT, ELF_ST_IS_MIPS_PLT, ELF_ST_SET_MIPS_PLT) |
(STO_MIPS_PIC, DT_MIPS_PLTGOT, DT_MIPS_RWPLT): New macros. |
2008-08-04 Markus Weiss <weissms@aros.org> |
* common.h (ELFOSABI_AROS): Update comment. |
2008-07-26 Michael Eager <eager@eagercon.com> |
* ppc.h: Add description of single-precision. |
2008-07-21 Luis Machado <luisgpm@br.ibm.com> |
* common.h: Define NT_PPC_VSX. |
2008-07-10 Richard Sandiford <rdsandiford@googlemail.com> |
* mips.h (ELF_ST_IS_MIPS16, ELF_ST_SET_MIPS16): New macros. |
2008-06-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
* common.h (EM_CR16): Correct value. |
(EM_CR16): Rename to EM_CR16_OLD. |
2008-06-12 DJ Delorie <dj@redhat.com> |
* common.h (EM_M32C_NEW): Rename to EM_M32C. |
(EM_M32C): Rename to EM_M32C_OLD. |
2008-06-12 Joseph Myers <joseph@codesourcery.com> |
* common.h: Update e_machine table. |
2008-06-09 Takashi Yoshii <yoshii.takashi@renesas.com> |
* sh.h (EF_SH_BFD_TABLE): Set bfd_mach_sh for EF_SH_UNKNOWN. |
2008-06-09 Joseph Myers <joseph@codesourcery.com> |
* common.h: Change registry@caldera.com to registry@sco.com. |
2008-05-21 Nick Clifton <nickc@redhat.com> |
* reloc-macros.h: Add a comment about the use of the |
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> |
* elf/sparc.h (R_SPARC_GOTDATA_HIX22, |
R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22, |
R_SPARC_GOTDATA_OP_LOX10, R_SPARC_GOTDATA_OP, |
R_SPARC_H34, R_SPARC_SIZE32, R_SPARC_SIZE64): New relocs. |
2008-03-24 Ian Lance Taylor <iant@google.com> |
* common.h (NT_GNU_GOLD_VERSION): Define. |
2008-03-13 Alan Modra <amodra@bigpond.net.au> |
* internal.h (Elf_Internal_Shdr): Change sh_link and sh_info from |
unsigned long to unsigned int. Change sh_addralign to bfd_vma. |
Order struct as for external version. |
2008-03-12 Alan Modra <amodra@bigpond.net.au> |
PR 5900 |
* common.h (SHN_BAD): Delete. |
(SHN_LORESERVE .. SHN_HIRESERVE): Move to.. |
* external.h: ..here. |
* internal.h (SHN_LORESERVE, SHN_HIRESERVE): Define. |
(SHN_LOPROC, SHN_HIPROC, SHN_LOOS, SHN_HIOS): Define. |
(SHN_ABS, SHN_COMMON, SHN_XINDEX, SHN_BAD): Define. |
2008-03-12 Alan Modra <amodra@bigpond.net.au> |
* cr16c.h (SHN_CR16C_FCOMMON): Define using SHN_LORESERVE. |
(SHN_CR16C_NCOMMON): Likewise. |
* hppa.h (SHN_PARISC_ANSI_COMMON): Likewise. |
(SHN_PARISC_HUGE_COMMON): Likewise. |
* ia64.h (SHN_IA_64_ANSI_COMMON): Likewise. |
(SHN_IA_64_VMS_SYMVEC): Define using SHN_LOOS. |
* m32r.h (SHN_M32R_SCOMMON): Define using SHN_LORESERVE. |
* mips.h (SHN_MIPS_ACOMMON, SHN_MIPS_TEXT): Likewise. |
(SHN_MIPS_DATA, SHN_MIPS_SCOMMON, SHN_MIPS_SUNDEFINED): Likewise. |
* score.h (SHN_SCORE_TEXT, SHN_SCORE_DATA): Likewise. |
(SHN_SCORE_SCOMMON): Likewise. |
* sparc.h (SHN_BEFORE, SHN_AFTER): Likewise. |
* v850.h (SHN_V850_SCOMMON, SHN_V850_TCOMMON): Likewise. |
(SHN_V850_ZCOMMON): Likewise. |
* x86-64.h (SHN_X86_64_LCOMMON): Likewise. |
2008-03-03 Pallavi Tambay <pallavi.tambay@amd.com> |
* dwarf2.h: (enum dwarf_location_atom): Add new DW_OP: |
DW_OP_PGI_omp_thread_num. |
2008-02-04 Adam Nemet <anemet@caviumnetworks.com> |
* mips.h: Update copyright. |
(E_MIPS_MACH_OCTEON): New macro. |
2008-01-30 Tristan Gingold <gingold@adacore.com> |
Add OpenVMS extensions. |
* ia64.h (SHF_IA_64_VMS_GLOBAL, SHF_IA_64_VMS_OVERLAID) |
(SHF_IA_64_VMS_SHARED, SHF_IA_64_VMS_VECTOR) |
(SHF_IA_64_VMS_ALLOC_64BIT, SHF_IA_64_VMS_PROTECTED) |
(SHT_IA_64_VMS_TRACE, SHT_IA_64_VMS_TIE_SIGNATURES) |
(SHT_IA_64_VMS_DEBUG, SHT_IA_64_VMS_DEBUG_STR) |
(SHT_IA_64_VMS_LINKAGES, SHT_IA_64_VMS_SYMBOL_VECTOR) |
(SHT_IA_64_VMS_FIXUP, DT_IA_64_VMS_SUBTYPE) |
(DT_IA_64_VMS_IMGIOCNT, DT_IA_64_VMS_LNKFLAGS) |
(DT_IA_64_VMS_VIR_MEM_BLK_SIZ, DT_IA_64_VMS_IDENT) |
(DT_IA_64_VMS_NEEDED_IDENT, DT_IA_64_VMS_IMG_RELA_CNT) |
(DT_IA_64_VMS_SEG_RELA_CNT, DT_IA_64_VMS_FIXUP_RELA_CNT) |
(DT_IA_64_VMS_FIXUP_NEEDED, DT_IA_64_VMS_SYMVEC_CNT) |
(DT_IA_64_VMS_XLATED, DT_IA_64_VMS_STACKSIZE) |
(DT_IA_64_VMS_UNWINDSZ, DT_IA_64_VMS_UNWIND_CODSEG) |
(DT_IA_64_VMS_UNWIND_INFOSEG, DT_IA_64_VMS_LINKTIME) |
(DT_IA_64_VMS_SEG_NO, DT_IA_64_VMS_SYMVEC_OFFSET) |
(DT_IA_64_VMS_SYMVEC_SEG, DT_IA_64_VMS_UNWIND_OFFSET) |
(DT_IA_64_VMS_UNWIND_SEG, DT_IA_64_VMS_STRTAB_OFFSET) |
(DT_IA_64_VMS_SYSVER_OFFSET, DT_IA_64_VMS_IMG_RELA_OFF) |
(DT_IA_64_VMS_SEG_RELA_OFF, DT_IA_64_VMS_FIXUP_RELA_OFF) |
(DT_IA_64_VMS_PLTGOT_OFFSET, DT_IA_64_VMS_PLTGOT_SEG) |
(DT_IA_64_VMS_FPMODE, SHN_IA_64_VMS_SYMVEC): Define |
2008-01-16 Mark Kettenis <kettenis@gnu.org> |
* common.h (AT_SUN_AUXFLAGS): Define. |
2007-12-11 Daniel Jacobowitz <dan@codesourcery.com> |
* dwarf2.h (DW_AT_hi_user): Correct value. |
2007-12-07 Bob Wilson <bob.wilson@acm.org> |
* xtensa.h (R_XTENSA_32_PCREL): New. |
2007-11-29 Mark Shinwell <shinwell@codesourcery.com> |
* mips.h (E_MIPS_MACH_LS2E): New. |
(E_MIPS_MACH_LS2F): New. |
2007-11-28 Nathan Sidwell <nathan@codesourcery.com> |
* internal.h (ELF_IS_SECTION_IN_SEGMENT): Adjust to cope with |
segments at the end of memory. |
2007-11-17 Thiemo Seufer <ths@mips.com> |
* mips.h (Tag_GNU_MIPS_ABI_FP): Mention -mips32r2 -mfp64 variant |
in comment. |
2007-11-16 Nick Clifton <nickc@redhat.com> |
* dwarf2.h: Mention the location of the DWARF3 spec on the web. |
(DW_AT_stride_size): Rename to DW_AT_bit_stride. |
(DW_AT_stride): Rename to DW_AT_byte_stride. |
2007-11-08 Nathan Sidwell <nathan@codesourcery.com> |
* vxworks.h: New. |
2007-10-30 Nick Clifton <nickc@redhat.com> |
* mn10300.h (R_MN10300_ALIGN): Define. |
2007-10-25 Daniel Jacobowitz <dan@codesourcery.com> |
* ppc.h (Tag_GNU_Power_ABI_Vector): New. |
2007-10-19 Nick Clifton <nickc@redhat.com> |
* mn10300.h: Add R_MN10300_SYM_DIFF reloc. |
2007-10-18 Roland McGrath <roland@redhat.com> |
* common.h (NT_PPC_VMX): New macro. |
2007-10-01 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
* cr16.h: Updated with new relocaction macros. |
2007-09-17 H.J. Lu <hongjiu.lu@intel.com> |
PR binutils/3281 |
PR binutils/5037 |
* internal.h (elf_segment_map): Add p_size and p_size_valid. |
(ELF_IS_SECTION_IN_SEGMENT): Allow SHF_TLS sections in |
PT_GNU_RELRO segments. |
2007-09-11 Nathan Sidwell <nathan@codesourcery.com> |
* m68k.h (EF_M68K_CF_ISA_C_NODIV): New. |
2007-08-25 Ulrich Weigand <uweigand@de.ibm.com> |
* common.h (NT_SPU): Define. |
2007-08-16 H.J. Lu <hongjiu.lu@intel.com> |
* common.h: Revert last change. |
2007-08-16 H.J. Lu <hongjiu.lu@intel.com> |
* common.h (PT_GNU_STACK): Renamed to ... |
(PT_GNU_ATTR): This. |
(PT_GNU_STACK): New. Make an alias of PT_GNU_ATTR. |
2007-07-09 Roland McGrath <roland@redhat.com> |
* common.h (NT_GNU_HWCAP, NT_GNU_BUILD_ID): New macros. |
2007-06-29 Joseph Myers <joseph@codesourcery.com> |
* ppc.h (Tag_GNU_Power_ABI_FP): Define. |
2007-06-29 Joseph Myers <joseph@codesourcery.com> |
* mips.h (Tag_GNU_MIPS_ABI_FP): Define. |
2007-06-29 Joseph Myers <joseph@codesourcery.com> |
* arm.h (elf32_arm_add_eabi_attr_int, |
elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, |
elf32_arm_get_eabi_attr_int, elf32_arm_set_eabi_attr_contents, |
elf32_arm_eabi_attr_size, Tag_NULL, Tag_File, Tag_Section, |
Tag_Symbol, Tag_compatibility): Remove. |
* common.h (SHT_GNU_ATTRIBUTES): Define. |
2007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
* common.h (EM_CR16): New entry for CR16 cpu. |
* cr16.h: New file. |
2007-06-11 Sterling Augustine <sterling@tensilica.com> |
Bob Wilson <bob.wilson@acm.org> |
* xtensa.h (XTENSA_PROP_INSN_NO_TRANSFORM): Renamed to... |
(XTENSA_PROP_NO_TRANSFORM): ...this. |
2007-05-18 Caroline Tice <ctice@apple.com> |
* dwarf2.h: (enum dwarf_location_atom): Add new DW_OP, |
DW_OP_GNU_uninit. |
2007-05-12 Alan Modra <amodra@bigpond.net.au> |
* spu.h (R_SPU_ADDR16X): Define. |
(R_SPU_PPU32, R_SPU_PPU64): Renumber. |
2007-05-11 Alan Modra <amodra@bigpond.net.au> |
* spu.h (R_SPU_PPU32, R_SPU_PPU64): Define. |
2007-05-02 Alan Modra <amodra@bigpond.net.au> |
* internal.h (ELF_IS_SECTION_IN_SEGMENT): Check both file offset |
and vma for appropriate sections. |
2007-04-26 Jan Beulich <jbeulich@novell.com> |
* common.h (DT_ENCODING): Correct value (back to spec mandated |
value). |
2007-03-08 Alan Modra <amodra@bigpond.net.au> |
* v850.h (V850_OTHER_TDA_BYTE): Delete. |
(V850_OTHER_SDA, V850_OTHER_ZDA, V850_OTHER_TDA): Assign bits |
that don't clash with visibility bits. |
2007-03-07 Alan Modra <amodra@bigpond.net.au> |
* common.h (ELF_ST_VISIBILITY): Comment typo fix. |
2007-02-05 Dave Brolley <brolley@redhat.com> |
Richard Sandiford <rsandifo@redhat.com> |
Richard Henderson <rth@redhat.com> |
DJ Delorie <dj@redhat.com> |
Ben Elliston <bje@redhat.com> |
* mep.h: New file. |
* common.h (EM_CYGNUS_MEP): Define. |
2007-02-15 Dave Brolley <brolley@redhat.com> |
From Graydon Hoare <graydon@redhat.com>: |
* common.h (STT_RELC, STT_SRELC, R_RELC): New macros. |
2007-01-08 Kazu Hirata <kazu@codesourcery.com> |
* m68k.h (EF_M68K_FIDO): New. |
(EF_M68K_ARCH_MASK): OR EF_M68K_FIDO. |
(EF_M68K_CPU32_FIDO_A, EF_M68K_CPU32_MASK): Remove. |
2006-12-25 Kazu Hirata <kazu@codesourcery.com> |
* m68k.h (EF_M68K_CPU32_FIDO_A, EF_M68K_CPU32_MASK): New. |
2006-12-19 Kazu Hirata <kazu@codesourcery.com> |
* m68k.h (EF_M68K_ARCH_MASK): New. |
2006-12-19 Nathan Sidwell <nathan@codesourcery.com> |
* internal.h (struct elf_segment_map): Add p_vaddr_offset field. |
2006-12-07 Kazu Hirata <kazu@codesourcery.com> |
* m68k.h (EF_M68K_ISA_MASK, EF_M68K_ISA_A_NODIV, |
EF_M68K_ISA_A, EF_M68K_ISA_A_PLUS, EF_M68K_ISA_B_NOUSP, |
EF_M68K_ISA_B, EF_M68K_ISA_C, EF_M68K_MAC_MASK, EF_M68K_MAC, |
EF_M68K_EMAC, EF_M68K_EMAC_B, EF_M68K_FLOAT): Rename to |
EF_M68K_CF_ISA_MASK, EF_M68K_CF_ISA_A_NODIV, EF_M68K_CF_ISA_A, |
EF_M68K_CF_ISA_A_PLUS, EF_M68K_CF_ISA_B_NOUSP, |
EF_M68K_CF_ISA_B, EF_M68K_CF_ISA_C, EF_M68K_CF_MAC_MASK, |
EF_M68K_CF_MAC, EF_M68K_CF_EMAC, EF_M68K_CF_EMAC_B, |
EF_M68K_CF_FLOAT, respectively. |
2006-12-05 Michael Tautschnig <tautschn@model.in.tum.de> |
Nick Clifton <nickc@redhat.com> |
* external.h (struct Elf_External_Versym): Use ATTRIBUTE_PACKED. |
2006-10-28 Richard Sandiford <richard@codesourcery.com> |
* mips.h (R_MIPS_GLOB_DAT): Define |
(R_MIPS_max): Bump by 1. |
2006-10-25 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> |
Yukishige Shibata <shibata@rd.scei.sony.co.jp> |
Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp> |
Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp> |
Alan Modra <amodra@bigpond.net.au> |
* common.h (EM_SPU): Define. |
* spu.h: New file. |
2006-10-19 Mei Ligang <ligang@sunnorth.com.cn> |
* score.h (EF_SCORE_PIC): Redefine EF_SCORE_PIC as 0x80000000. |
(EF_SCORE_FIXDEP): Redefine EF_SCORE_FIXDEP as 0x40000000. |
(EF_SCORE_HASENTRY): Delete. |
2006-10-17 Mark Shinwell <shinwell@codesourcery.com> |
* arm.h: Define TAG_CPU_ARCH_* constants. |
2006-09-17 Mei Ligang <ligang@sunnorth.com.cn> |
* score.h: New file. |
* common.h: Add Score machine number. |
2006-07-10 Jakub Jelinek <jakub@redhat.com> |
* common.h (SHT_GNU_HASH, DT_GNU_HASH): Define. |
2006-05-31 H.J. Lu <hongjiu.lu@intel.com> |
* internal.h (ELF_SECTION_SIZE): New. |
(ELF_IS_SECTION_IN_SEGMENT): Likewise. |
(ELF_IS_SECTION_IN_SEGMENT_FILE): Updated. |
(ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise. |
2006-05-27 H.J. Lu <hongjiu.lu@intel.com> |
* internal.h (struct elf_segment_map): Add p_align and p_align_valid. |
2006-05-24 Carlos O'Donell <carlos@systemhalted.org> |
Randolph Chung <randolph@tausq.org> |
* hppa.h (R_PARISC_TLS_GD21L, R_PARISC_TLS_GD14R, R_PARISC_TLS_GDCALL, |
R_PARISC_TLS_LDM21L, R_PARISC_TLS_LDM14R, R_PARISC_TLS_LDMCALL, |
R_PARISC_TLS_LDO21L, R_PARISC_TLS_LDO14R, R_PARISC_TLS_DTPMOD32, |
R_PARISC_TLS_DTPMOD64, R_PARISC_TLS_DTPOFF32, R_PARISC_TLS_DTPOFF64): |
New TLS relocs. |
(R_PARISC_TLS_LE21L, R_PARISC_TLS_LE14R, R_PARISC_TLS_IE21L, |
R_PARISC_TLS_IE14R, R_PARISC_TLS_TPREL32, R_PARISC_TLS_TPREL64): |
Define TLS relocs using existing equivalents. |
2006-05-24 Bjoern Haase <bjoern.m.haase@web.de> |
* avr.h: Add E_AVR_MACH_AVR6, R_AVR_LO8_LDI_GS and R_AVR_HI8_LDI_GS. |
2006-03-25 Bernd Schmidt <bernd.schmidt@analog.com> |
* bfin.h (R_BFIN_GOT17M4, R_BFIN_GOTHI, R_BFIN_GOTLO, |
R_BFIN_FUNCDESC, R_BFIN_FUNCDESC_GOT17M4, R_BFIN_FUNCDESC_GOTHI, |
R_BFIN_FUNCDESC_GOTLO, R_BFIN_FUNCDESC_VALUE, |
R_BFIN_FUNCDESC_GOTOFF17M4, R_BFIN_FUNCDESC_GOTOFFHI, |
R_BFIN_FUNCDESC_GOTOFFLO, R_BFIN_GOTOFF17M4, R_BFIN_GOTOFFHI, |
R_BFIN_GOTOFFLO): New relocs. |
(EF_BFIN_PIC, EF_BFIN_FDPIC, EF_BFIN_PIC_FLAGS): New macros. |
2006-03-23 Michael Matz <matz@suse.de> |
* x86-64.h: Add the new relocations with their official |
numbers. |
2006-03-22 Richard Sandiford <richard@codesourcery.com> |
Daniel Jacobowitz <dan@codesourcery.com> |
Phil Edwards <phil@codesourcery.com> |
Zack Weinberg <zack@codesourcery.com> |
Mark Mitchell <mark@codesourcery.com> |
Nathan Sidwell <nathan@codesourcery.com> |
* mips.h (R_MIPS_COPY, R_MIPS_JUMP_SLOT): New relocs. |
2006-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
* hppa.h (SHF_HP_TLS, SHF_HP_NEAR_SHARED, SHF_HP_FAR_SHARED, |
SHF_HP_COMDAT, SHF_HP_CONST, SHN_TLS_COMMON, SHN_NS_COMMON, |
SHN_NS_UNDEF, SHN_FS_UNDEF, SHN_HP_EXTERN, SHN_HP_EXTHINT, |
SHN_HP_UNDEF_BIND_IMM, SHT_HP_OVLBITS, SHT_HP_DLKM, SHT_HP_COMDAT, |
SHT_HP_OBJDICT, SHT_HP_ANNOT, STB_HP_ALIAS): Define. |
2006-03-10 Paul Brook <paul@codesourcery.com> |
* arm.h (EF_ARM_EABI_VER5): Define. |
2006-03-06 Nathan Sidwell <nathan@codesourcery.com> |
* m68k.h (EF_M68K_ISA_MASK, EF_M68K_ISA_A, |
EF_M68K_ISA_A_PLUS, EF_M68K_ISA_B, EF_M68K_ISA_C): Adjust. |
(EF_M68K_ISA_A_NODIV, EF_M68K_ISA_B_NOUSP): New. |
(EF_M68K_HW_DIV, EF_M68K_USP): Remove. |
(EF_M68K_MAC, EF_M68K_EMAC, EF_M68K_FLOAT): Adjust. |
(EF_M68K_EMAC_B): New. |
2006-03-03 Bjoern Haase <bjoern.m.haase@web.de> |
* avr.h (R_AVR_MS8_LDI,R_AVR_MS8_LDI_NEG): Add. |
(EF_AVR_LINKRELAX_PREPARED): Add. |
2006-03-02 Ben Elliston <bje@au.ibm.com> |
Import from the GCC tree: |
2006-03-01 Jakub Jelinek <jakub@redhat.com> |
* dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants |
from DWARF 3. |
(DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, |
DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, |
DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, |
DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, |
DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. |
(DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. |
(DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, |
DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. |
(DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, |
DW_DS_leading_separate, DW_DS_trailing_separate): New. |
(DW_END_default, DW_END_big, DW_END_little): New. |
(DW_END_lo_user, DW_END_hi_user): Define. |
(DW_LNE_lo_user, DW_LNE_hi_user): Define. |
(DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. |
(DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, |
DW_LANG_D): New. |
2006-02-06 Steve Ellcey <sje@cup.hp.com> |
* ia64.h (SHF_IA_64_HP_TLS): New. |
2006-02-24 DJ Delorie <dj@redhat.com> |
* m32c.h: Add relax relocs. |
2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com> |
Anil Paranjape <anilp1@kpitcummins.com> |
Shilin Shakti <shilins@kpitcummins.com> |
* common.h (EM_XC16X): New entry for xc16x cpu. |
Sort other EM_* numbers into numerical order. |
* xc16x.h: New file. |
2006-02-10 H.J. Lu <hongjiu.lu@intel.com> |
PR binutils/2258 |
* internal.h (ELF_IS_SECTION_IN_SEGMENT_FILE): New. |
(ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise. |
2006-02-07 Nathan Sidwell <nathan@codesourcery.com> |
* m68k.h (EF_CPU32, EF_M68000, EF_CFV4E): Rename to ... |
(EF_M68K_CPU32, EF_M68K_M68000, EF_M68K_CFV4E): ... here. |
(EF_M68K_ISA_MASK, EF_M68K_ISA_A, EF_M68K_M68K_ISA_A_PLUS, |
EF_M68K_ISA_B, EF_M68K_HW_DIV, EF_M68K_MAC_MASK, EF_M68K_MAC, |
EF_M68K_EMAC, EF_M68K_USP, EF_M68K_FLOAT): New. |
2006-02-06 Steve Ellcey <sje@cup.hp.com> |
* ia64.h (SHF_IA_64_HP_TLS): New. |
2006-01-18 Alexandre Oliva <aoliva@redhat.com> |
Introduce TLS descriptors for i386 and x86_64. |
* common.h (DT_TLSDESC_GOT, DT_TLSDESC_PLT): New. |
* i386.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL, R_386_TLS_DESC): |
New. |
* x86-64.h (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL, |
R_X86_64_TLSDESC): New. |
2006-01-09 Mike Frysinger <vapier@gentoo.org>: |
* common.h (EM_ALTERA_NIOS2, EM_NIOS32) Define. |
2005-12-16 Nathan Sidwell <nathan@codesourcery.com> |
Second part of ms1 to mt renaming. |
* common.h (EM_MT): Renamed. |
* mt.h: Rename relocs, cpu & other defines. |
2005-12-12 Nathan Sidwell <nathan@codesourcery.com> |
* mt.h: Renamed from ms1.h |
2005-12-12 Paul Brook <paul@codesourcery.com> |
* arm.h (elf32_arm_get_eabi_attr_int): Add prototype. |
2005-11-11 Nick Clifton <nickc@redhat.com> |
PR 1150 |
* mips.h (STO_OPTIONAL): Define. |
(ELF_MIPS_IS_OPTIONAL): Define. |
2005-11-07 Nathan Sidwell <nathan@codesourcery.com> |
Add ms2. |
* ms1.h (EF_MS1_CPU_MS2): New. |
2005-11-06 John David Anglin <dave.anglin@nrc-crnc.gc.ca> |
* hppa.h (R_PARISC_DIR64WR, R_PARISC_DIR64DR): Remove relocs. |
2005-09-30 Catherine Moore <clm@cm00re.com> |
* bfin.h: New file. |
* common.h (EM_BLACKFIN): Define. |
2005-10-08 Paul Brook <paul@codesourcery.com> |
* arm.h: Add prototypes for BFD object attribute routines. |
2005-09-09 Richard Earnshaw <richard.earnshaw@arm.com> |
* arm.h (SHT_ARM_PREEMPTMAP, SHT_ARM_ATTRIBUTES): New defines. |
2005-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
* hppa.h (SHT_PARISC_DLKM, SHF_PARISC_WEAKORDER, PT_PARISC_WEAKORDER): |
New defines. |
2005-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
* hppa.h (PF_HP_CODE, PF_HP_MODIFY, PF_HP_LAZYSWAP): Revise defines. |
(PF_HP_CODE_DEPR, PF_HP_MODIFY_DEPR, PF_HP_LAZYSWAP_DEPR): New |
deprecated defines. |
(DT_HP_EPLTREL, DT_HP_EPLTRELSZ, DT_HP_FILTERED, DT_HP_FILTER_TLS, |
DT_HP_COMPAT_FILTERED, DT_HP_LAZYLOAD, DT_HP_BIND_NOW_COUNT, DT_PLT, |
DT_PLT_SIZE, DT_DLT, DT_DLT_SIZE, DT_HP_BIND_DEPTH_FIRST, DT_HP_GST, |
DT_HP_SHLIB_FIXED, DT_HP_MERGE_SHLIB_SEG, DT_HP_NODELETE, DT_HP_GROUP, |
DT_HP_PROTECT_LINKAGE_TABLE, PT_HP_OPT_ANNOT, PT_HP_HSL_ANNOT, |
PT_HP_STACK, PT_HP_CORE_UTSNAME, NT_HP_COMPILER, NT_HP_COPYRIGHT, |
NT_HP_VERSION, NT_HP_SRCFILE_INFO, NT_HP_LINKER, NT_HP_INSTRUMENTED, |
NT_HP_UX_OPTIONS): Define. |
2005-07-25 DJ Delorie <dj@redhat.com> |
* m32c.h: Add R_M32C_8, R_M32C_LO16, R_M32C_HI8, and R_M32C_HI16. |
2005-07-25 Jan Hubicka <jh@suse.cz> |
* x86-64.h (SHN_X86_64_LCOMMON): New. |
(SHF_X86_64_LARGE): New. |
2005-07-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
* m32r.h (R_M32R_REL32): Added. |
2005-07-18 Ben Elliston <bje@au.ibm.com> |
* dwarf2.h (enum dwarf_type): Remove DW_AT_GNU_decimal_float. |
Replace with DW_ATE_decimal_float (now in DWARF 3). |
2005-07-14 Jim Blandy <jimb@redhat.com> |
Add support for Renesas M32C and M16C. |
* common.h (EM_M32C): New machine number. |
* m32c.h: New file. |
2005-06-17 Jakub Jelinek <jakub@redhat.com> |
* external.h (GRP_ENTRY_SIZE): Define. |
2005-06-17 Jan Beulich <jbeulich@novell.com> |
* x86-64.h (elf_x86_64_reloc_type): Adjust comment for |
R_X86_64_GOTPCREL. Add R_X86_64_PC64, R_X86_64_GOTOFF64, and |
R_X86_64_GOTPC32. |
2005-06-07 Aldy Hernandez <aldyh@redhat.com> |
Michael Snyder <msnyder@redhat.com> |
Stan Cox <scox@redhat.com> |
* common.h (EM_MS1): Define. |
* ms1.h: New file. |
2005-05-31 Richard Henderson <rth@redhat.com> |
* alpha.h (LITUSE_ALPHA_JSRDIRECT): New. |
2005-05-29 Richard Henderson <rth@redhat.com> |
* alpha.h (DT_ALPHA_PLTRO): New. |
2005-05-19 Ben Elliston <bje@au.ibm.com> |
* dwarf2.h (enum dwarf_type): Assign DW_ATE_GNU_decimal_float from |
the user-defined encoding space pending inclusion in the standard. |
2005-05-18 Zack Weinberg <zack@codesourcery.com> |
* arm.h: Make all #ifndef OLD_ARM_ABI blocks |
unconditional, delete all #ifdef OLD_ARM_ABI blocks. |
2005-05-17 Zack Weinberg <zack@codesourcery.com> |
* arm.h: Import complete list of official relocation names |
and numbers from AAELF. Define FAKE_RELOCs for old names. |
Remove a few old names no longer used anywhere. |
2005-05-14 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (DT_PPC_GOT): Rename from DT_PPC_GLINK. |
2005-05-11 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT, |
R_PPC_RELAX32PC_PLT) Adjust. |
(R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI, R_PPC_REL16_HA): Define. |
(DT_PPC_GLINK): Define. |
2005-05-10 Nick Clifton <nickc@redhat.com> |
* Update the address and phone number of the FSF organization in |
the GPL notices in the following files: |
alpha.h, arc.h, arm.h, avr.h, common.h, cr16c.h, cris.h, crx.h, |
d10v.h, d30v.h, dlx.h, dwarf.h, dwarf2.h, external.h, fr30.h, |
frv.h, h8.h, hppa.h, i370.h, i386.h, i860.h, i960.h, ia64.h, |
internal.h, ip2k.h, iq2000.h, m32r.h, m68hc11.h, m68k.h, mcore.h, |
mips.h, mmix.h, mn10200.h, mn10300.h, msp430.h, openrisc.h, |
or32.h, pj.h, ppc.h, ppc64.h, reloc-macros.h, s390.h, sh.h, |
sparc.h, v850.h, vax.h, x86-64.h, xstormy16.h, xtensa.h |
2005-04-13 H.J. Lu <hongjiu.lu@intel.com> |
Moved from ../ChangeLog |
2004-10-27 Richard Earnshaw <rearnsha@arm.com> |
* arm.h: Add R_ARM_CALL and R_ARM_JUMP32. |
2004-10-12 Paul Brook <paul@codesourcery.com> |
* arm.h (EF_ARM_EABI_VER4): Define. |
2004-10-08 Daniel Jacobowitz <dan@debian.org> |
* common.h (PT_SUNW_EH_FRAME): Define. |
* x86-64.h (SHT_X86_64_UNWIND): Define. |
2004-10-07 Bob Wilson <bob.wilson@acm.org> |
* xtensa.h (R_XTENSA_DIFF8, R_XTENSA_DIFF16, R_XTENSA_DIFF32, |
R_XTENSA_SLOT*_OP, R_XTENSA_SLOT*_ALT): New relocations. |
(XTENSA_PROP_SEC_NAME): Define. |
(property_table_entry): Add flags field. |
(XTENSA_PROP_*, GET_XTENSA_PROP_*, SET_XTENSA_PROP_*): Define. |
2004-09-17 Paul Brook <paul@codesourcery.com> |
* arm.h: Remove R_ARM_STKCHK and R_ARM_THM_STKCHK. |
Add R_ARM_TARGET2, R_ARM_PREL31, R_ARM_GOT_ABS, R_ARM_GOT_PREL, |
R_ARM_GOT_BREL12, R_ARM_GOTOFF12 and R_ARM_GOTRELAX. |
2004-09-13 Paul Brook <paul@codesourcery.com> |
* arm.h: Rename RELABS to TARGET1. |
2004-05-11 Jakub Jelinek <jakub@redhat.com> |
* common.h (PT_GNU_EH_FRAME, PT_GNU_STACK): Add comments. |
(PT_GNU_RELRO): Define. |
2005-03-29 Daniel Jacobowitz <dan@codesourcery.com> |
Phil Blundell <philb@gnu.org> |
* arm.h: Add TLS relocations. |
2005-03-23 Ben Elliston <bje@au.ibm.com> |
* dwarf.h: Merge with GCC's dwarf.h. |
2005-03-18 C Jaipraash <cjaiprakash@noida.hcltech.com> |
* m68k.h (EF_CFV4E): Define. |
2005-03-17 Paul Brook <paul@codesourcery.com> |
Dan Jacobowitz <dan@codesourcery.com> |
Mark Mitchell <mark@codesourcery.com> |
* arm.h (PT_ARM_EXIDX): Define. |
2005-03-02 Daniel Jacobowitz <dan@codesourcery.com> |
Joseph Myers <joseph@codesourcery.com> |
* mips.h: Define MIPS TLS relocations. |
2005-02-15 Nigel Stephens <nigel@mips.com> |
Maciej W. Rozycki <macro@mips.com> |
* mips.h (R_MIPS16_GOT16): New reloc code. |
(R_MIPS16_CALL16): Likewise. |
(R_MIPS16_HI16): Likewise. |
(R_MIPS16_LO16): Likewise. |
(R_MIPS16_min): New fake reloc code. |
(R_MIPS16_max): Likewise. |
2005-02-11 Maciej W. Rozycki <macro@mips.com> |
* mips.h (R_MIPS_max): Use FAKE_RELOC to define. |
2005-01-25 Alexandre Oliva <aoliva@redhat.com> |
2004-12-10 Alexandre Oliva <aoliva@redhat.com> |
* frv.h: Add R_FRV_TLSMOFF. |
2004-11-10 Alexandre Oliva <aoliva@redhat.com> |
* frv.h: Add TLS relocations. |
2005-01-17 Nick Clifton <nickc@redhat.com> |
* sh.h (EF_SH2A_SH4_NOFPU, EF_SH2A_SH3_NOFPU, EF_SH2A_SH4, |
EF_SH2A_SH3E): New flags. |
(EF_SH_BFD_TABLE): Add these new flags to the table. |
2005-01-12 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Define. |
(R_PPC_RELAX32, R_PPC_RELAX32PC): Adjust value. |
2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de> |
* avr.h (R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW): New relocs. |
2004-12-16 Richard Sandiford <rsandifo@redhat.com> |
* v850.h (R_V850_LO16_SPLIT_OFFSET): New reloc. |
2004-12-09 Ian Lance Taylor <ian@wasabisystems.com> |
* mips.h (E_MIPS_MACH_9000): Define. |
2004-11-04 Hans-Peter Nilsson <hp@axis.com> |
* cris.h (EF_CRIS_VARIANT_MASK, EF_CRIS_VARIANT_ANY_V0_V10) |
(EF_CRIS_VARIANT_V32, EF_CRIS_VARIANT_COMMON_V10_V32): New |
macros. |
2004-10-06 Eric Christopher <echristo@redhat.com> |
* dwarf2.h: Sync with gcc dwarf2.h. Fix typo. |
2004-10-01 Paul Brook <paul@codesourcery.com> |
* arm.h (SHT_ARM_EXIDX): Define. |
(ELF_STRING_ARM_unwind, ELF_STRING_ARM_unwind, |
ELF_STRING_ARM_unwind_once, ELF_STRING_ARM_unwind_info_once): |
Define. |
2004-08-25 Dmitry Diky <diwil@spec.ru> |
* msp430.h: Add new relocs. |
2004-08-12 H.J. Lu <hongjiu.lu@intel.com> |
* i386.h (R_386_USED_BY_INTEL_200): New. |
2004-07-29 Alexandre Oliva <aoliva@redhat.com> |
Introduce SH2a support. |
2004-02-18 Corinna Vinschen <vinschen@redhat.com> |
* sh.h (EF_SH2A_NOFPU): New. |
2003-12-01 Michael Snyder <msnyder@redhat.com> |
* sh.h (EF_SH2A): New. |
2004-07-27 Tomer Levi <Tomer.Levi@nsc.com> |
* crx.h: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16, |
BFD_RELOC_CRX_SWITCH32. |
2004-07-06 Tomer Levi <Tomer.Levi@nsc.com> |
* common.h (EM_CRX): Define. |
* crx.h: New file. |
2004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
* m32r.h: Add defintions of R_M32R_GOTOFF_HI_ULO, |
R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO. |
2004-06-19 Alan Modra <amodra@bigpond.net.au> |
* common.h (ELF64_R_INFO): Warning fix. |
2004-06-14 Chris Demetriou <cgd@broadcom.com> |
* mips.h (R_MIPS_PC32): Add back (undoing removal on 2004-04-24), |
with an updated comment. |
2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com> |
* sh.h (EF_SH_HAS_DSP): Remove. |
(EF_SH_HAS_FP): Remove. |
(EF_SH_MERGE_MACH): Remove. |
(EF_SH4_NOFPU): Convert to decimal. |
(EF_SH4A_NOFPU): Likewise. |
(EF_SH4_NOMMU_NOFPU): Likewise. |
(EF_SH3_NOMMU): Add new macro. |
(EF_SH_BFD_TABLE): Likewise. |
(sh_find_elf_flags): Add prototype. |
(sh_elf_get_flags_from_mach): Likewise. |
2004-04-24 Chris Demetriou <cgd@broadcom.com> |
* mips.h (R_MIPS_PC32, R_MIPS_PC64, R_MIPS_GNU_REL_LO16) |
(R_MIPS_GNU_REL_HI16): Remove. |
(R_MIPS_GNU_REL16_S2): Update comment. |
2004-30-30 Galit Heller <Galit.Heller@nsc.com> |
Tomer Levi <Tomer.Levi@nsc.com> |
* common.h (EM_CR): Define. |
* cr16c.h: New file. |
2004-03-23 Paul Brook <paul@codesourcery.com> |
* arm.h (EF_ERM_BE8, EF_ARM_LE8, EF_ARM_EABI_VER3): Add. |
2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com> |
* sh.h: Add EF_SH4_NOMMU_NOFPU. |
2004-03-01 Richard Sandiford <rsandifo@redhat.com> |
* frv.h (EF_FRV_CPU_FR405, EF_FRV_CPU_FR450): Define. |
2004-01-28 Roland McGrath <roland@redhat.com> |
* common.h (AT_SECURE): New macro. |
2004-01-21 Roland McGrath <roland@redhat.com> |
* common.h (AT_SUN_UID, AT_SUN_RUID, AT_SUN_GID): New macros. |
(AT_SUN_RGID, AT_SUN_LDELF, AT_SUN_LDSHDR, AT_SUN_LDNAME, |
AT_SUN_LPAGESZ, AT_SUN_PLATFORM, AT_SUN_HWCAP, AT_SUN_IFLUSH, |
AT_SUN_CPU, AT_SUN_EMUL_ENTRY, AT_SUN_EMUL_EXECFD, |
AT_SUN_EXECNAME) AT_SUN_MMU, AT_SUN_LDDATA): Likewise. |
2004-01-17 Mark Kettenis <kettenis@gnu.org> |
* common.h (NT_OPENBSD_IDENT): Define. |
2004-01-06 Alexandre Oliva <aoliva@redhat.com> |
2003-09-18 Alexandre Oliva <aoliva@redhat.com> |
* frv.h (EF_FRV_FDPIC): New macro. |
(EF_FRV_PIC_FLAGS): Adjust. |
2003-08-08 Alexandre Oliva <aoliva@redhat.com> |
* frv.h (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12, |
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_FUNCDESC_GOTOFFHI, R_FRV_GOTOFF12, |
R_FRV_GOTOFFLO, R_FRV_GOTOFFHI): New. |
2003-08-04 Alexandre Oliva <aoliva@redhat.com> |
* frv.h (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, R_FRV_FUNCDESC, |
R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, R_FRV_FUNCDESC_GOTLO): |
New. |
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 |
fill-column: 74 |
version-control: never |
End: |
/contrib/toolchain/binutils/include/elf/ChangeLog-9103 |
---|
0,0 → 1,1957 |
2005-04-13 H.J. Lu <hongjiu.lu@intel.com> |
Moved from ../ChangeLog |
2003-10-14 Bob Wilson <bob.wilson@acm.org> |
* xtensa.h: Formatting. Fix comments about property section |
names for linkonce sections. |
2003-05-23 Jakub Jelinek <jakub@redhat.com> |
* common.h (PT_GNU_STACK): Define. |
2003-01-25 Jakub Jelinek <jakub@redhat.com> |
* sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252. |
2002-09-26 Jakub Jelinek <jakub@redhat.com> |
* x86-64.h: Add TLS relocs. |
2002-09-19 Jakub Jelinek <jakub@redhat.com> |
* i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE): |
Define. |
2002-07-10 Jakub Jelinek <jakub@redhat.com> |
* common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED, |
DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define. |
2002-05-31 Michal Ludvig <mludvig@suse.cz> |
* dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed |
to DW_CFA_lo_user, DW_CFA_hi_user respectively. |
2002-05-23 Jakub Jelinek <jakub@redhat.com> |
* common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. |
* ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. |
* i386.h: Add TLS relocs. |
2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
* m32r.h : Added m32r-linux and PIC support. Add new ABI that |
uses RELA. |
(R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA, |
R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA, |
R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA, |
R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA, |
R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT, |
R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24, |
R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT, |
R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF, |
R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO, |
R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO, |
R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO, |
R_M32R_GOTPC_LO): New relocs. |
2003-12-06 Alan Modra <amodra@bigpond.net.au> |
From Jan Beulich <JBeulich@novell.com> |
* common.h (DT_HIOS): Correct value. |
2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
* m32r.h: Add new machine type m32r2 and instruction modes. |
2003-11-06 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (R_PPC_RELAX32PC): Define. |
2003-10-22 Alexandre Oliva <aoliva@redhat.com>, |
Michael Snyder <msnyder@redhat.com> |
* sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New. |
(EF_SH_MERGE_MACH): Combine them. |
2003-10-18 Hans-Peter Nilsson <hp@bitrange.com> |
* mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number. |
(_bfd_mmix_before_linker_allocation): Rename from |
_bfd_mmix_prepare_linker_allocated_gregs. |
(_bfd_mmix_after_linker_allocation): Rename from |
_bfd_mmix_finalize_linker_allocated_gregs. |
2003-10-06 Dave Brolley <brolley@redhat.com> |
* frv.h (EF_FRV_CPU_FR550): New macro. |
2003-09-30 Chris Demetriou <cgd@broadcom.com> |
* mips.h (E_MIPS_ARCH_64R2): New define. |
2003-09-23 DJ Delorie <dj@redhat.com> |
* sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY, |
R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces. |
(R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U, |
R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U, |
R_SH_PSHA, R_SH_PSHL): New. |
2003-09-11 James Cownie <jcownie@etnus.com> |
* dwarf2.h: Add HP dwarf extensions from their hacked gdb |
header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz). |
2003-09-04 Nick Clifton <nickc@redhat.com> |
* v850.h (E_V850E1_ARCH): Define. |
2003-08-21 James Cownie <jcownie@etnus.com> |
* dwarf2.h: Add PGI dwarf extensions. |
2003-08-08 Dmitry Diky <diwil@mail.ru> |
* msp430.h: Add xW42 and xE42 parts. Sort MPU list according to |
gcc order. |
2003-08-07 Alan Modra <amodra@bigpond.net.au> |
* reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use |
C90 function definition. Formatting. |
(RELOC_NUMBER): Remove !__STDC__ code. |
2003-07-28 Eric Christopher <echristo@redhat.com> |
* ppc.h (R_PPC_RELAX32): New. Fake relocation. |
2003-07-25 H.J. Lu <hongjiu.lu@intel.com> |
* v850.h (SHF_V850_GPREL): New. |
(SHF_V850_EPREL): Likewise. |
(SHF_V850_R0REL): Likewise. |
2003-07-09 Alexandre Oliva <aoliva@redhat.com> |
2001-05-16 Alexandre Oliva <aoliva@redhat.com> |
* mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and |
PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32. |
Renumbered all relocs. |
2001-04-12 Alexandre Oliva <aoliva@redhat.com> |
* mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF, |
R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24, |
R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT, |
R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs. |
2003-07-09 Alexandre Oliva <aoliva@redhat.com> |
2000-04-01 Alexandre Oliva <aoliva@cygnus.com> |
* mn10300.h (E_MN10300_MACH_AM33_2): Renamed from |
E_MN10300_MACH_AM332. |
2000-03-31 Alexandre Oliva <aoliva@cygnus.com> |
* mn10300.h (E_MN10300_MACH_AM332): Defined. |
2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com> |
* s390.h (elf_s390_reloc_type): Add long displacement relocations |
R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20. |
2003-06-29 Andreas Jaeger <aj@suse.de> |
* mmix.h: Convert to ISO C90 prototypes. |
* mips.h: Likewise. |
2003-06-13 Robert Millan <zeratul2@wanadoo.es> |
* common.h (GNU_ABI_TAG_NETBSD): New tag. |
(GNU_ABI_TAG_FREEBSD): New tag. |
2003-06-10 Richard Sandiford <rsandifo@redhat.com> |
* h8.h (E_H8_MACH_H8300SXN): New flag. |
2003-06-03 Nick Clifton <nickc@redhat.com> |
* v850.h (R_V850_32): Rename to R_V850_ABS32. |
Add R_V850_REL32. |
2003-05-15 Roland McGrath <roland@redhat.com> |
* common.h (NT_AUXV, AT_*): New macros. |
* external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types. |
* internal.h (Elf_Internal_Auxv): New type. |
2003-05-14 Michael Snyder <msnyder@redhat.com> |
From Bernd Schmidt <bernds@redhat.com> |
* h8.h (E_H8_MACH_H8300SX): New. |
2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> |
* h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New |
2003-04-23 J"orn Rennecke <joern.rennecke@superh.com> |
* common.h (EM_SH): Amend comment to refer to SuperH. |
2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
* common.h: Replace references to Mitsubishi M32R with |
references to Renesas M32R. |
2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> |
* common.h: Replace occurrances of 'Hitachi' with 'Renesas'. |
2003-04-01 Bob Wilson <bob.wilson@acm.org> |
* common.h (EM_XTENSA_OLD): Define. |
* xtensa.h: New file. |
2003-04-01 Nick Clifton <nickc@redhat.com> |
* arm.h (ARM_NOTE_SECTION): Include .gnu in the string. |
2003-03-25 Stan Cox <scox@redhat.com> |
Nick Clifton <nickc@redhat.com> |
Contribute support for Intel's iWMMXt chip - an ARM variant: |
* arm.h (ARM_NOTE_SECTION): Define. |
2003-03-03 J"orn Rennecke <joern.rennecke@superh.com> |
* sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E, |
and SH2E & SH4 merge to SH4, not SH2E. |
2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au> |
* ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG, |
SHT_IA_64_PRIORITY_INIT): Define. |
2003-02-18 Alan Modra <amodra@bigpond.net.au> |
* ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC. |
* ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc. |
(IS_PPC_TLS_RELOC): Define. |
2003-02-10 Nick Clifton <nickc@redhat.com> |
* arm.h (EF_ARM_MAVERICK_FLOAT): Define. |
2003-02-05 Alan Modra <amodra@bigpond.net.au> |
* ppc.h: Add TLS relocs. Format. |
* ppc64.h: Likewise. |
2003-01-27 Alexandre Oliva <aoliva@redhat.com> |
* mips.h (EF_MIPS_XGOT): Define. |
2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com> |
* s390.h: Add s390 TLS relocations. |
2003-01-23 Nick Clifton <nickc@redhat.com> |
* Add sh2e support: |
2002-04-02 Alexandre Oliva <aoliva@redhat.com> |
* sh.h (EF_SH_MERGE_MACH): Handle SH2E. |
2002-04-02 Elena Zannoni <ezannoni@redhat.com> |
* sh.h (EF_SH2E): New. |
2003-01-23 Alan Modra <amodra@bigpond.net.au> |
* sh.h: Split out various bits to bfd/elf32-sh64.h. |
2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com> |
* s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff, |
gotplt and pltoff relocations. |
2003-01-17 Alan Modra <amodra@bigpond.net.au> |
* common.h: Formatting, typo fixes. |
(DT_ENCODING): Correct value. |
2003-01-17 Fabio Alemagna <falemagn@aros.org> |
* common.h (ELFOSABI_AROS): Define. |
(ELFOSABI_OPENVMS): Likewise. |
(ELFOSABI_NSK): Likewise. |
2003-01-16 Alan Modra <amodra@bigpond.net.au> |
* ppc.h: Split out ppc64 definitions to.. |
* pcc64.h: ..here. New file. |
(R_PPC64_REL30): Rename from R_PPC64_ADDR30. |
2003-01-13 Dmitry Diky <diwil@mail.ru> |
* elf/common.h (EM_MSP430): Change e_machine value to officially |
assigned. |
2003-01-02 Ben Elliston <bje@redhat.com> |
* common.h (EM_IQ2000): Define. |
* iq2000.h: New file. |
2002-12-30 Chris Demetriou <cgd@broadcom.com> |
* mips.h (E_MIPS_ARCH_32R2): New define. |
2002-12-24 Dmitry Diky <diwil@mail.ru> |
* common.h: Define msp430 machine numbers. |
* msp430.h: New file. Define msp430 relocs. |
2002-12-20 DJ Delorie <dj@redhat.com> |
* xstormy16.h: Add XSTORMY16_12. |
2002-12-16 Andrew MacLeod <amacleod@redhat.com> |
* xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers |
for R_XSTORMY16_LO16 and R_XSTORMY16_HI16. |
2002-12-10 James Cownie <jcownie@etnus.com> |
* dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type, |
DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc): |
Define. |
2002-12-01 Stephane Carrez <stcarrez@nerim.fr> |
* m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define. |
(EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define. |
(EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define. |
2002-11-30 Alan Modra <amodra@bigpond.net.au> |
* mmix.h: Replace boolean with bfd_boolean. |
* sh.h: Likewise. |
2002-11-28 Alan Modra <amodra@bigpond.net.au> |
* internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr, |
elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr, |
Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr, |
elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr, |
Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym, |
Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note, |
elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel, |
elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela, |
elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela, |
elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn, |
Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef, |
elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed, |
elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux, |
elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef, |
Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux, |
Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux, |
Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym, |
Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete. |
(Elf_Internal_Rel): Delete. |
2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> |
* sh.h: Add SH TLS relocs. |
2002-09-30 Gavin Romig-Koch <gavin@redhat.com> |
Ken Raeburn <raeburn@cygnus.com> |
Aldy Hernandez <aldyh@redhat.com> |
Eric Christopher <echristo@redhat.com> |
Richard Sandiford <rsandifo@redhat.com> |
* mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New. |
2002-09-12 Roland McGrath <roland@redhat.com> |
* dwarf2.h: Updates from GCC version of thie file: |
(enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref. |
Add DW_OP_GNU_push_tls_address. |
(DW_OP_lo_user): Change to 0xe0. |
2002-08-28 Catherine Moore <clm@redhat.com> |
* v850.h (R_V850_LONGCALL, R_V850_ALIGN, |
R_V850_LONGJUMP): New relocations. |
2002-08-15 Alan Modra <amodra@bigpond.net.au> |
* i370.h: Define relocs using reloc-macros.h. |
2002-08-13 Stephane Carrez <stcarrez@nerim.fr> |
* m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64, |
EF_M68HC11_ABI): Define for ABI specification. |
(STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for |
linker and debugger. |
(R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs. |
(R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker |
relaxation. |
2002-07-15 Denis Chertykov <denisc@overta.ru> |
Frank Ch. Eigler <fche@redhat.com> |
Ben Elliston <bje@redhat.com> |
Alan Lehotsky <alehotsky@cygnus.com> |
John Healy <jhealy@redhat.com> |
Graham Stott <grahams@redhat.com> |
Jeff Johnston <jjohnstn@redhat.com> |
* common.h (EM_IP2K): New macro. |
(EM_IP2K_OLD): New macro. |
* ip2k.h: New file. |
2002-07-01 Matt Thomas <matt@3am-software.com> |
* vax.h: Rename EF_* to EF_VAX_*. |
2002-06-18 Dave Brolley <brolley@redhat.com> |
From Catherine Moore, Michael Meissner, Dave Brolley: |
* common.h (EM_CYGNUS_FRV): New macro. |
* frv.h: New file. |
2002-06-06 Lars Brinkhoff <lars@nocrew.org> |
* common.h: Change registry@sco.com to registry@caldera.com. |
(EM_PDP10, EM_PDP11): Define. |
2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> |
* sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl) |
(_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New |
prototypes. |
2002-06-01 Richard Henderson <rth@redhat.com> |
* alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF, |
LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New. |
2002-05-30 Richard Henderson <rth@redhat.com> |
* alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64, |
R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI, |
R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64, |
R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New. |
2002-05-29 Matt Thomas <matt@3am-software.com> |
* vax.h: New file |
2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> |
* common.h (EM_DLX): Define. |
* dlx.h: New file. |
2002-05-08 Jason Thorpe <thorpej@wasabisystems.com> |
* common.h (NT_GNU_ABI_TAG): Define. |
(GNU_ABI_TAG_LINUX): Define. |
(GNU_ABI_TAG_HURD): Define. |
(GNU_ABI_TAG_SOLARIS): Define. |
(NT_NETBSD_IDENT): Define. |
(NT_FREEBSD_ABI_TAG): Define. |
2002-04-24 Elena Zannoni <ezannoni@redhat.com> |
* dwarf2.h: Add DW_AT_GNU_vector. |
2002-02-13 Matt Fredette <fredette@netbsd.org> |
* m68k.h (EF_M68000): Define. |
2002-02-12 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define. |
2002-02-09 Richard Henderson <rth@redhat.com> |
* alpha.h (R_ALPHA_BRSGP): New. |
2002-02-08 Alexandre Oliva <aoliva@redhat.com> |
Contribute sh64-elf. |
2002-01-23 Alexandre Oliva <aoliva@redhat.com> |
* sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, |
R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, |
R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, |
R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, |
R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, |
R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, |
R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, |
R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, |
R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, |
R_SH_RELATIVE64): New relocs. |
(R_SH_FIRST_INVALID_RELOC_4): Adjust. |
2001-05-16 Alexandre Oliva <aoliva@redhat.com> |
* sh.h: Renumbered and renamed some SH5 relocations to match |
official numbers and names; moved unmaching ones to the range |
0xf2-0xff. |
2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> |
* sh.h (sh64_get_contents_type): Declare. |
(sh64_address_is_shmedia): Likewise. |
2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> |
* sh.h (sh64_elf_crange): New type. |
(struct sh64_section_data): New. |
(sh64_elf_section_data): New macro. |
(EF_SH5): Rename back from EF_SH64. |
2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> |
* sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED, |
SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE, |
SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET, |
SH64_CRANGE_CR_TYPE_OFFSET): New macros. |
2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> |
* sh.h (EF_SH64): Don't define EF_SH64_ABI64. |
2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com> |
* sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete. |
(EF_SH64_ABI64): New. |
2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com> |
* sh.h (EF_SH64): Rename from EF_SH5. |
(EF_SH64_32BIT_ABI): New. |
(EF_SH64_64BIT_ABI): New. |
(R_SH_PT_16, R_SH_SHMEDIA_CODE |
R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2, |
R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16, |
R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16, |
R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL, |
R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New |
relocs. |
2000-09-01 Ben Elliston <bje@redhat.com> |
* sh.h (EF_SH5): Define. |
2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> |
* mmix.h: Tweak comments. |
(MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New. |
[BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs, |
_bfd_mmix_finalize_linker_allocated_gregs, |
_bfd_mmix_check_all_relocs): Provide prototypes. |
2002-01-31 Ivan Guzvinec <ivang@opencores.org> |
* or32.h: New file. |
* common.h: Add support for or32 targets. |
2002-01-28 Jason Merrill <jason@redhat.com> |
* dwarf2.h: Sync with gcc version. |
2002-01-16 Alan Modra <amodra@bigpond.net.au> |
* ppc.h (DT_PPC64_GLINK): Define. |
2002-01-15 Richard Earnshaw <rearnsha@arm.com> |
* arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define. |
2002-01-09 Jason Thorpe <thorpej@wasabisystems.com> |
* common.h: Update copyright years. |
(NT_NETBSDCORE_PROCINFO): Define. |
(NT_NETBSDCORE_FIRSTMACH): Define. |
2002-01-06 Steve Ellcey <sje@cup.hp.com> |
* ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX. |
(SHT_IA_64_HP_OPT_ANOT): Ditto |
(PT_IA_64_HP_OPT_ANOT): Ditto |
(PT_IA_64_HP_HSL_ANOT): Ditto |
(PT_IA_64_HP_STACK): Ditto |
(SHN_IA_64_ANSI_COMMON): Ditto |
2001-12-17 Alan Modra <amodra@bigpond.net.au> |
* external.h (Elf_External_Sym_Shndx): Declare. |
* internal.h (struct elf_internal_sym <st_shndx>): Make it an |
unsigned int. |
* common.h (SHN_BAD): Define. |
2001-12-13 Jakub Jelinek <jakub@redhat.com> |
* common.h (PT_GNU_EH_FRAME): Define. |
2001-12-11 Alan Modra <amodra@bigpond.net.au> |
* common.h (SHN_XINDEX): Comment typo fix. |
* internal.h (Elf_Internal_Ehdr): Change existing "unsigned short" |
size, count and index fields to "unsigned int". |
2001-12-07 Geoffrey Keating <geoffk@redhat.com> |
Richard Henderson <rth@redhat.com> |
* common.h (EM_XSTORMY16): Define. |
* xstormy16.h: New file. |
2001-11-15 Alan Modra <amodra@bigpond.net.au> |
* common.h (NT_ARCH): Define. Remove incorrect comment. |
2001-11-11 Geoffrey Keating <geoffk@redhat.com> |
* dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes. |
2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> |
* mmix.h: New file. |
2001-10-23 Alan Modra <amodra@bigpond.net.au> |
* internal.h: White space changes to keep lines under 80 chars. |
2001-10-16 Jeff Holcomb <jeffh@redhat.com> |
* internal.h (elf_internal_shdr): Make contents a unsigned char *. |
2001-09-18 Alan Modra <amodra@bigpond.net.au> |
* internal.h (elf_internal_rela): Make r_addend a bfd_vma. |
2001-09-13 Alexandre Oliva <aoliva@redhat.com> |
* common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry. |
2001-09-12 Alexandre Oliva <aoliva@redhat.com> |
* common.h (EM_AVR_OLD): Renamed from... |
(EM_AVR): this, redefined as in the current ELF standard. |
(EM_PJ_OLD): Renamed from... |
(EM_PJ): this, redefined as in the current ELF standard. |
(EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300, |
EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in |
the current ELF standard. |
(EM_CYGNUS_ARC): Removed, unused for a long time. |
2001-09-04 Richard Henderson <rth@redhat.com> |
* alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove. |
(R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. |
2001-08-30 Eric Christopher <echristo@redhat.com> |
* mips.h: Remove E_MIPS_MACH_MIPS32_4K. |
2001-08-29 Jeff Law <law@redhat.com> |
* h8.h (EF_H8_MACH): New mask for encoded machine type. |
(E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New |
machine types. |
2001-08-26 J"orn Rennecke <amylaar@redhat.com> |
* h8.h: New file. |
2001-08-27 Staffan Ulfberg <staffanu@swox.se> |
* ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2. |
2001-06-30 Daniel Berlin <dan@cgsoftware.com> |
* dwarf2.h: Remerge with gcc version, |
including all new DWARF 2.1 extensions. |
2001-06-29 James Cownie <jcownie@etnus.com> |
* dwarf2.h: Add DWARF 2.1 attribues. |
2001-06-15 Per Bothner <per@bothner.com> |
* dwarf2.h: Partial merge with gcc version. |
(enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list. |
(DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc). |
2001-05-15 Ralf Baechle <ralf@gnu.org> |
* common.h: Remove definition of EM_MIPS_RS4_BE. The constant was |
never in active use and is used otherwise by the ABI. |
2001-05-11 Jakub Jelinek <jakub@redhat.com> |
* ia64.h (ELF_STRING_ia64_unwind_once): Define. |
(ELF_STRING_ia64_unwind_info_once): Define. |
2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> |
* external.h: Fix typo. |
* mips.h: Add/Extend many comments with reference to the MIPS ELF64 |
spec v. 2.4, available at e.g. |
ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps. |
(EF_MIPS_UCODE): Define. |
(EF_MIPS_OPTIONS_FIRST): Define. |
(EF_MIPS_ARCH_ASE): Define. |
(EF_MIPS_ARCH_ASE_MDMX): Define. |
(EF_MIPS_ARCH_ASE_M16): Define. |
(SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32. |
(SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64. |
(SHF_MIPS_NODUPES): Define. |
(ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro. |
(ELF64_MIPS_R_TYPE3): Likewise. |
(ELF64_MIPS_R_TYPE2): Likewise. |
(ELF64_MIPS_R_TYPE): Likewise. |
(OHW_R10KLDL): Define. |
2001-04-24 Todd Fries <todd@fries.net> |
* sparc.h: Fix typo. |
2001-04-20 Johan Rydberg <jrydberg@opencores.org> |
* openrisc.h: New file. |
* common.h (EM_OPENRISC): New constant. |
2001-04-23 Bo Thorsen <bo@suse.de> |
* x86-64.h: Add vtable support. |
2001-03-23 Nick Clifton <nickc@redhat.com> |
* mips.h: Remove extraneous whitespace. |
2001-03-22 Hans-Peter Nilsson <hp@axis.com> |
* cris.h: Add leading comment about PC-relative location. |
(R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE, |
R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT, |
R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL): |
New relocs. |
2001-02-27 Philip Blundell <pb@futuretv.com> |
* arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01. |
(EF_PIC, et al.): Rename to EF_ARM_xx. |
2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> |
* common.h: Add linux target for S/390. |
* s390.h: New file. |
2001-01-11 Peter Targett <peter.targett@arccores.com> |
* arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7, |
E_ARC_MACH_ARC8): New definitions for cpu types. |
* common.h (EM_ARC): Change comment. |
2000-12-12 Nick Clifton <nickc@redhat.com> |
* mips.h: Fix formatting. |
2000-12-11 Jeffrey A Law (law@cygnus.com) |
* hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux |
compatibility. |
2000-10-16 Chris Demetriou <cgd@sibyte.com> |
* mips.h (E_MIPS_ARCH_32): New constant. |
(E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the |
former with the latter. |
* mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions. |
* mips.h (E_MIPS_MACH_SB1): New constant. |
2000-11-30 Jan Hubicka <jh@suse.cz> |
* common.h (EM_X86_64): New macro. |
* x86-64.h: New file. |
2000-11-27 Hans-Peter Nilsson <hp@axis.com> |
* common.h (e_machine numbers): Clarify comments to describe how |
EM_* constants are assigned. Move EM_PJ from official section to |
ad-hoc section. |
(EM_CRIS): Correct comment to match official description. |
(EM_MMIX): Ditto. |
2000-11-22 Nick Clifton <nickc@redhat.com> |
* common.h (EM_JAVELIN): New machine number. |
(EM_FIREPATH): New machine number. |
(EM_ZSP): New machine number. |
(EM_MMIX): New machine number. |
(EM_HUANY): New machine number. |
(EM_PRISM): New machine number. |
(SHT_GROUP): New section type. |
(SHT_SYMTAB_SHNDX): New section type. |
(SHF_GROUP): New section flag. |
(SHN_XINDEX): New section index. |
(GRP_COMDAT): New section group flag. |
2000-11-20 H.J. Lu <hjl@gnu.org> |
* common.h (ELFOSABI_MONTEREY): Renamed to ... |
(ELFOSABI_AIX): This. |
2000-11-16 Richard Henderson <rth@redhat.com> |
Update relocations per August psABI docs. |
* ia64.h (R_IA64_SEGBASE): Remove. |
(R_IA64_LTV*): Renumber to 0x74 to 0x77. |
(R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove. |
(R_IA64_TPREL14, R_IA64_TPREL64I): New. |
(R_IA64_DTPMOD*): New. |
(R_IA64_DTPREL*): New. |
2000-09-29 Hans-Peter Nilsson <hp@axis.com> |
* cris.h (EF_CRIS_UNDERSCORE): New. |
2000-09-27 Alan Modra <alan@linuxcare.com.au> |
* hppa.h (R_PARISC_DIR14F): Add. |
2000-09-14 Alexandre Oliva <aoliva@redhat.com> |
* sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, |
R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change |
numbers to the range from 160 to 167. |
(R_SH_FIRST_INVALID_RELOC): Adjust. |
(R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2): |
New relocs to fill in the gap. |
2000-09-13 Anders Norlander <anorland@acc.umu.se> |
* mips.h (E_MIPS_MACH_4K): New define. |
2000-09-05 Alan Modra <alan@linuxcare.com.au> |
* hppa.h: Fix a comment. |
(R_PARISC_PCREL12F): Define. |
(R_PARISC_GNU_VTENTRY): Define. |
(R_PARISC_GNU_VTINHERIT): Define. |
2000-09-01 Alexandre Oliva <aoliva@redhat.com> |
* sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, |
R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs. |
(R_SH_FIRST_INVALID_RELOC): Adjust. |
2000-08-14 Jim Wilson <wilson@cygnus.com> |
* ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, |
EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define. |
2000-08-07 Nick Clifton <nickc@cygnus.com> |
* ppc.h: Remove spurious CYGNUS LOCAL comments. |
* v850.h: Likewise. |
2000-07-22 Jason Eckhardt <jle@cygnus.com> |
* i860.h: New file. |
(elf_i860_reloc_type): Defined ELF32 i860 relocations. |
2000-07-20 Hans-Peter Nilsson <hp@axis.com> |
common.h (EM_CRIS): New machine number. |
cris.h: New file. |
2000-07-19 H.J. Lu <hjl@gnu.org> |
* common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB. |
2000-07-19 H.J. Lu <hjl@gnu.org> |
* common.h (DT_CHECKSUM): Set to 0x6ffffdf8. |
(DTF_1_CONFEXP): It is 0x00000002 as suspected. |
2000-07-19 H.J. Lu <hjl@gnu.org> |
* common.h (DT_FEATURE): Renamed from DT_FEATURE_1. |
(DT_CONFIG): New. From Solaris 8. |
(DT_DEPAUDIT): Likewise. |
(DT_AUDIT): Likewise. |
(DT_PLTPAD): Likewise. |
(DT_MOVETAB): Likewise. |
(DF_1_NODEPLIB): Likewise. |
(DF_1_NODUMP): Likewise. |
(DF_1_CONLFAT): Likewise. |
(DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8. |
(DTF_1_CONFEXP): Likewise. |
2000-07-18 H.J. Lu <hjl@gnu.org> |
* common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS. |
2000-07-12 Alan Modra <alan@linuxcare.com.au> |
* internal.h (struct elf_internal_sym): Update comment for st_other. |
2000-07-10 Alan Modra <alan@linuxcare.com.au> |
* hppa.h: Add comments to all the relocs. |
2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl> |
* avr.h (E_AVR_MACH_AVR5): Define. |
2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> |
* m68hc11.h: New file, definitions for the Motorola 68hc11. |
2000-06-06 Alan Modra <alan@linuxcare.com.au> |
* reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy |
-1 valued enum. |
(RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than |
prepend comma. |
(END_RELOC_NUMBERS): Give macro an arg to define as last enum. |
* alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than |
with EMPTY_RELOC. |
* arc.h (R_ARC_max): Likewise. |
* avr.h (R_AVR_max): Likewise. |
* fr30.h (R_FR30_max): Likewise. |
* hppa.h (R_PARISC_UNIMPLEMENTED): Likewise. |
* i960.h (R_960_max): Likewise. |
* m32r.h (R_M32R_max): Likewise. |
* m68k.h (R_68K_max): Likewise. |
* mcore.h (R_MCORE_max): Likewise. |
* mn10300.h (R_MN10300_MAX): Likewise. |
* pj.h (R_PJ_max): Likewise. |
* ppc.h (R_PPC_max): Likewise. |
* sh.h (R_SH_max): Likewise. |
* sparc.h (R_SPARC_max): Likewise. |
* v850.h (R_V850_max): Likewise. |
* arm.h (R_ARM_max): Define via END_RELOC_NUMBERS. |
* d10v.h (R_D10V_max): Likewise. |
* d30v.h (R_D30V_max): Likewise. |
* ia64.h (R_IA64_max): Likewise. |
* mips.h (R_MIPS_maxext): Likewise. |
* mn10200.h (R_MN10200_max): Likewise. |
* i386.h (R_386_max): Remove old RELOC_NUMBER definition, and |
define via END_RELOC_NUMBERS. |
2000-06-03 Alan Modra <alan@linuxcare.com.au> |
* reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for |
!__STDC__ case. |
(RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined. |
2000-05-22 Richard Henderson <rth@cygnus.com> |
* ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New. |
(R_IA64_PCREL22, R_IA64_PCREL64I): New. |
2000-05-02 H.J. Lu <hjl@gnu.org> |
* common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV. |
(ELFOSABI_MODESTO): Defined. |
(ELFOSABI_OPENBSD): Likewise. |
2000-04-21 Richard Henderson <rth@cygnus.com> |
David Mosberger <davidm@hpl.hp.com> |
* ia64.h: New file. |
2000-04-14 H.J. Lu <hjl@gnu.org> |
* common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64. |
2000-04-14 H.J. Lu <hjl@gnu.org> |
* common.h (ELFOSABI_NETBSD): Defined. |
(ELFOSABI_HURD): Likewise. |
(ELFOSABI_SOLARIS): Likewise. |
(ELFOSABI_MONTEREY): Likewise. |
(ELFOSABI_IRIX): Likewise. |
(ELFOSABI_FREEBSD): Likewise. |
(ELFOSABI_TRUE64): Likewise. |
2000-04-07 Nick Clifton <nickc@cygnus.com> |
* arm-oabi.h: Delete. |
* arm.h: Merge in definitions of old reloc numbers from |
arm-oabi.h. |
2000-04-06 Nick Clifton <nickc@cygnus.com> |
* arm.h (EF_ARM_SYMSARESORTED): Define. |
(EF_ARM_EABIMASK): Define. |
(EF_ARM_EABI_VERSION): Define. |
(EF_ARM_EABI_UNKNOWN): Define. |
(EF_ARM_EABI_VER1): Define. |
(PF_ARM_PI): Define. |
(PF_ARM_ABS): Define. |
2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk> |
* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. |
2000-03-27 Denis Chertykov <denisc@overta.ru> |
* avr.h: New file. AVR ELF support for BFD. |
* common.h: Add AVR magic number. |
2000-03-10 Geoffrey Keating <geoffk@cygnus.com> |
* mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16, |
R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation |
numbers. |
2000-02-23 Linas Vepstas <linas@linas.org> |
* i370.h: New file. |
2000-02-22 Nick Clifton <nickc@cygnus.com> |
* common.h (ELF_ST_OTHER): Remove definition. |
(ELF32_ST_OTHER): Remove definition. |
(ELF64_ST_OTHER): Remove definition. |
2000-02-22 H.J. Lu <hjl@gnu.org> |
* common.h (ELFOSABI_LINUX): Define. |
2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk> |
* sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros. |
(EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise. |
(EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise. |
2000-02-03 H.J. Lu <hjl@gnu.org> |
* arm-oabi.h: Duplicate changes made to arm.h on Jan. 27, |
2000 by Thomas de Lellis <tdel@windriver.com>. |
2000-01-27 Thomas de Lellis <tdel@windriver.com> |
* arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC. |
(STT_ARM_16BIT): New flag. Denotes a label that was defined in |
Thumb block but was does not identify a function. |
2000-01-20 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_MCORE): Fix spelling of Motorola. |
* mcore.h (EM_MCORE): Fix spelling of Motorola. |
2000-01-13 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_S370): Change comment - this is now the IBM |
System/370. |
(EM_IA_64): Change comment - this is now the IA-64. |
2000-01-11 Nick Clifton <nickc@cygnus.com> |
* common.h (DT_ENCODING): Fix definition of this value. |
(DT_LOOS): Fix definition of this value. |
(DT_HIOS): Fix definition of this value. |
(OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft |
of ELF spec changed it. |
(OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft |
of ELF spec changed it. |
2000-01-10 Egor Duda <deo@logos-m.ru> |
* common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps). |
1999-12-28 Nick Clifton <nickc@cygnus.com> |
* mips.h (STO_*): Redefine in terms of STV_* values now in |
common.h. |
1999-12-27 Nick Clifton <nickc@cygnus.com> |
* common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec. |
(EM_MIPS_RS3_LE): New machine number. |
(EM_RCE): New machine number. |
(EM_MMA): New machine number. |
(EM_PCP): New machine number. |
(EM_NCPU): New machine number. |
(EM_NDR1): New machine number. |
(EM_STARCORE): New machine number. |
(EM_ME16): New machine number. |
(EM_ST100): New machine number. |
(EM_TINYJ): New machine number. |
(EM_FX66): New machine number. |
(EM_ST9PLUS): New machine number. |
(EM_ST7): New machine number. |
(EM_68HC16): New machine number. |
(EM_68HC11): New machine number. |
(EM_68HC08): New machine number. |
(EM_68HC05): New machine number. |
(EM_SVX): New machine number. |
(EM_VAX): New machine number. |
(PF_MASKOS): Change value. |
(SHT_INIT_ARRAY): New value for sh_type field. |
(SHT_FINI_ARRAY): New value for sh_type field. |
(SHT_PREINIT_ARRAY): New value for sh_type field. |
(SHT_HIUSER): Change value. |
(SHF_MERGE): New valye for sh_flags field. |
(SHF_STRINGS): New valye for sh_flags field. |
(SHF_INFO_LINK): New valye for sh_flags field. |
(SHF_OS_NONCONFORMING): New valye for sh_flags field. |
(SHF_MASKOS): Change value. |
(ELF_ST_VISIBILITY): New macro. |
(ELF_ST_OTHER): New macro. |
(STT_COMMON): New symbol type. |
(STV_DEFAULT): Value for symbol visibility. |
(STV_INTERNAL): Value for symbol visibility. |
(STV_HIDDEN): Value for symbol visibility. |
(STV_PROTECTED): Value for symbol visibility. |
(DT_RUNPATH): New dynamic section tag. |
(DT_FLAGS): New dynamic section tag. |
(DT_ENCODING): New dynamic section tag. |
(DT_PREINIT_ARRAY): New dynamic section tag. |
(DT_PREINIT_ARRAYSZ): New dynamic section tag. |
(DT_LOPROC): New dynamic section tag index. |
(DT_HIPROC): New dynamic section tag index. |
(DF_ORIGIN): Value for dynamic section flag. |
(DF_SYMBOLIC): Value for dynamic section flag. |
(DF_TEXTREL): Value for dynamic section flag. |
(DF_BIND_NOW): Value for dynamic section flag. |
1999-12-09 Fred Fish <fnf@cygnus.com> |
* i960.h (reloc-macros.h): Include using relative dir elf/. |
* i386.h (reloc-macros.h): Include using relative dir elf/. |
* hppa.h (reloc-macros.h): Include using relative dir elf/. |
1999-12-07 Jim Blandy <jimb@cygnus.com> |
* common.h (NT_PRXFPREG): New definition. |
Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com) |
* mn10300.h (E_MN10300_MACH_AM33): Define. |
Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com) |
* hppa.h (PF_HP_PAGE_SIZE): Define. |
(PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise. |
(PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise. |
Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com> |
* m32r.h (E_M32RX_ARCH): Define. |
1999-09-15 Ulrich Drepper <drepper@cygnus.com> |
* hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL. |
1999-09-04 Steve Chamberlain <sac@pobox.com> |
* pj.h: New file. |
* common.h (EM_PJ): Define. |
1999-09-02 Ulrich Drepper <drepper@cygnus.com> |
* hppa.h: Add HPUX specific symbol type definitions. |
* hppa.h: Add HPUX specific dynamic and program header table |
specific definitions. |
1999-08-31 Scott Bambrough <scottb@netwinder.org> |
* common.h (NT_TASKSTRUCT): Define. |
1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> |
* sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions |
flag (as per SCD2.4.1). |
1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> |
* sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not |
ELF64_R_SYM bits. |
1999-06-21 Philip Blundell <pb@nexus.co.uk> |
* arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define. |
1999-07-13 Andreas Schwab <schwab@suse.de> |
* m68k.h (EF_CPU32): Move definition inside multiple inclusion |
guard. |
1999-07-08 Richard Henderson <rth@cygnus.com> |
* sparc.h (ELF64_R_TYPE_DATA): Sign extend the value. |
(ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data. |
(DT_SPARC_PLTFMT): Delete. |
Based on a patch from Jakub Jelinek. |
Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com) |
* hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type. |
1999-06-10 Jakub Jelinek <jj@ultra.linux.cz> |
* sparc.h (R_SPARC_max_std): Define. |
Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com) |
* hppa.h: Update with various changes from newest PA ELF |
specifications. |
1999-06-03 Ian Lance Taylor <ian@zembu.com> |
* common.h (EM_PPC64): Define. |
1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com> |
* dwarf.h: Add LANG_JAVA. |
* dwarf2.h: Add DW_LANG_Java. |
1999-05-29 Nick Clifton <nickc@cygnus.com> |
* common.h (ELFOSABI_ARM): Define. |
1999-05-28 Nick Clifton <nickc@cygnus.com> |
* reloc-macros.h: Update comment. |
1999-05-28 Ian Lance Taylor <ian@zembu.com> |
* i960.h: New file. |
1999-05-16 Nick Clifton <nickc@cygnus.com> |
* mcore.h (R_MCORE_COPY): Define. |
(R_MCORE_GLOB_DAT): Define. |
(R_MCORE_JUMP_SLOT): Define. |
1999-05-15 Nick Clifton <nickc@cygnus.com> |
* mcore.h (R_MCORE_RELATIVE): Define. |
1999-05-05 Catherine Moore <clm@cygnus.com> |
* m68k.h (EF_CPU32): Define. |
1999-04-21 Nick Clifton <nickc@cygnus.com> |
* reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to |
fake reloc entry name (if possible), in order to avoid conflicts |
with typedefs of the same name. |
1999-04-16 Gavin Romig-Koch <gavin@cygnus.com> |
* mips.h (EF_MIPS_32BITMODE): New. |
1999-04-08 Nick Clifton <nickc@cygnus.com> |
* mcore.h: New header file. Defines for Motorola's MCore |
processor. |
1999-04-08 Nick Clifton <nickc@cygnus.com> |
* common.h: Add new constants defined in: "System V Application |
Binary Interface - DRAFT - April 29, 1998" found at the web site: |
http://www.sco.com/developer/gabi/contents.html |
(EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this |
value. |
1999-03-31 Nick Clifton <nickc@cygnus.com> |
* reloc-macros.h: Fixed to not generate an enum with a trailing |
comma. |
1999-03-16 Gavin Romig-Koch <gavin@cygnus.com> |
* mips.h (E_MIPS_MACH_5000): New. |
1999-03-10 Ulrich Drepper <drepper@cygnus.com> |
* common.h: Add definitions for a few more Solaris ELF extensions. |
Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com> |
* external.h: Only use attribute if __GNUC__ is defined. |
1999-02-17 Nick Clifton <nickc@cygnus.com> |
Patch submitted by: Scott Bambrough <scottb@corelcomputer.com> |
* external.h: struct Elf_External_Versym must be packed on |
ARM. Code uses sizeof(Elf_External_Versym) and assumes it is |
equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com> |
1999-02-02 Nick Clifton <nickc@cygnus.com> |
* dwarf2.h (DWARF2_External_ARange): New structure. |
(DWARF2_Internal_ARange): New structure. |
Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com> |
* arm.h: Renumber relocs to conform to standard. |
(EF_NEW_ABI): Define. |
(EF_OLD_ABI): Define. |
* arm-oabi.h: New file. |
1999-01-28 Nick Clifton <nickc@cygnus.com> |
* fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs. |
1999-01-27 Nick Clifton <nickc@cygnus.com> |
* dwarf2.h: Add typedefs for structures found in dwarf2 sections. |
1998-12-16 Gavin Romig-Koch <gavin@cygnus.com> |
* mips.h (E_MIPS_MACH_4111): New. |
1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> |
* mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64, |
E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64): |
1998-12-03 Nick Clifton <nickc@cygnus.com> |
* fr30.h: Add R_FR30_48 reloc. |
1998-12-02 Ulrich Drepper <drepper@cygnus.com> |
* mips.h: Add external data type for conflict section. |
* mips.h: Add more LL_* options from Irix 6.5. |
* mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately. |
Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk> |
* sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC, |
R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max. |
Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value. |
Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com> |
* d10v.h: Add vtable relocs. |
Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_CYGNUS_FR30): New machine number. |
* fr30.h: New file: Definitions for the FR30. |
Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com> |
From Philip Blundell <pb@nexus.co.uk>: |
* arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC. |
(EF_ALIGN8): New flag. |
Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com> |
* common.h (NT_LWPSTATUS): Close comment accidentally left open. |
Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com> |
* sh.h: Add vtable relocs. |
Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com> |
* common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO, |
NT_LWPSTATUS,NT_LWPSINFO): added. |
* internal.h (Elf_Internal_Note): new structure members. |
Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com> |
* m32r.h: Add vtable relocs. |
Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com> |
* sparc.h: Add vtable relocs. |
Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com> |
* v850.h: Add vtable relocs. |
Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com> |
* i386.h (R_386_max): Change from 252 to 24. |
Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com> |
* i386.h: Change vtable reloc numbers. |
Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
* m68k.h: Add vtable relocs and R_68K_max. |
Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com> |
* arm.h: Add vtable relocs. |
Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com> |
* arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx |
definitions. |
Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com> |
* i386.h: Add vtable relocs. |
1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com> |
* common.h: Add SYMINFO_* macros to access Elf*_Syminfo information. |
* external.h: Add Elf_External_Syminfo definition. |
* internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo, |
and Elf64_Syminfo definitions. |
Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com> |
* arm.h: Add ST_THUMB definitions. |
Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com> |
* arm.h: Add ELF header flags to specify compile time optins: |
EF_INTERWORK: New flag. |
EF_APCS_26: New flag. |
EF_APCS_FLOAT: New flag. |
EF_PIC: New flag. |
1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com> |
* mips.h: Add missing RHF_* constants. |
Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com> |
* arm.h: Add R_ARM_THM_PC9 relocation. |
1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com> |
* common.h: Add new DT_* entries and there flag macros from Solaris. |
Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com> |
* sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x. |
Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com) |
* mn10300.h: Add R_MN10300_24 relocation. |
1998-07-24 Ulrich Drepper <drepper@cygnus.com> |
* mips.h: Add MIPS64 relocation names and values. |
Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com> |
* arm.h: Rename relocations. |
1998-07-22 Ulrich Drepper <drepper@cygnus.com> |
* ppc.h: Define enum as elf_ppc_reloc_type. |
Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com> |
* reloc-macros.h: New file. Provides relocation macros: |
START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and |
END_RELOC_NUMBERS used by other elf header files. |
* alpha.h: Use reloc-macros.h. |
* arc.h: Use reloc-macros.h. |
* arm.h: Use reloc-macros.h. |
* d10v.h: Use reloc-macros.h. |
* d30v.h: Use reloc-macros.h. |
* hppa.h: Use reloc-macros.h. |
* i386.h: Use reloc-macros.h. |
* m32r.h: Use reloc-macros.h. |
* m68k.h: Use reloc-macros.h. |
* mips.h: Use reloc-macros.h. |
* mn10200.h: Use reloc-macros.h. |
* mn10300.h: Use reloc-macros.h. |
* ppc.h: Use reloc-macros.h. |
* sh.h: Use reloc-macros.h. |
* sparc.h: Use reloc-macros.h. |
* v850.h: Use reloc-macros.h. |
1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com> |
* mn10300.h: Rewrite relocation definition using macros. |
* mips.h: Likewise. |
* ppc.h: Likewise. |
* alpha.h: Likewise. |
* arm.h: Likewise. |
* d10v.h: Likewise. |
* d30v.h: Likewise. |
* m32r.h: Likewise. |
* m68k.h: Likewise. |
* mn10200.h: Likewise. |
* sh.h: Likewise. |
* sparc.h: Likewise. |
1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com> |
* arm.h: New file. |
* d10v.h: New file. |
* d30v.h: New file. |
* i386.h: New file. |
* m68k.h: New file. |
* mn10200.h: New file. |
* sh.h: New file. |
* mips.h: Add R_MIPS_* and SHT_MIPS_* entries. |
* mn10300.h: Add R_MN10300_* entries. |
* ppc.h: Add R_PPC_* entries. |
1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com> |
* mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants. |
Define Elf32_External_Lib. |
1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com> |
* mips.h (PT_MIPS_OPTIONS): New symbol. |
Add lots of DT_MIPS_* symbols. |
Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com) |
* mn10300.h: New file. |
Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA, |
EM_OLD_ALPHA): Add these constants. |
Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_486, EM_S370): Add these constants. |
Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_ARM): Add this constant. |
Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com> |
* mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added. |
Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com> |
* alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New. |
Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com> |
* common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9. |
(EM_SPARCV9): New. This is the official ABI name and number. |
Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com> |
* alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New. |
Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com> |
* m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to |
specify machine architecture. |
Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com> |
* v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON, |
SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON, |
SHT_V850_ZCOMMON to handle v850 common sections. |
enum reloc_type renamed to v850_reloc_type to avoid name |
conflict. |
Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com> |
* sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16. |
Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com> |
* sparc.h (DT_SPARC_REGISTER): New macro. |
(DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will |
go away soon. |
Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com> |
* sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros. |
(EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros. |
(SHN_BEFORE,SHN_AFTER): New macros. |
(SHF_EXCLUDE,SHF_ORDERED): New macros. |
(STT_REGISTER): New macro. |
(R_SPARC_GLOB_JMP): Deleted, but slot reserved. |
(R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations. |
(R_SPARC_{H44,M44,L44,REGISTER}): New relocations. |
(ELF64_R_TYPE_{DATA,ID,INFO}): New macros. |
Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com> |
* v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET. |
Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com> |
* v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET. |
Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com> |
* mips.h: Correct typo in comment. |
Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com> |
* v850.h (reloc_type): Remove R_V850_16_PCREL. |
Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com> |
* common.h: Remove magic number for V850E. |
* common.h: Remove magic number for V850EA. |
* v850.h: Add new flags for e_flags field in elf header. |
Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com> |
* common.h (EM_CYGNUS_V850E): backend magic number for v850e. |
* common.h (EM_CYGNUS_V850EA): backend magic number for v850ea. |
Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com> |
* v850.h (reloc_type): Add 16 bit PC relative relocation. |
Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com> |
* arc.h (enum reloc): Move here from elf32-arc.c. |
Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com> |
* arc.h: New file. |
* common.h (EM_CYGNUS_ARC): Define. |
Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com> |
* internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from |
bfd_signed_vma to bfd_size_type, as they are not signed. |
Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com> |
* m32r.h (SHF_M32R_CAN_RELAX): Define. |
Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com> |
* external.h: Dump the 32/64 bit specific forms of the version |
structures, and just define them as size independent. |
* common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define. |
Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com> |
* m32r.h (enum reloc_type): Add R_M32R_SDA16. |
(SHN_M32R_SCOMMON): Define. |
Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com> |
From Eric Youngdale <eric@andante.jic.com>: |
* external.h, internal.h, common.h: Added new structures and |
definitions for ELF versions. |
Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com> |
* common.h (EM_CYGNUS_D30V): Define. |
Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com> |
* m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16. |
Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com> |
* v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other |
field. |
(SHN_V850_*): Remove v850 specific section indexes, which are not |
needed. |
(enum reloc_type): Move the v850 relocations here from |
elf32-v850.c |
Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com> |
* v850.h: New file, provide V850 specific definitions. |
Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com> |
* common.h (DT_AUXILIARY): Define. |
(DT_FILTER): Define. |
Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com> |
* dwarf2.h: Update. |
Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com> |
* mips.h (STO_MIPS16): Define. |
Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
* d10v.h: Remove empty file. |
Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com> |
* mips.h (EF_MIPS_ABI2): Define. |
Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com) |
* common.h: Break mn10x00 support into mn10200 and mn10300. |
Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com) |
* common.h (EM_CYGNUS_MN10x00): Define. |
Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com> |
* m32r.h: New file. |
Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com> |
* common.h (EM_SH): Define. |
Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com> |
* common.h (EM_CYGNUS_V850): Define. |
Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com> |
* common.h (EM_CYGNUS_M32R): Define. |
Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com> |
* mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define. |
(SHT_MIPS_SYMBOL_LIB): Define. |
(SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define. |
(SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define. |
Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com> |
* dwarf2.h: New file. |
Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com> |
* common.h (EM_CYGNUS_D10V): Define. |
* d10v.h: New file. |
Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu> |
* alpha.h: New file. |
* common.h (EM_ALPHA): Define. |
Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com> |
* mips.h (Elf_External_Options, Elf_Internal_Options): Define. |
(bfd_mips_elf_swap_options_in): Declare. |
(bfd_mips_elf_swap_options_out): Declare. |
(ODK_*): Define. |
(Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define. |
(bfd_mips_elf64_swap_reginfo_in): Declare. |
(bfd_mips_elf64_swap_reginfo_out): Declare. |
Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com> |
* mips.h (E_MIPS_ARCH_4): Define. |
Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com> |
* mips.h (Elf64_Mips_External_Rel): Define. |
(Elf64_Mips_Internal_Rel): Define. |
(Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define. |
(RSS_*): Define. |
Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com> |
* sparc.h (R_SPARC_[56]): Always define. |
Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com> |
* sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22, |
PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS. |
Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com> |
* sparc.h (enum sparc_elf_reloc_type): Define. |
Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com> |
* common.h: Define EM_SPARC32PLUS. |
* sparc.h: New file. |
Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com> |
* ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi. |
Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com> |
* internal.h (struct elf_segment_map): Add includes_filehdr and |
includes_phdrs fields. |
Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com> |
* internal.h (struct elf_segment_map): Define. |
Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com> |
* common.h, dwarf.h, external.h, hppa.h, internal.h, |
mips.h, ppc.h: Protect against multiple inclusions. |
Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
* ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit. |
Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> |
* mips.h: Add some definitions used on Irix 5. |
Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu) |
* hppa.h (CPU_PA_RISC1_0): Protect from redefinitions. |
(CPU_PA_RISC1_1): Likewise. |
Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
* ppc.h: New file for PowerPC support. |
Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
* common.h (EM_PPC): Use offical value of 20, not 17. |
(EM_PPC_OLD): Define this to be the old value of EM_PPC. |
Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com> |
* common.h (EM_PPC): New macro, PowerPC machine id. |
Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> |
* mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define. |
Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> |
* internal.h (Elf_Internal_Shdr): Remove rawdata and size fields. |
Add bfd_section field. |
Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) |
* mips.h (Elf32_External_gptab): Define. |
Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu) |
* common.h (EM_HPPA): Delete. |
(EM_PARISC): Add. |
* hppa.h: New file. |
Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) |
* common.h (SHN_LORESERVE): Rename from SHN_LORESERV. |
(ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char. |
(ELF64_R_TYPE): Don't rely on size of unsigned long. |
Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) |
* internal.h (Elf_Internal_Shdr): Use PTR, not void *. |
Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) |
* mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define. |
Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) |
* internal.h: Remove Elf32_*, Elf64_* typedefs. These names |
cause conflicts with system headers, e.g. link.h in gdb/solib.c. |
Combine 32- and 64-bit versions of *_Internal_Dyn. |
* common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs |
by their expansion. |
* mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr |
typedefs by their expansion. Add DT_MIPS_RLD_MAP definition. |
Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) |
* common.h (EM_CYGNUS_POWERPC): Define. This may be temporary, |
depending upon how quickly I can find a real PowerPC ABI. |
Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) |
* internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT. |
Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) |
* common.h: Add comments regarding value of EM_HPPA and how to |
pick an unofficial value. |
Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) |
* mips.h (SHT_MIPS_OPTIONS): Define. |
Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) |
* mips.h: Added some more MIPS ABI macro definitions. |
Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com) |
* common.h (EM_MIPS_RS4_BE): New macro. |
Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com) |
* mips.h: New file. MIPS ABI specific information. |
Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) |
* internal.h: Combined 32- and 64-bit versions of all structures |
except *_Internal_Dyn. This will simply the assembler interface, |
and some bfd code. |
Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) |
* external.h, internal.h, common.h: Added 64-bit versions of some |
structures and macros. Renamed old versions to put "32" in the |
name. Some are unchanged. |
Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com) |
* common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros. |
* external.h (Elf_External_Dyn): New type. |
* internal.h (Elf_Intenral_Shdr): New field `size'. |
(Elf_Internal_Dyn): New type. |
Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com) |
* dwarf.h (LANG_CHILL): Change value to one randomly picked in |
the user defined range, to reduce probability of collisions. |
Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com) |
* dwarf.h (AT_src_coords): Whitespace change only. |
* dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2): |
Add from latest gcc. |
* dwarf.h (LANG_CHILL): Add as GNU extension. |
Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com) |
* dwarf.h: Replace with current version from gcc distribution. |
Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com) |
* internal.h: Add real struct tags to all the Type_Defs, so they |
can be used in prototypes where the Type_Defs are not known. |
Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com) |
* common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation |
info |
added EM_MIPS, and corrected value of EM_860 based on System V ABI |
manual. |
* external.h: added Elf_External_{Rel,Rela}. |
* internal.h: added Elf_Internal_{Rel,Rela}. |
added rawdata to Elf_Internal_Shdr. |
Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com) |
* common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from |
../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: |
/contrib/toolchain/binutils/include/elf/aarch64.h |
---|
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 */ |
/contrib/toolchain/binutils/include/elf/alpha.h |
---|
0,0 → 1,131 |
/* ALPHA ELF support for BFD. |
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 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 ALPHA ELF ABI. Note |
that most of this is not actually implemented by BFD. */ |
#ifndef _ELF_ALPHA_H |
#define _ELF_ALPHA_H |
/* Processor specific flags for the ELF header e_flags field. */ |
/* All addresses must be below 2GB. */ |
#define EF_ALPHA_32BIT 0x00000001 |
/* All relocations needed for relaxation with code movement are present. */ |
#define EF_ALPHA_CANRELAX 0x00000002 |
/* Processor specific section flags. */ |
/* This section must be in the global data area. */ |
#define SHF_ALPHA_GPREL 0x10000000 |
/* Section contains some sort of debugging information. The exact |
format is unspecified. It's probably ECOFF symbols. */ |
#define SHT_ALPHA_DEBUG 0x70000001 |
/* Section contains register usage information. */ |
#define SHT_ALPHA_REGINFO 0x70000002 |
/* A section of type SHT_MIPS_REGINFO contains the following |
structure. */ |
typedef struct |
{ |
/* Mask of general purpose registers used. */ |
unsigned long ri_gprmask; |
/* Mask of co-processor registers used. */ |
unsigned long ri_cprmask[4]; |
/* GP register value for this object file. */ |
long ri_gp_value; |
} Elf64_RegInfo; |
/* Special values for the st_other field in the symbol table. */ |
#define STO_ALPHA_NOPV 0x80 |
#define STO_ALPHA_STD_GPLOAD 0x88 |
/* Special values for Elf64_Dyn tag. */ |
#define DT_ALPHA_PLTRO DT_LOPROC |
#include "elf/reloc-macros.h" |
/* Alpha relocs. */ |
START_RELOC_NUMBERS (elf_alpha_reloc_type) |
RELOC_NUMBER (R_ALPHA_NONE, 0) /* No reloc */ |
RELOC_NUMBER (R_ALPHA_REFLONG, 1) /* Direct 32 bit */ |
RELOC_NUMBER (R_ALPHA_REFQUAD, 2) /* Direct 64 bit */ |
RELOC_NUMBER (R_ALPHA_GPREL32, 3) /* GP relative 32 bit */ |
RELOC_NUMBER (R_ALPHA_LITERAL, 4) /* GP relative 16 bit w/optimization */ |
RELOC_NUMBER (R_ALPHA_LITUSE, 5) /* Optimization hint for LITERAL */ |
RELOC_NUMBER (R_ALPHA_GPDISP, 6) /* Add displacement to GP */ |
RELOC_NUMBER (R_ALPHA_BRADDR, 7) /* PC+4 relative 23 bit shifted */ |
RELOC_NUMBER (R_ALPHA_HINT, 8) /* PC+4 relative 16 bit shifted */ |
RELOC_NUMBER (R_ALPHA_SREL16, 9) /* PC relative 16 bit */ |
RELOC_NUMBER (R_ALPHA_SREL32, 10) /* PC relative 32 bit */ |
RELOC_NUMBER (R_ALPHA_SREL64, 11) /* PC relative 64 bit */ |
/* Skip 12 - 16; deprecated ECOFF relocs. */ |
RELOC_NUMBER (R_ALPHA_GPRELHIGH, 17) /* GP relative 32 bit, high 16 bits */ |
RELOC_NUMBER (R_ALPHA_GPRELLOW, 18) /* GP relative 32 bit, low 16 bits */ |
RELOC_NUMBER (R_ALPHA_GPREL16, 19) /* GP relative 16 bit */ |
/* Skip 20 - 23; deprecated ECOFF relocs. */ |
/* These relocations are specific to shared libraries. */ |
RELOC_NUMBER (R_ALPHA_COPY, 24) /* Copy symbol at runtime */ |
RELOC_NUMBER (R_ALPHA_GLOB_DAT, 25) /* Create GOT entry */ |
RELOC_NUMBER (R_ALPHA_JMP_SLOT, 26) /* Create PLT entry */ |
RELOC_NUMBER (R_ALPHA_RELATIVE, 27) /* Adjust by program base */ |
/* Like BRADDR, but assert that the source and target object file |
share the same GP value, and adjust the target address for |
STO_ALPHA_STD_GPLOAD. */ |
RELOC_NUMBER (R_ALPHA_BRSGP, 28) |
/* Thread-Local Storage. */ |
RELOC_NUMBER (R_ALPHA_TLSGD, 29) |
RELOC_NUMBER (R_ALPHA_TLSLDM, 30) |
RELOC_NUMBER (R_ALPHA_DTPMOD64, 31) |
RELOC_NUMBER (R_ALPHA_GOTDTPREL, 32) |
RELOC_NUMBER (R_ALPHA_DTPREL64, 33) |
RELOC_NUMBER (R_ALPHA_DTPRELHI, 34) |
RELOC_NUMBER (R_ALPHA_DTPRELLO, 35) |
RELOC_NUMBER (R_ALPHA_DTPREL16, 36) |
RELOC_NUMBER (R_ALPHA_GOTTPREL, 37) |
RELOC_NUMBER (R_ALPHA_TPREL64, 38) |
RELOC_NUMBER (R_ALPHA_TPRELHI, 39) |
RELOC_NUMBER (R_ALPHA_TPRELLO, 40) |
RELOC_NUMBER (R_ALPHA_TPREL16, 41) |
END_RELOC_NUMBERS (R_ALPHA_max) |
#define LITUSE_ALPHA_ADDR 0 |
#define LITUSE_ALPHA_BASE 1 |
#define LITUSE_ALPHA_BYTOFF 2 |
#define LITUSE_ALPHA_JSR 3 |
#define LITUSE_ALPHA_TLSGD 4 |
#define LITUSE_ALPHA_TLSLDM 5 |
#define LITUSE_ALPHA_JSRDIRECT 6 |
#endif /* _ELF_ALPHA_H */ |
/contrib/toolchain/binutils/include/elf/arc.h |
---|
0,0 → 1,57 |
/* ARC ELF support for BFD. |
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 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 ARC ELF ABI. */ |
#ifndef _ELF_ARC_H |
#define _ELF_ARC_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_arc_reloc_type) |
RELOC_NUMBER (R_ARC_NONE, 0) |
RELOC_NUMBER (R_ARC_32, 1) |
RELOC_NUMBER (R_ARC_B26, 2) |
RELOC_NUMBER (R_ARC_B22_PCREL, 3) |
END_RELOC_NUMBERS (R_ARC_max) |
/* Processor specific flags for the ELF header e_flags field. */ |
/* Four bit ARC machine type field. */ |
#define EF_ARC_MACH 0x0000000f |
/* Various CPU types. */ |
#define E_ARC_MACH_ARC5 0 |
#define E_ARC_MACH_ARC6 1 |
#define E_ARC_MACH_ARC7 2 |
#define E_ARC_MACH_ARC8 3 |
/* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. */ |
/* File contains position independent code. */ |
#define EF_ARC_PIC 0x00000100 |
#endif /* _ELF_ARC_H */ |
/contrib/toolchain/binutils/include/elf/arm.h |
---|
0,0 → 1,344 |
/* ARM ELF support for BFD. |
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 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_ARM_H |
#define _ELF_ARM_H |
#include "elf/reloc-macros.h" |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_ARM_RELEXEC 0x01 |
#define EF_ARM_HASENTRY 0x02 |
#define EF_ARM_INTERWORK 0x04 |
#define EF_ARM_APCS_26 0x08 |
#define EF_ARM_APCS_FLOAT 0x10 |
#define EF_ARM_PIC 0x20 |
#define EF_ARM_ALIGN8 0x40 /* 8-bit structure alignment is in use. */ |
#define EF_ARM_NEW_ABI 0x80 |
#define EF_ARM_OLD_ABI 0x100 |
#define EF_ARM_SOFT_FLOAT 0x200 |
#define EF_ARM_VFP_FLOAT 0x400 |
#define EF_ARM_MAVERICK_FLOAT 0x800 |
/* Frame unwind information */ |
#define PT_ARM_EXIDX (PT_LOPROC + 1) |
/* Other constants defined in the ARM ELF spec. version B-01. */ |
#define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK. */ |
#define EF_ARM_DYNSYMSUSESEGIDX 0x08 /* NB conflicts with EF_APCS26. */ |
#define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT. */ |
#define EF_ARM_EABIMASK 0xFF000000 |
/* 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 |
#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK) |
#define EF_ARM_EABI_UNKNOWN 0x00000000 |
#define EF_ARM_EABI_VER1 0x01000000 |
#define EF_ARM_EABI_VER2 0x02000000 |
#define EF_ARM_EABI_VER3 0x03000000 |
#define EF_ARM_EABI_VER4 0x04000000 |
#define EF_ARM_EABI_VER5 0x05000000 |
/* Local aliases for some flags to match names used by COFF port. */ |
#define F_INTERWORK EF_ARM_INTERWORK |
#define F_APCS26 EF_ARM_APCS_26 |
#define F_APCS_FLOAT EF_ARM_APCS_FLOAT |
#define F_PIC EF_ARM_PIC |
#define F_SOFT_FLOAT EF_ARM_SOFT_FLOAT |
#define F_VFP_FLOAT EF_ARM_VFP_FLOAT |
/* Additional symbol types for Thumb. */ |
#define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ |
#define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ |
/* Additional section types. */ |
#define SHT_ARM_EXIDX 0x70000001 /* Section holds ARM unwind info. */ |
#define SHT_ARM_PREEMPTMAP 0x70000002 /* Section pre-emption details. */ |
#define SHT_ARM_ATTRIBUTES 0x70000003 /* Section holds attributes. */ |
#define SHT_ARM_DEBUGOVERLAY 0x70000004 /* Section holds overlay debug info. */ |
#define SHT_ARM_OVERLAYSECTION 0x70000005 /* Section holds GDB and overlay integration info. */ |
/* ARM-specific values for sh_flags. */ |
#define SHF_ENTRYSECT 0x10000000 /* Section contains an entry point. */ |
#define SHF_COMDEF 0x80000000 /* Section may be multiply defined in the input to a link step. */ |
/* ARM-specific program header flags. */ |
#define PF_ARM_SB 0x10000000 /* Segment contains the location addressed by the static base. */ |
#define PF_ARM_PI 0x20000000 /* Segment is position-independent. */ |
#define PF_ARM_ABS 0x40000000 /* Segment must be loaded at its base address. */ |
/* Values for the Tag_CPU_arch EABI attribute. */ |
#define TAG_CPU_ARCH_PRE_V4 0 |
#define TAG_CPU_ARCH_V4 1 |
#define TAG_CPU_ARCH_V4T 2 |
#define TAG_CPU_ARCH_V5T 3 |
#define TAG_CPU_ARCH_V5TE 4 |
#define TAG_CPU_ARCH_V5TEJ 5 |
#define TAG_CPU_ARCH_V6 6 |
#define TAG_CPU_ARCH_V6KZ 7 |
#define TAG_CPU_ARCH_V6T2 8 |
#define TAG_CPU_ARCH_V6K 9 |
#define TAG_CPU_ARCH_V7 10 |
#define TAG_CPU_ARCH_V6_M 11 |
#define TAG_CPU_ARCH_V6S_M 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) |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_arm_reloc_type) |
/* AAELF official names and numbers. */ |
RELOC_NUMBER (R_ARM_NONE, 0) |
RELOC_NUMBER (R_ARM_PC24, 1) /* deprecated */ |
RELOC_NUMBER (R_ARM_ABS32, 2) |
RELOC_NUMBER (R_ARM_REL32, 3) |
RELOC_NUMBER (R_ARM_LDR_PC_G0, 4) |
RELOC_NUMBER (R_ARM_ABS16, 5) |
RELOC_NUMBER (R_ARM_ABS12, 6) |
RELOC_NUMBER (R_ARM_THM_ABS5, 7) |
RELOC_NUMBER (R_ARM_ABS8, 8) |
RELOC_NUMBER (R_ARM_SBREL32, 9) |
RELOC_NUMBER (R_ARM_THM_CALL, 10) |
RELOC_NUMBER (R_ARM_THM_PC8, 11) |
RELOC_NUMBER (R_ARM_BREL_ADJ, 12) |
RELOC_NUMBER (R_ARM_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 */ |
RELOC_NUMBER (R_ARM_TLS_DTPMOD32, 17) |
RELOC_NUMBER (R_ARM_TLS_DTPOFF32, 18) |
RELOC_NUMBER (R_ARM_TLS_TPOFF32, 19) |
RELOC_NUMBER (R_ARM_COPY, 20) /* Copy symbol at runtime. */ |
RELOC_NUMBER (R_ARM_GLOB_DAT, 21) /* Create GOT entry. */ |
RELOC_NUMBER (R_ARM_JUMP_SLOT, 22) /* Create PLT entry. */ |
RELOC_NUMBER (R_ARM_RELATIVE, 23) /* Adjust by program base. */ |
RELOC_NUMBER (R_ARM_GOTOFF32, 24) /* 32 bit offset to GOT. */ |
RELOC_NUMBER (R_ARM_BASE_PREL, 25) /* 32 bit PC relative offset to GOT. */ |
RELOC_NUMBER (R_ARM_GOT_BREL, 26) /* 32 bit GOT entry. */ |
RELOC_NUMBER (R_ARM_PLT32, 27) /* deprecated - 32 bit PLT address. */ |
RELOC_NUMBER (R_ARM_CALL, 28) |
RELOC_NUMBER (R_ARM_JUMP24, 29) |
RELOC_NUMBER (R_ARM_THM_JUMP24, 30) |
RELOC_NUMBER (R_ARM_BASE_ABS, 31) |
RELOC_NUMBER (R_ARM_ALU_PCREL7_0, 32) /* obsolete */ |
RELOC_NUMBER (R_ARM_ALU_PCREL15_8, 33) /* obsolete */ |
RELOC_NUMBER (R_ARM_ALU_PCREL23_15, 34) /* obsolete */ |
RELOC_NUMBER (R_ARM_LDR_SBREL_11_0, 35) /* deprecated, should have _NC suffix */ |
RELOC_NUMBER (R_ARM_ALU_SBREL_19_12, 36) /* deprecated, should have _NC suffix */ |
RELOC_NUMBER (R_ARM_ALU_SBREL_27_20, 37) /* deprecated, should have _CK suffix */ |
RELOC_NUMBER (R_ARM_TARGET1, 38) |
RELOC_NUMBER (R_ARM_SBREL31, 39) /* deprecated */ |
RELOC_NUMBER (R_ARM_V4BX, 40) |
RELOC_NUMBER (R_ARM_TARGET2, 41) |
RELOC_NUMBER (R_ARM_PREL31, 42) |
RELOC_NUMBER (R_ARM_MOVW_ABS_NC, 43) |
RELOC_NUMBER (R_ARM_MOVT_ABS, 44) |
RELOC_NUMBER (R_ARM_MOVW_PREL_NC, 45) |
RELOC_NUMBER (R_ARM_MOVT_PREL, 46) |
RELOC_NUMBER (R_ARM_THM_MOVW_ABS_NC, 47) |
RELOC_NUMBER (R_ARM_THM_MOVT_ABS, 48) |
RELOC_NUMBER (R_ARM_THM_MOVW_PREL_NC, 49) |
RELOC_NUMBER (R_ARM_THM_MOVT_PREL, 50) |
RELOC_NUMBER (R_ARM_THM_JUMP19, 51) |
RELOC_NUMBER (R_ARM_THM_JUMP6, 52) |
RELOC_NUMBER (R_ARM_THM_ALU_PREL_11_0, 53) |
RELOC_NUMBER (R_ARM_THM_PC12, 54) |
RELOC_NUMBER (R_ARM_ABS32_NOI, 55) |
RELOC_NUMBER (R_ARM_REL32_NOI, 56) |
RELOC_NUMBER (R_ARM_ALU_PC_G0_NC, 57) |
RELOC_NUMBER (R_ARM_ALU_PC_G0, 58) |
RELOC_NUMBER (R_ARM_ALU_PC_G1_NC, 59) |
RELOC_NUMBER (R_ARM_ALU_PC_G1, 60) |
RELOC_NUMBER (R_ARM_ALU_PC_G2, 61) |
RELOC_NUMBER (R_ARM_LDR_PC_G1, 62) |
RELOC_NUMBER (R_ARM_LDR_PC_G2, 63) |
RELOC_NUMBER (R_ARM_LDRS_PC_G0, 64) |
RELOC_NUMBER (R_ARM_LDRS_PC_G1, 65) |
RELOC_NUMBER (R_ARM_LDRS_PC_G2, 66) |
RELOC_NUMBER (R_ARM_LDC_PC_G0, 67) |
RELOC_NUMBER (R_ARM_LDC_PC_G1, 68) |
RELOC_NUMBER (R_ARM_LDC_PC_G2, 69) |
RELOC_NUMBER (R_ARM_ALU_SB_G0_NC, 70) |
RELOC_NUMBER (R_ARM_ALU_SB_G0, 71) |
RELOC_NUMBER (R_ARM_ALU_SB_G1_NC, 72) |
RELOC_NUMBER (R_ARM_ALU_SB_G1, 73) |
RELOC_NUMBER (R_ARM_ALU_SB_G2, 74) |
RELOC_NUMBER (R_ARM_LDR_SB_G0, 75) |
RELOC_NUMBER (R_ARM_LDR_SB_G1, 76) |
RELOC_NUMBER (R_ARM_LDR_SB_G2, 77) |
RELOC_NUMBER (R_ARM_LDRS_SB_G0, 78) |
RELOC_NUMBER (R_ARM_LDRS_SB_G1, 79) |
RELOC_NUMBER (R_ARM_LDRS_SB_G2, 80) |
RELOC_NUMBER (R_ARM_LDC_SB_G0, 81) |
RELOC_NUMBER (R_ARM_LDC_SB_G1, 82) |
RELOC_NUMBER (R_ARM_LDC_SB_G2, 83) |
RELOC_NUMBER (R_ARM_MOVW_BREL_NC, 84) |
RELOC_NUMBER (R_ARM_MOVT_BREL, 85) |
RELOC_NUMBER (R_ARM_MOVW_BREL, 86) |
RELOC_NUMBER (R_ARM_THM_MOVW_BREL_NC, 87) |
RELOC_NUMBER (R_ARM_THM_MOVT_BREL, 88) |
RELOC_NUMBER (R_ARM_THM_MOVW_BREL, 89) |
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) |
RELOC_NUMBER (R_ARM_GOT_BREL12, 97) |
RELOC_NUMBER (R_ARM_GOTOFF12, 98) |
RELOC_NUMBER (R_ARM_GOTRELAX, 99) |
RELOC_NUMBER (R_ARM_GNU_VTENTRY, 100) /* deprecated - old C++ abi */ |
RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 101) /* deprecated - old C++ abi */ |
RELOC_NUMBER (R_ARM_THM_JUMP11, 102) |
RELOC_NUMBER (R_ARM_THM_JUMP8, 103) |
RELOC_NUMBER (R_ARM_TLS_GD32, 104) |
RELOC_NUMBER (R_ARM_TLS_LDM32, 105) |
RELOC_NUMBER (R_ARM_TLS_LDO32, 106) |
RELOC_NUMBER (R_ARM_TLS_IE32, 107) |
RELOC_NUMBER (R_ARM_TLS_LE32, 108) |
RELOC_NUMBER (R_ARM_TLS_LDO12, 109) |
RELOC_NUMBER (R_ARM_TLS_LE12, 110) |
RELOC_NUMBER (R_ARM_TLS_IE12GP, 111) |
/* 112 - 127 private range */ |
RELOC_NUMBER (R_ARM_ME_TOO, 128) /* obsolete */ |
RELOC_NUMBER (R_ARM_THM_TLS_DESCSEQ ,129) |
RELOC_NUMBER (R_ARM_IRELATIVE, 160) |
/* Extensions? R=read-only? */ |
RELOC_NUMBER (R_ARM_RXPC25, 249) |
RELOC_NUMBER (R_ARM_RSBREL32, 250) |
RELOC_NUMBER (R_ARM_THM_RPC22, 251) |
RELOC_NUMBER (R_ARM_RREL32, 252) |
RELOC_NUMBER (R_ARM_RABS32, 253) |
RELOC_NUMBER (R_ARM_RPC24, 254) |
RELOC_NUMBER (R_ARM_RBASE, 255) |
/* Unofficial names for some of the relocs. */ |
FAKE_RELOC (R_ARM_GOTOFF, R_ARM_GOTOFF32) /* 32 bit offset to GOT. */ |
FAKE_RELOC (R_ARM_THM_PC22, R_ARM_THM_CALL) |
FAKE_RELOC (R_ARM_THM_PC11, R_ARM_THM_JUMP11) |
FAKE_RELOC (R_ARM_THM_PC9, R_ARM_THM_JUMP8) |
/* Relocs with both a different name, and (apparently) different meaning in |
GNU usage. */ |
FAKE_RELOC (R_ARM_GOTPC, R_ARM_BASE_PREL) /* 32 bit PC relative offset to GOT. */ |
FAKE_RELOC (R_ARM_GOT32, R_ARM_GOT_BREL) /* 32 bit GOT entry. */ |
FAKE_RELOC (R_ARM_ROSEGREL32, R_ARM_SBREL31) /* ??? */ |
FAKE_RELOC (R_ARM_AMP_VCALL9, R_ARM_BREL_ADJ) /* Thumb-something. Not used. */ |
END_RELOC_NUMBERS (R_ARM_max = 256) |
#ifdef BFD_ARCH_SIZE |
/* EABI object attributes. */ |
enum |
{ |
/* 0-3 are generic. */ |
Tag_CPU_raw_name = 4, |
Tag_CPU_name, |
Tag_CPU_arch, |
Tag_CPU_arch_profile, |
Tag_ARM_ISA_use, |
Tag_THUMB_ISA_use, |
Tag_FP_arch, |
Tag_WMMX_arch, |
Tag_Advanced_SIMD_arch, |
Tag_PCS_config, |
Tag_ABI_PCS_R9_use, |
Tag_ABI_PCS_RW_data, |
Tag_ABI_PCS_RO_data, |
Tag_ABI_PCS_GOT_use, |
Tag_ABI_PCS_wchar_t, |
Tag_ABI_FP_rounding, |
Tag_ABI_FP_denormal, |
Tag_ABI_FP_exceptions, |
Tag_ABI_FP_user_exceptions, |
Tag_ABI_FP_number_model, |
Tag_ABI_align_needed, |
Tag_ABI_align_preserved, |
Tag_ABI_enum_size, |
Tag_ABI_HardFP_use, |
Tag_ABI_VFP_args, |
Tag_ABI_WMMX_args, |
Tag_ABI_optimization_goals, |
Tag_ABI_FP_optimization_goals, |
/* 32 is generic (Tag_compatibility). */ |
Tag_undefined33 = 33, |
Tag_CPU_unaligned_access, |
Tag_undefined35, |
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_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 |
/* The name of the note section used to identify arm variants. */ |
#define ARM_NOTE_SECTION ".note.gnu.arm.ident" |
/* Special section names. */ |
#define ELF_STRING_ARM_unwind ".ARM.exidx" |
#define ELF_STRING_ARM_unwind_info ".ARM.extab" |
#define ELF_STRING_ARM_unwind_once ".gnu.linkonce.armexidx." |
#define ELF_STRING_ARM_unwind_info_once ".gnu.linkonce.armextab." |
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 */ |
/contrib/toolchain/binutils/include/elf/avr.h |
---|
0,0 → 1,86 |
/* AVR ELF support for BFD. |
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 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_AVR_H |
#define _ELF_AVR_H |
#include "elf/reloc-macros.h" |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_AVR_MACH 0x7F |
/* If bit #7 is set, it is assumed that the elf file uses local symbols |
as reference for the relocations so that linker relaxation is possible. */ |
#define EF_AVR_LINKRELAX_PREPARED 0x80 |
#define E_AVR_MACH_AVR1 1 |
#define E_AVR_MACH_AVR2 2 |
#define E_AVR_MACH_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) |
RELOC_NUMBER (R_AVR_NONE, 0) |
RELOC_NUMBER (R_AVR_32, 1) |
RELOC_NUMBER (R_AVR_7_PCREL, 2) |
RELOC_NUMBER (R_AVR_13_PCREL, 3) |
RELOC_NUMBER (R_AVR_16, 4) |
RELOC_NUMBER (R_AVR_16_PM, 5) |
RELOC_NUMBER (R_AVR_LO8_LDI, 6) |
RELOC_NUMBER (R_AVR_HI8_LDI, 7) |
RELOC_NUMBER (R_AVR_HH8_LDI, 8) |
RELOC_NUMBER (R_AVR_LO8_LDI_NEG, 9) |
RELOC_NUMBER (R_AVR_HI8_LDI_NEG, 10) |
RELOC_NUMBER (R_AVR_HH8_LDI_NEG, 11) |
RELOC_NUMBER (R_AVR_LO8_LDI_PM, 12) |
RELOC_NUMBER (R_AVR_HI8_LDI_PM, 13) |
RELOC_NUMBER (R_AVR_HH8_LDI_PM, 14) |
RELOC_NUMBER (R_AVR_LO8_LDI_PM_NEG, 15) |
RELOC_NUMBER (R_AVR_HI8_LDI_PM_NEG, 16) |
RELOC_NUMBER (R_AVR_HH8_LDI_PM_NEG, 17) |
RELOC_NUMBER (R_AVR_CALL, 18) |
RELOC_NUMBER (R_AVR_LDI, 19) |
RELOC_NUMBER (R_AVR_6, 20) |
RELOC_NUMBER (R_AVR_6_ADIW, 21) |
RELOC_NUMBER (R_AVR_MS8_LDI, 22) |
RELOC_NUMBER (R_AVR_MS8_LDI_NEG, 23) |
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 */ |
/contrib/toolchain/binutils/include/elf/bfin.h |
---|
0,0 → 1,95 |
/* Blackfin ELF support for BFD. |
Copyright (C) 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 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_BFIN_H |
#define _ELF_BFIN_H |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (elf_bfin_reloc_type) |
RELOC_NUMBER (R_BFIN_UNUSED0, 0x00) /* relocation type 0 is not defined */ |
RELOC_NUMBER (R_BFIN_PCREL5M2, 0x01) /* LSETUP part a */ |
RELOC_NUMBER (R_BFIN_UNUSED1, 0x02) /* relocation type 2 is not defined */ |
RELOC_NUMBER (R_BFIN_PCREL10, 0x03) /* type 3, 0x00) if cc jump <target> */ |
RELOC_NUMBER (R_BFIN_PCREL12_JUMP, 0x04) /* type 4, 0x00) jump <target> */ |
RELOC_NUMBER (R_BFIN_RIMM16, 0x05) /* type 0x5, 0x00) rN = <target> */ |
RELOC_NUMBER (R_BFIN_LUIMM16, 0x06) /* # 0x6, 0x00) preg.l=<target> Load imm 16 to lower half */ |
RELOC_NUMBER (R_BFIN_HUIMM16, 0x07) /* # 0x7, 0x00) preg.h=<target> Load imm 16 to upper half */ |
RELOC_NUMBER (R_BFIN_PCREL12_JUMP_S, 0x08) /* # 0x8 jump.s <target> */ |
RELOC_NUMBER (R_BFIN_PCREL24_JUMP_X, 0x09) /* # 0x9 jump.x <target> */ |
RELOC_NUMBER (R_BFIN_PCREL24, 0x0a) /* # 0xa call <target> , 0x00) not expandable */ |
RELOC_NUMBER (R_BFIN_UNUSEDB, 0x0b) /* # 0xb not generated */ |
RELOC_NUMBER (R_BFIN_UNUSEDC, 0x0c) /* # 0xc not used */ |
RELOC_NUMBER (R_BFIN_PCREL24_JUMP_L, 0x0d) /* 0xd jump.l <target> */ |
RELOC_NUMBER (R_BFIN_PCREL24_CALL_X, 0x0e) /* 0xE, 0x00) call.x <target> if <target> is above 24 bit limit call through P1 */ |
RELOC_NUMBER (R_BFIN_VAR_EQ_SYMB, 0x0f) /* 0xf, 0x00) linker should treat it same as 0x12 */ |
RELOC_NUMBER (R_BFIN_BYTE_DATA, 0x10) /* 0x10, 0x00) .byte var = symbol */ |
RELOC_NUMBER (R_BFIN_BYTE2_DATA, 0x11) /* 0x11, 0x00) .byte2 var = symbol */ |
RELOC_NUMBER (R_BFIN_BYTE4_DATA, 0x12) /* 0x12, 0x00) .byte4 var = symbol and .var var=symbol */ |
RELOC_NUMBER (R_BFIN_PCREL11, 0x13) /* 0x13, 0x00) lsetup part b */ |
RELOC_NUMBER (R_BFIN_GOT17M4, 0x14) |
RELOC_NUMBER (R_BFIN_GOTHI, 0x15) |
RELOC_NUMBER (R_BFIN_GOTLO, 0x16) |
RELOC_NUMBER (R_BFIN_FUNCDESC, 0x17) |
RELOC_NUMBER (R_BFIN_FUNCDESC_GOT17M4, 0x18) |
RELOC_NUMBER (R_BFIN_FUNCDESC_GOTHI, 0x19) |
RELOC_NUMBER (R_BFIN_FUNCDESC_GOTLO, 0x1a) |
RELOC_NUMBER (R_BFIN_FUNCDESC_VALUE, 0x1b) |
RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFF17M4, 0x1c) |
RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFHI, 0x1d) |
RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFLO, 0x1e) |
RELOC_NUMBER (R_BFIN_GOTOFF17M4, 0x1f) |
RELOC_NUMBER (R_BFIN_GOTOFFHI, 0x20) |
RELOC_NUMBER (R_BFIN_GOTOFFLO, 0x21) |
RELOC_NUMBER (R_BFIN_PUSH, 0xE0) |
RELOC_NUMBER (R_BFIN_CONST, 0xE1) |
RELOC_NUMBER (R_BFIN_ADD, 0xE2) |
RELOC_NUMBER (R_BFIN_SUB, 0xE3) |
RELOC_NUMBER (R_BFIN_MULT, 0xE4) |
RELOC_NUMBER (R_BFIN_DIV, 0xE5) |
RELOC_NUMBER (R_BFIN_MOD, 0xE6) |
RELOC_NUMBER (R_BFIN_LSHIFT, 0xE7) |
RELOC_NUMBER (R_BFIN_RSHIFT, 0xE8) |
RELOC_NUMBER (R_BFIN_AND, 0xE9) |
RELOC_NUMBER (R_BFIN_OR, 0xEA) |
RELOC_NUMBER (R_BFIN_XOR, 0xEB) |
RELOC_NUMBER (R_BFIN_LAND, 0xEC) |
RELOC_NUMBER (R_BFIN_LOR, 0xED) |
RELOC_NUMBER (R_BFIN_LEN, 0xEE) |
RELOC_NUMBER (R_BFIN_NEG, 0xEF) |
RELOC_NUMBER (R_BFIN_COMP, 0xF0) |
RELOC_NUMBER (R_BFIN_PAGE, 0xF1) |
RELOC_NUMBER (R_BFIN_HWPAGE, 0xF2) |
RELOC_NUMBER (R_BFIN_ADDR, 0xF3) |
RELOC_NUMBER (R_BFIN_PLTPC, 0x40) /* PLT gnu only relocation */ |
RELOC_NUMBER (R_BFIN_GOT, 0x41) /* GOT gnu only relocation */ |
RELOC_NUMBER (R_BFIN_GNU_VTINHERIT, 0x42) /* C++, gnu only */ |
RELOC_NUMBER (R_BFIN_GNU_VTENTRY, 0x43) /* C++, gnu only */ |
END_RELOC_NUMBERS (R_BFIN_max) |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_BFIN_PIC 0x00000001 /* -fpic */ |
#define EF_BFIN_FDPIC 0x00000002 /* -mfdpic */ |
#define EF_BFIN_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 */ |
/contrib/toolchain/binutils/include/elf/common.h |
---|
0,0 → 1,1001 |
/* ELF support for BFD. |
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 |
Programming Support Tools". |
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 is part of ELF support for BFD, and contains the portions |
that are common to both the internal and external representations. |
For example, ELFMAG0 is the byte 0x7F in both the internal (in-memory) |
and external (in-file) representations. */ |
#ifndef _ELF_COMMON_H |
#define _ELF_COMMON_H |
/* Fields in e_ident[]. */ |
#define EI_MAG0 0 /* File identification byte 0 index */ |
#define ELFMAG0 0x7F /* Magic number byte 0 */ |
#define EI_MAG1 1 /* File identification byte 1 index */ |
#define ELFMAG1 'E' /* Magic number byte 1 */ |
#define EI_MAG2 2 /* File identification byte 2 index */ |
#define ELFMAG2 'L' /* Magic number byte 2 */ |
#define EI_MAG3 3 /* File identification byte 3 index */ |
#define ELFMAG3 'F' /* Magic number byte 3 */ |
#define EI_CLASS 4 /* File class */ |
#define ELFCLASSNONE 0 /* Invalid class */ |
#define ELFCLASS32 1 /* 32-bit objects */ |
#define ELFCLASS64 2 /* 64-bit objects */ |
#define EI_DATA 5 /* Data encoding */ |
#define ELFDATANONE 0 /* Invalid data encoding */ |
#define ELFDATA2LSB 1 /* 2's complement, little endian */ |
#define ELFDATA2MSB 2 /* 2's complement, big endian */ |
#define EI_VERSION 6 /* File version */ |
#define EI_OSABI 7 /* Operating System/ABI indication */ |
#define ELFOSABI_NONE 0 /* UNIX System V ABI */ |
#define ELFOSABI_HPUX 1 /* HP-UX operating system */ |
#define ELFOSABI_NETBSD 2 /* NetBSD */ |
#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 */ |
#define ELFOSABI_FREEBSD 9 /* FreeBSD */ |
#define ELFOSABI_TRU64 10 /* TRU64 UNIX */ |
#define ELFOSABI_MODESTO 11 /* Novell Modesto */ |
#define ELFOSABI_OPENBSD 12 /* OpenBSD */ |
#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 */ |
#define EI_ABIVERSION 8 /* ABI version */ |
#define EI_PAD 9 /* Start of padding bytes */ |
/* Values for e_type, which identifies the object file type. */ |
#define ET_NONE 0 /* No file type */ |
#define ET_REL 1 /* Relocatable file */ |
#define ET_EXEC 2 /* Executable file */ |
#define ET_DYN 3 /* Shared object file */ |
#define ET_CORE 4 /* Core file */ |
#define ET_LOOS 0xFE00 /* Operating system-specific */ |
#define ET_HIOS 0xFEFF /* Operating system-specific */ |
#define ET_LOPROC 0xFF00 /* Processor-specific */ |
#define ET_HIPROC 0xFFFF /* Processor-specific */ |
/* Values for e_machine, which identifies the architecture. These numbers |
are officially assigned by registry@sco.com. See below for a list of |
ad-hoc numbers used during initial development. */ |
#define EM_NONE 0 /* No machine */ |
#define EM_M32 1 /* AT&T WE 32100 */ |
#define EM_SPARC 2 /* SUN SPARC */ |
#define EM_386 3 /* Intel 80386 */ |
#define EM_68K 4 /* Motorola m68k family */ |
#define EM_88K 5 /* Motorola m88k family */ |
#define EM_486 6 /* Intel 80486 *//* Reserved for future use */ |
#define EM_860 7 /* Intel 80860 */ |
#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */ |
#define EM_S370 9 /* IBM System/370 */ |
#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian (Oct 4 1999 Draft) Deprecated */ |
#define EM_res011 11 /* Reserved */ |
#define EM_res012 12 /* Reserved */ |
#define EM_res013 13 /* Reserved */ |
#define EM_res014 14 /* Reserved */ |
#define EM_PARISC 15 /* HPPA */ |
#define EM_res016 16 /* Reserved */ |
#define EM_VPP550 17 /* Fujitsu VPP500 */ |
#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ |
#define EM_960 19 /* Intel 80960 */ |
#define EM_PPC 20 /* PowerPC */ |
#define EM_PPC64 21 /* 64-bit PowerPC */ |
#define EM_S390 22 /* IBM S/390 */ |
#define EM_SPU 23 /* Sony/Toshiba/IBM SPU */ |
#define EM_res024 24 /* Reserved */ |
#define EM_res025 25 /* Reserved */ |
#define EM_res026 26 /* Reserved */ |
#define EM_res027 27 /* Reserved */ |
#define EM_res028 28 /* Reserved */ |
#define EM_res029 29 /* Reserved */ |
#define EM_res030 30 /* Reserved */ |
#define EM_res031 31 /* Reserved */ |
#define EM_res032 32 /* Reserved */ |
#define EM_res033 33 /* Reserved */ |
#define EM_res034 34 /* Reserved */ |
#define EM_res035 35 /* Reserved */ |
#define EM_V800 36 /* NEC V800 series */ |
#define EM_FR20 37 /* Fujitsu FR20 */ |
#define EM_RH32 38 /* TRW RH32 */ |
#define EM_MCORE 39 /* Motorola M*Core */ /* May also be taken by Fujitsu MMA */ |
#define EM_RCE 39 /* Old name for MCore */ |
#define EM_ARM 40 /* ARM */ |
#define EM_OLD_ALPHA 41 /* Digital Alpha */ |
#define EM_SH 42 /* Renesas (formerly Hitachi) / SuperH SH */ |
#define EM_SPARCV9 43 /* SPARC v9 64-bit */ |
#define EM_TRICORE 44 /* Siemens Tricore embedded processor */ |
#define EM_ARC 45 /* ARC Cores */ |
#define EM_H8_300 46 /* Renesas (formerly Hitachi) H8/300 */ |
#define EM_H8_300H 47 /* Renesas (formerly Hitachi) H8/300H */ |
#define EM_H8S 48 /* Renesas (formerly Hitachi) H8S */ |
#define EM_H8_500 49 /* Renesas (formerly Hitachi) H8/500 */ |
#define EM_IA_64 50 /* Intel IA-64 Processor */ |
#define EM_MIPS_X 51 /* Stanford MIPS-X */ |
#define EM_COLDFIRE 52 /* Motorola Coldfire */ |
#define EM_68HC12 53 /* Motorola M68HC12 */ |
#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 microprocessor */ |
#define EM_STARCORE 58 /* Motorola Star*Core processor */ |
#define EM_ME16 59 /* Toyota ME16 processor */ |
#define EM_ST100 60 /* STMicroelectronics ST100 processor */ |
#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded processor */ |
#define EM_X86_64 62 /* Advanced Micro Devices X86-64 processor */ |
#define EM_PDSP 63 /* Sony DSP Processor */ |
#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */ |
#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */ |
#define EM_FX66 66 /* Siemens FX66 microcontroller */ |
#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 bit microcontroller */ |
#define EM_ST7 68 /* STMicroelectronics ST7 8-bit microcontroller */ |
#define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */ |
#define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */ |
#define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */ |
#define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */ |
#define EM_SVX 73 /* Silicon Graphics SVx */ |
#define EM_ST19 74 /* STMicroelectronics ST19 8-bit cpu */ |
#define EM_VAX 75 /* Digital VAX */ |
#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ |
#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded cpu */ |
#define EM_FIREPATH 78 /* Element 14 64-bit DSP processor */ |
#define EM_ZSP 79 /* LSI Logic's 16-bit DSP processor */ |
#define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */ |
#define EM_HUANY 81 /* Harvard's machine-independent format */ |
#define EM_PRISM 82 /* SiTera Prism */ |
#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */ |
#define EM_FR30 84 /* Fujitsu FR30 */ |
#define EM_D10V 85 /* Mitsubishi D10V */ |
#define EM_D30V 86 /* Mitsubishi D30V */ |
#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 */ |
#define EM_PJ 91 /* picoJava */ |
#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ |
#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ |
#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ |
#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */ |
#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */ |
#define EM_NS32K 97 /* National Semiconductor 32000 series */ |
#define EM_TPC 98 /* Tenor Network TPC processor */ |
#define EM_SNP1K 99 /* Trebia SNP 1000 processor */ |
#define EM_ST200 100 /* STMicroelectronics ST200 microcontroller */ |
#define EM_IP2K 101 /* Ubicom IP2022 micro controller */ |
#define EM_MAX 102 /* MAX Processor */ |
#define EM_CR 103 /* National Semiconductor CompactRISC */ |
#define EM_F2MC16 104 /* Fujitsu F2MC16 */ |
#define EM_MSP430 105 /* TI msp430 micro controller */ |
#define EM_BLACKFIN 106 /* ADI Blackfin */ |
#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */ |
#define EM_SEP 108 /* Sharp embedded microprocessor */ |
#define EM_ARCA 109 /* Arca RISC Microprocessor */ |
#define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University */ |
#define EM_EXCESS 111 /* eXcess: 16/32/64-bit configurable embedded CPU */ |
#define EM_DXP 112 /* Icera Semiconductor Inc. Deep Execution Processor */ |
#define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */ |
#define EM_CRX 114 /* National Semiconductor CRX */ |
#define EM_XGATE 115 /* Motorola XGATE embedded processor */ |
#define EM_C166 116 /* Infineon C16x/XC16x processor */ |
#define EM_M16C 117 /* Renesas M16C series microprocessors */ |
#define EM_DSPIC30F 118 /* Microchip Technology dsPIC30F Digital Signal Controller */ |
#define EM_CE 119 /* Freescale Communication Engine RISC core */ |
#define EM_M32C 120 /* Renesas M32C series microprocessors */ |
#define EM_res121 121 /* Reserved */ |
#define EM_res122 122 /* Reserved */ |
#define EM_res123 123 /* Reserved */ |
#define EM_res124 124 /* Reserved */ |
#define EM_res125 125 /* Reserved */ |
#define EM_res126 126 /* Reserved */ |
#define EM_res127 127 /* Reserved */ |
#define EM_res128 128 /* Reserved */ |
#define EM_res129 129 /* Reserved */ |
#define EM_res130 130 /* Reserved */ |
#define EM_TSK3000 131 /* Altium TSK3000 core */ |
#define EM_RS08 132 /* Freescale RS08 embedded processor */ |
#define EM_res133 133 /* Reserved */ |
#define EM_ECOG2 134 /* Cyan Technology eCOG2 microprocessor */ |
#define EM_SCORE 135 /* Sunplus Score */ |
#define EM_SCORE7 135 /* Sunplus S+core7 RISC processor */ |
#define EM_DSP24 136 /* New Japan Radio (NJR) 24-bit DSP Processor */ |
#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_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 */ |
#define EM_res146 146 /* Reserved */ |
#define EM_res147 147 /* Reserved */ |
#define EM_res148 148 /* Reserved */ |
#define EM_res149 149 /* Reserved */ |
#define EM_res150 150 /* Reserved */ |
#define EM_res151 151 /* Reserved */ |
#define EM_res152 152 /* Reserved */ |
#define EM_res153 153 /* Reserved */ |
#define EM_res154 154 /* Reserved */ |
#define EM_res155 155 /* Reserved */ |
#define EM_res156 156 /* Reserved */ |
#define EM_res157 157 /* Reserved */ |
#define EM_res158 158 /* Reserved */ |
#define EM_res159 159 /* Reserved */ |
#define EM_MMDSP_PLUS 160 /* STMicroelectronics 64bit VLIW Data Signal Processor */ |
#define EM_CYPRESS_M8C 161 /* Cypress M8C microprocessor */ |
#define EM_R32C 162 /* Renesas R32C series microprocessors */ |
#define EM_TRIMEDIA 163 /* NXP Semiconductors TriMedia architecture family */ |
#define EM_QDSP6 164 /* QUALCOMM DSP6 Processor */ |
#define EM_8051 165 /* Intel 8051 and variants */ |
#define EM_STXP7X 166 /* STMicroelectronics STxP7x family */ |
#define EM_NDS32 167 /* Andes Technology compact code size embedded RISC processor family */ |
#define EM_ECOG1 168 /* Cyan Technology eCOG1X family */ |
#define EM_ECOG1X 168 /* Cyan Technology eCOG1X family */ |
#define EM_MAXQ30 169 /* Dallas Semiconductor MAXQ30 Core Micro-controllers */ |
#define EM_XIMO16 170 /* New Japan Radio (NJR) 16-bit DSP Processor */ |
#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_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_K1OM 181 /* Intel K1OM */ |
#define EM_INTEL182 182 /* Reserved by Intel */ |
#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 |
with official or non-GNU unofficial values. |
NOTE: Do not just increment the most recent number by one. |
Somebody else somewhere will do exactly the same thing, and you |
will have a collision. Instead, pick a random number. |
Normally, each entity or maintainer responsible for a machine with an |
unofficial e_machine number should eventually ask registry@sco.com for |
an officially blessed number to be added to the list above. */ |
/* Old version of Sparc v9, from before the ABI; |
This should be removed shortly. */ |
#define EM_OLD_SPARCV9 11 |
/* Old version of PowerPC, this should be removed shortly. */ |
#define EM_PPC_OLD 17 |
/* picoJava */ |
#define EM_PJ_OLD 99 |
/* Old, unofficial value for National Semiconductor CompactRISC - CR16 */ |
#define EM_CR16_OLD 115 |
/* AVR magic number. Written in the absense of an ABI. */ |
#define EM_AVR_OLD 0x1057 |
/* MSP430 magic number. Written in the absense of everything. */ |
#define EM_MSP430_OLD 0x1059 |
/* Morpho MT. Written in the absense of an ABI. */ |
#define EM_MT 0x2530 |
/* FR30 magic number - no EABI available. */ |
#define EM_CYGNUS_FR30 0x3330 |
/* OpenRISC magic number. Written in the absense of an ABI. */ |
#define EM_OPENRISC_OLD 0x3426 |
/* DLX magic number. Written in the absense of an ABI. */ |
#define EM_DLX 0x5aa5 |
/* FRV magic number - no EABI available??. */ |
#define EM_CYGNUS_FRV 0x5441 |
/* Infineon Technologies 16-bit microcontroller with C166-V2 core. */ |
#define EM_XC16X 0x4688 |
/* D10V backend magic number. Written in the absence of an ABI. */ |
#define EM_CYGNUS_D10V 0x7650 |
/* D30V backend magic number. Written in the absence of an ABI. */ |
#define EM_CYGNUS_D30V 0x7676 |
/* Ubicom IP2xxx; Written in the absense of an ABI. */ |
#define EM_IP2K_OLD 0x8217 |
/* (Deprecated) Temporary number for the OpenRISC processor. */ |
#define EM_OR32 0x8472 |
/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ |
#define EM_CYGNUS_POWERPC 0x9025 |
/* Alpha backend magic number. Written in the absence of an ABI. */ |
#define EM_ALPHA 0x9026 |
/* Cygnus M32R ELF backend. Written in the absence of an ABI. */ |
#define EM_CYGNUS_M32R 0x9041 |
/* V850 backend magic number. Written in the absense of an ABI. */ |
#define EM_CYGNUS_V850 0x9080 |
/* old S/390 backend magic number. Written in the absence of an ABI. */ |
#define EM_S390_OLD 0xa390 |
/* Old, unofficial value for Xtensa. */ |
#define EM_XTENSA_OLD 0xabc7 |
#define EM_XSTORMY16 0xad45 |
/* mn10200 and mn10300 backend magic numbers. |
Written in the absense of an ABI. */ |
#define EM_CYGNUS_MN10300 0xbeef |
#define EM_CYGNUS_MN10200 0xdead |
/* Renesas M32C and M16C. */ |
#define EM_M32C_OLD 0xFEB0 |
/* Vitesse IQ2000. */ |
#define EM_IQ2000 0xFEBA |
/* NIOS magic number - no EABI available. */ |
#define EM_NIOS32 0xFEBB |
#define EM_CYGNUS_MEP 0xF00D /* Toshiba MeP */ |
#define EM_MOXIE 0xFEED /* Moxie */ |
/* Old Sunplus S+core7 backend magic number. Written in the absence of an ABI. */ |
#define EM_SCORE_OLD 95 |
#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. */ |
#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 */ |
#define PT_LOAD 1 /* Loadable program segment */ |
#define PT_DYNAMIC 2 /* Dynamic linking information */ |
#define PT_INTERP 3 /* Program interpreter */ |
#define PT_NOTE 4 /* Auxiliary information */ |
#define PT_SHLIB 5 /* Reserved, unspecified semantics */ |
#define PT_PHDR 6 /* Entry for header table itself */ |
#define PT_TLS 7 /* Thread local storage segment */ |
#define PT_LOOS 0x60000000 /* OS-specific */ |
#define PT_HIOS 0x6fffffff /* OS-specific */ |
#define PT_LOPROC 0x70000000 /* Processor-specific */ |
#define PT_HIPROC 0x7FFFFFFF /* Processor-specific */ |
#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550) /* Frame unwind information */ |
#define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */ |
#define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */ |
#define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */ |
/* Program segment permissions, in program header p_flags field. */ |
#define PF_X (1 << 0) /* Segment is executable */ |
#define PF_W (1 << 1) /* Segment is writable */ |
#define PF_R (1 << 2) /* Segment is readable */ |
/* #define PF_MASKOS 0x0F000000 *//* OS-specific reserved bits */ |
#define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */ |
#define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */ |
/* Values for section header, sh_type field. */ |
#define SHT_NULL 0 /* Section header table entry unused */ |
#define SHT_PROGBITS 1 /* Program specific (private) data */ |
#define SHT_SYMTAB 2 /* Link editing symbol table */ |
#define SHT_STRTAB 3 /* A string table */ |
#define SHT_RELA 4 /* Relocation entries with addends */ |
#define SHT_HASH 5 /* A symbol hash table */ |
#define SHT_DYNAMIC 6 /* Information for dynamic linking */ |
#define SHT_NOTE 7 /* Information that marks file */ |
#define SHT_NOBITS 8 /* Section occupies no space in file */ |
#define SHT_REL 9 /* Relocation entries, no addends */ |
#define SHT_SHLIB 10 /* Reserved, unspecified semantics */ |
#define SHT_DYNSYM 11 /* Dynamic linking symbol table */ |
#define SHT_INIT_ARRAY 14 /* Array of ptrs to init functions */ |
#define SHT_FINI_ARRAY 15 /* Array of ptrs to finish functions */ |
#define SHT_PREINIT_ARRAY 16 /* Array of ptrs to pre-init funcs */ |
#define SHT_GROUP 17 /* Section contains a section group */ |
#define SHT_SYMTAB_SHNDX 18 /* Indicies for SHN_XINDEX entries */ |
#define SHT_LOOS 0x60000000 /* First of OS specific semantics */ |
#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ |
#define SHT_GNU_INCREMENTAL_INPUTS 0x6fff4700 /* incremental build data */ |
#define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes */ |
#define SHT_GNU_HASH 0x6ffffff6 /* GNU style symbol hash table */ |
#define SHT_GNU_LIBLIST 0x6ffffff7 /* List of prelink dependencies */ |
/* The next three section types are defined by Solaris, and are named |
SHT_SUNW*. We use them in GNU code, so we also define SHT_GNU* |
versions. */ |
#define SHT_SUNW_verdef 0x6ffffffd /* Versions defined by file */ |
#define SHT_SUNW_verneed 0x6ffffffe /* Versions needed by file */ |
#define SHT_SUNW_versym 0x6fffffff /* Symbol versions */ |
#define SHT_GNU_verdef SHT_SUNW_verdef |
#define SHT_GNU_verneed SHT_SUNW_verneed |
#define SHT_GNU_versym SHT_SUNW_versym |
#define SHT_LOPROC 0x70000000 /* Processor-specific semantics, lo */ |
#define SHT_HIPROC 0x7FFFFFFF /* Processor-specific semantics, hi */ |
#define SHT_LOUSER 0x80000000 /* Application-specific semantics */ |
/* #define SHT_HIUSER 0x8FFFFFFF *//* Application-specific semantics */ |
#define SHT_HIUSER 0xFFFFFFFF /* New value, defined in Oct 4, 1999 Draft */ |
/* Values for section header, sh_flags field. */ |
#define SHF_WRITE (1 << 0) /* Writable data during execution */ |
#define SHF_ALLOC (1 << 1) /* Occupies memory during execution */ |
#define SHF_EXECINSTR (1 << 2) /* Executable machine instructions */ |
#define SHF_MERGE (1 << 4) /* Data in this section can be merged */ |
#define SHF_STRINGS (1 << 5) /* Contains null terminated character strings */ |
#define SHF_INFO_LINK (1 << 6) /* sh_info holds section header table index */ |
#define SHF_LINK_ORDER (1 << 7) /* Preserve section ordering when linking */ |
#define SHF_OS_NONCONFORMING (1 << 8) /* OS specific processing required */ |
#define SHF_GROUP (1 << 9) /* Member of a section group */ |
#define SHF_TLS (1 << 10) /* Thread local storage section */ |
/* #define SHF_MASKOS 0x0F000000 *//* OS-specific semantics */ |
#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 */ |
#define NT_FPREGSET 2 /* Contains copy of fpregset struct */ |
#define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */ |
#define NT_TASKSTRUCT 4 /* Contains copy of task struct */ |
#define NT_AUXV 6 /* Contains copy of Elfxx_auxv_t */ |
#define NT_PRXFPREG 0x46e62b7f /* Contains a user_xfpregs_struct; */ |
/* note name must be "LINUX". */ |
#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ |
/* note name must be "LINUX". */ |
#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. */ |
#define NT_PSTATUS 10 /* Has a struct pstatus */ |
#define NT_FPREGS 12 /* Has a struct fpregset */ |
#define NT_PSINFO 13 /* Has a struct psinfo */ |
#define NT_LWPSTATUS 16 /* Has a struct lwpstatus_t */ |
#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". */ |
#define NT_NETBSDCORE_PROCINFO 1 /* Has a struct procinfo */ |
#define NT_NETBSDCORE_FIRSTMACH 32 /* start of machdep note types */ |
/* Note segments for core files on OpenBSD systems. Note name is |
"OpenBSD". */ |
#define NT_OPENBSD_PROCINFO 10 |
#define NT_OPENBSD_AUXV 11 |
#define NT_OPENBSD_REGS 20 |
#define NT_OPENBSD_FPREGS 21 |
#define NT_OPENBSD_XFPREGS 22 |
#define NT_OPENBSD_WCOOKIE 23 |
/* Note segments for core files on SPU systems. Note name |
must start with "SPU/". */ |
#define NT_SPU 1 |
/* Values of note segment descriptor types for object files. */ |
#define NT_VERSION 1 /* Contains a version string. */ |
#define NT_ARCH 2 /* Contains an architecture string. */ |
/* Values for notes in non-core files using name "GNU". */ |
#define NT_GNU_ABI_TAG 1 |
#define NT_GNU_HWCAP 2 /* Used by ld.so and kernel vDSO. */ |
#define NT_GNU_BUILD_ID 3 /* Generated by ld --build-id. */ |
#define NT_GNU_GOLD_VERSION 4 /* Generated by gold. */ |
/* Values used in GNU .note.ABI-tag notes (NT_GNU_ABI_TAG). */ |
#define GNU_ABI_TAG_LINUX 0 |
#define GNU_ABI_TAG_HURD 1 |
#define GNU_ABI_TAG_SOLARIS 2 |
#define GNU_ABI_TAG_FREEBSD 3 |
#define GNU_ABI_TAG_NETBSD 4 |
/* Values for NetBSD .note.netbsd.ident notes. Note name is "NetBSD". */ |
#define NT_NETBSD_IDENT 1 |
/* Values for OpenBSD .note.openbsd.ident notes. Note name is "OpenBSD". */ |
#define NT_OPENBSD_IDENT 1 |
/* Values for FreeBSD .note.ABI-tag notes. Note name is "FreeBSD". */ |
#define NT_FREEBSD_ABI_TAG 1 |
/* These three macros disassemble and assemble a symbol table st_info field, |
which contains the symbol binding and symbol type. The STB_ and STT_ |
defines identify the binding and type. */ |
#define ELF_ST_BIND(val) (((unsigned int)(val)) >> 4) |
#define ELF_ST_TYPE(val) ((val) & 0xF) |
#define ELF_ST_INFO(bind,type) (((bind) << 4) + ((type) & 0xF)) |
/* The 64bit and 32bit versions of these macros are identical, but |
the ELF spec defines them, so here they are. */ |
#define ELF32_ST_BIND ELF_ST_BIND |
#define ELF32_ST_TYPE ELF_ST_TYPE |
#define ELF32_ST_INFO ELF_ST_INFO |
#define ELF64_ST_BIND ELF_ST_BIND |
#define ELF64_ST_TYPE ELF_ST_TYPE |
#define ELF64_ST_INFO ELF_ST_INFO |
/* This macro disassembles and assembles a symbol's visibility into |
the st_other field. The STV_ defines specify the actual visibility. */ |
#define ELF_ST_VISIBILITY(v) ((v) & 0x3) |
/* The remaining bits in the st_other field are not currently used. |
They should be set to zero. */ |
#define ELF32_ST_VISIBILITY ELF_ST_VISIBILITY |
#define ELF64_ST_VISIBILITY ELF_ST_VISIBILITY |
#define STN_UNDEF 0 /* Undefined symbol index */ |
#define STB_LOCAL 0 /* Symbol not visible outside obj */ |
#define STB_GLOBAL 1 /* Symbol visible outside obj */ |
#define STB_WEAK 2 /* Like globals, lower precedence */ |
#define STB_LOOS 10 /* OS-specific semantics */ |
#define STB_GNU_UNIQUE 10 /* Symbol is unique in namespace */ |
#define STB_HIOS 12 /* OS-specific semantics */ |
#define STB_LOPROC 13 /* Processor-specific semantics */ |
#define STB_HIPROC 15 /* Processor-specific semantics */ |
#define STT_NOTYPE 0 /* Symbol type is unspecified */ |
#define STT_OBJECT 1 /* Symbol is a data object */ |
#define STT_FUNC 2 /* Symbol is a code object */ |
#define STT_SECTION 3 /* Symbol associated with a section */ |
#define STT_FILE 4 /* Symbol gives a file name */ |
#define STT_COMMON 5 /* An uninitialised common block */ |
#define STT_TLS 6 /* Thread local data object */ |
#define STT_RELC 8 /* Complex relocation expression */ |
#define STT_SRELC 9 /* Signed Complex relocation expression */ |
#define STT_LOOS 10 /* OS-specific semantics */ |
#define STT_GNU_IFUNC 10 /* Symbol is an indirect code object */ |
#define STT_HIOS 12 /* OS-specific semantics */ |
#define STT_LOPROC 13 /* Processor-specific semantics */ |
#define STT_HIPROC 15 /* Processor-specific semantics */ |
/* The following constants control how a symbol may be accessed once it has |
become part of an executable or shared library. */ |
#define STV_DEFAULT 0 /* Visibility is specified by binding type */ |
#define STV_INTERNAL 1 /* OS specific version of STV_HIDDEN */ |
#define STV_HIDDEN 2 /* Can only be seen inside currect component */ |
#define STV_PROTECTED 3 /* Treat as STB_LOCAL inside current component */ |
/* Relocation info handling macros. */ |
#define ELF32_R_SYM(i) ((i) >> 8) |
#define ELF32_R_TYPE(i) ((i) & 0xff) |
#define ELF32_R_INFO(s,t) (((s) << 8) + ((t) & 0xff)) |
#define ELF64_R_SYM(i) ((i) >> 32) |
#define ELF64_R_TYPE(i) ((i) & 0xffffffff) |
#define ELF64_R_INFO(s,t) (((bfd_vma) (s) << 31 << 1) + (bfd_vma) (t)) |
/* Dynamic section tags. */ |
#define DT_NULL 0 |
#define DT_NEEDED 1 |
#define DT_PLTRELSZ 2 |
#define DT_PLTGOT 3 |
#define DT_HASH 4 |
#define DT_STRTAB 5 |
#define DT_SYMTAB 6 |
#define DT_RELA 7 |
#define DT_RELASZ 8 |
#define DT_RELAENT 9 |
#define DT_STRSZ 10 |
#define DT_SYMENT 11 |
#define DT_INIT 12 |
#define DT_FINI 13 |
#define DT_SONAME 14 |
#define DT_RPATH 15 |
#define DT_SYMBOLIC 16 |
#define DT_REL 17 |
#define DT_RELSZ 18 |
#define DT_RELENT 19 |
#define DT_PLTREL 20 |
#define DT_DEBUG 21 |
#define DT_TEXTREL 22 |
#define DT_JMPREL 23 |
#define DT_BIND_NOW 24 |
#define DT_INIT_ARRAY 25 |
#define DT_FINI_ARRAY 26 |
#define DT_INIT_ARRAYSZ 27 |
#define DT_FINI_ARRAYSZ 28 |
#define DT_RUNPATH 29 |
#define DT_FLAGS 30 |
#define DT_ENCODING 32 |
#define DT_PREINIT_ARRAY 32 |
#define DT_PREINIT_ARRAYSZ 33 |
/* Note, the Oct 4, 1999 draft of the ELF ABI changed the values |
for DT_LOOS and DT_HIOS. Some implementations however, use |
values outside of the new range (see below). */ |
#define OLD_DT_LOOS 0x60000000 |
#define DT_LOOS 0x6000000d |
#define DT_HIOS 0x6ffff000 |
#define OLD_DT_HIOS 0x6fffffff |
#define DT_LOPROC 0x70000000 |
#define DT_HIPROC 0x7fffffff |
/* The next 2 dynamic tag ranges, integer value range (DT_VALRNGLO to |
DT_VALRNGHI) and virtual address range (DT_ADDRRNGLO to DT_ADDRRNGHI), |
are used on Solaris. We support them everywhere. Note these values |
lie outside of the (new) range for OS specific values. This is a |
deliberate special case and we maintain it for backwards compatability. |
*/ |
#define DT_VALRNGLO 0x6ffffd00 |
#define DT_GNU_PRELINKED 0x6ffffdf5 |
#define DT_GNU_CONFLICTSZ 0x6ffffdf6 |
#define DT_GNU_LIBLISTSZ 0x6ffffdf7 |
#define DT_CHECKSUM 0x6ffffdf8 |
#define DT_PLTPADSZ 0x6ffffdf9 |
#define DT_MOVEENT 0x6ffffdfa |
#define DT_MOVESZ 0x6ffffdfb |
#define DT_FEATURE 0x6ffffdfc |
#define DT_POSFLAG_1 0x6ffffdfd |
#define DT_SYMINSZ 0x6ffffdfe |
#define DT_SYMINENT 0x6ffffdff |
#define DT_VALRNGHI 0x6ffffdff |
#define DT_ADDRRNGLO 0x6ffffe00 |
#define DT_GNU_HASH 0x6ffffef5 |
#define DT_TLSDESC_PLT 0x6ffffef6 |
#define DT_TLSDESC_GOT 0x6ffffef7 |
#define DT_GNU_CONFLICT 0x6ffffef8 |
#define DT_GNU_LIBLIST 0x6ffffef9 |
#define DT_CONFIG 0x6ffffefa |
#define DT_DEPAUDIT 0x6ffffefb |
#define DT_AUDIT 0x6ffffefc |
#define DT_PLTPAD 0x6ffffefd |
#define DT_MOVETAB 0x6ffffefe |
#define DT_SYMINFO 0x6ffffeff |
#define DT_ADDRRNGHI 0x6ffffeff |
#define DT_RELACOUNT 0x6ffffff9 |
#define DT_RELCOUNT 0x6ffffffa |
#define DT_FLAGS_1 0x6ffffffb |
#define DT_VERDEF 0x6ffffffc |
#define DT_VERDEFNUM 0x6ffffffd |
#define DT_VERNEED 0x6ffffffe |
#define DT_VERNEEDNUM 0x6fffffff |
/* This tag is a GNU extension to the Solaris version scheme. */ |
#define DT_VERSYM 0x6ffffff0 |
#define DT_LOPROC 0x70000000 |
#define DT_HIPROC 0x7fffffff |
/* These section tags are used on Solaris. We support them |
everywhere, and hope they do not conflict. */ |
#define DT_AUXILIARY 0x7ffffffd |
#define DT_USED 0x7ffffffe |
#define DT_FILTER 0x7fffffff |
/* Values used in DT_FEATURE .dynamic entry. */ |
#define DTF_1_PARINIT 0x00000001 |
/* From |
http://docs.sun.com:80/ab2/coll.45.13/LLM/@Ab2PageView/21165?Ab2Lang=C&Ab2Enc=iso-8859-1 |
DTF_1_CONFEXP is the same as DTF_1_PARINIT. It is a typo. The value |
defined here is the same as the one in <sys/link.h> on Solaris 8. */ |
#define DTF_1_CONFEXP 0x00000002 |
/* Flag values used in the DT_POSFLAG_1 .dynamic entry. */ |
#define DF_P1_LAZYLOAD 0x00000001 |
#define DF_P1_GROUPPERM 0x00000002 |
/* Flag value in in the DT_FLAGS_1 .dynamic entry. */ |
#define DF_1_NOW 0x00000001 |
#define DF_1_GLOBAL 0x00000002 |
#define DF_1_GROUP 0x00000004 |
#define DF_1_NODELETE 0x00000008 |
#define DF_1_LOADFLTR 0x00000010 |
#define DF_1_INITFIRST 0x00000020 |
#define DF_1_NOOPEN 0x00000040 |
#define DF_1_ORIGIN 0x00000080 |
#define DF_1_DIRECT 0x00000100 |
#define DF_1_TRANS 0x00000200 |
#define DF_1_INTERPOSE 0x00000400 |
#define DF_1_NODEFLIB 0x00000800 |
#define DF_1_NODUMP 0x00001000 |
#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) |
#define DF_SYMBOLIC (1 << 1) |
#define DF_TEXTREL (1 << 2) |
#define DF_BIND_NOW (1 << 3) |
#define DF_STATIC_TLS (1 << 4) |
/* These constants are used for the version number of a Elf32_Verdef |
structure. */ |
#define VER_DEF_NONE 0 |
#define VER_DEF_CURRENT 1 |
/* These constants appear in the vd_flags field of a Elf32_Verdef |
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. */ |
#define VER_NDX_LOCAL 0 |
#define VER_NDX_GLOBAL 1 |
/* These constants are used for the version number of a Elf32_Verneed |
structure. */ |
#define VER_NEED_NONE 0 |
#define VER_NEED_CURRENT 1 |
/* This flag appears in a Versym structure. It means that the symbol |
is hidden, and is only visible with an explicit version number. |
This is a GNU extension. */ |
#define VERSYM_HIDDEN 0x8000 |
/* This is the mask for the rest of the Versym information. */ |
#define VERSYM_VERSION 0x7fff |
/* This is a special token which appears as part of a symbol name. It |
indictes that the rest of the name is actually the name of a |
version node, and is not part of the actual name. This is a GNU |
extension. For example, the symbol name `stat@ver2' is taken to |
mean the symbol `stat' in version `ver2'. */ |
#define ELF_VER_CHR '@' |
/* Possible values for si_boundto. */ |
#define SYMINFO_BT_SELF 0xffff /* Symbol bound to self */ |
#define SYMINFO_BT_PARENT 0xfffe /* Symbol bound to parent */ |
#define SYMINFO_BT_LOWRESERVE 0xff00 /* Beginning of reserved entries */ |
/* Possible bitmasks for si_flags. */ |
#define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */ |
#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-thru symbol for translator */ |
#define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */ |
#define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy loaded */ |
/* Syminfo version values. */ |
#define SYMINFO_NONE 0 |
#define SYMINFO_CURRENT 1 |
#define SYMINFO_NUM 2 |
/* Section Group Flags. */ |
#define GRP_COMDAT 0x1 /* A COMDAT group */ |
/* Auxv a_type values. */ |
#define AT_NULL 0 /* End of vector */ |
#define AT_IGNORE 1 /* Entry should be ignored */ |
#define AT_EXECFD 2 /* File descriptor of program */ |
#define AT_PHDR 3 /* Program headers for program */ |
#define AT_PHENT 4 /* Size of program header entry */ |
#define AT_PHNUM 5 /* Number of program headers */ |
#define AT_PAGESZ 6 /* System page size */ |
#define AT_BASE 7 /* Base address of interpreter */ |
#define AT_FLAGS 8 /* Flags */ |
#define AT_ENTRY 9 /* Entry point of program */ |
#define AT_NOTELF 10 /* Program is not ELF */ |
#define AT_UID 11 /* Real uid */ |
#define AT_EUID 12 /* Effective uid */ |
#define AT_GID 13 /* Real gid */ |
#define AT_EGID 14 /* Effective gid */ |
#define AT_CLKTCK 17 /* Frequency of times() */ |
#define AT_PLATFORM 15 /* String identifying platform. */ |
#define AT_HWCAP 16 /* Machine dependent hints about |
processor capabilities. */ |
#define AT_FPUCW 18 /* Used FPU control word. */ |
#define AT_DCACHEBSIZE 19 /* Data cache block size. */ |
#define AT_ICACHEBSIZE 20 /* Instruction cache block size. */ |
#define AT_UCACHEBSIZE 21 /* Unified cache block size. */ |
#define AT_IGNOREPPC 22 /* Entry should be ignored */ |
#define AT_SECURE 23 /* Boolean, was exec setuid-like? */ |
#define AT_BASE_PLATFORM 24 /* String identifying real platform, |
may differ from AT_PLATFORM. */ |
#define AT_RANDOM 25 /* Address of 16 random bytes. */ |
#define AT_EXECFN 31 /* Filename of executable. */ |
/* Pointer to the global system page used for system calls and other |
nice things. */ |
#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. */ |
#define AT_SUN_RGID 2003 /* Real group ID. */ |
#define AT_SUN_LDELF 2004 /* Dynamic linker's ELF header. */ |
#define AT_SUN_LDSHDR 2005 /* Dynamic linker's section headers. */ |
#define AT_SUN_LDNAME 2006 /* String giving name of dynamic linker. */ |
#define AT_SUN_LPAGESZ 2007 /* Large pagesize. */ |
#define AT_SUN_PLATFORM 2008 /* Platform name string. */ |
#define AT_SUN_HWCAP 2009 /* Machine dependent hints about |
processor capabilities. */ |
#define AT_SUN_IFLUSH 2010 /* Should flush icache? */ |
#define AT_SUN_CPU 2011 /* CPU name string. */ |
#define AT_SUN_EMUL_ENTRY 2012 /* COFF entry point address. */ |
#define AT_SUN_EMUL_EXECFD 2013 /* COFF executable file descriptor. */ |
#define AT_SUN_EXECNAME 2014 /* Canonicalized file name given to execve. */ |
#define AT_SUN_MMU 2015 /* String for name of MMU module. */ |
#define AT_SUN_LDDATA 2016 /* Dynamic linker's data segment address. */ |
#define AT_SUN_AUXFLAGS 2017 /* AF_SUN_ flags passed from the kernel. */ |
#endif /* _ELF_COMMON_H */ |
/contrib/toolchain/binutils/include/elf/cr16.h |
---|
0,0 → 1,62 |
/* CR16 ELF support for BFD. |
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 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_CR16_H |
#define _ELF_CR16_H |
#include "elf/reloc-macros.h" |
/* Creating indices for reloc_map_index array. */ |
START_RELOC_NUMBERS(elf_cr16_reloc_type) |
RELOC_NUMBER (R_CR16_NONE, 0) |
RELOC_NUMBER (R_CR16_NUM8, 1) |
RELOC_NUMBER (R_CR16_NUM16, 2) |
RELOC_NUMBER (R_CR16_NUM32, 3) |
RELOC_NUMBER (R_CR16_NUM32a, 4) |
RELOC_NUMBER (R_CR16_REGREL4, 5) |
RELOC_NUMBER (R_CR16_REGREL4a, 6) |
RELOC_NUMBER (R_CR16_REGREL14, 7) |
RELOC_NUMBER (R_CR16_REGREL14a, 8) |
RELOC_NUMBER (R_CR16_REGREL16, 9) |
RELOC_NUMBER (R_CR16_REGREL20, 10) |
RELOC_NUMBER (R_CR16_REGREL20a, 11) |
RELOC_NUMBER (R_CR16_ABS20, 12) |
RELOC_NUMBER (R_CR16_ABS24, 13) |
RELOC_NUMBER (R_CR16_IMM4, 14) |
RELOC_NUMBER (R_CR16_IMM8, 15) |
RELOC_NUMBER (R_CR16_IMM16, 16) |
RELOC_NUMBER (R_CR16_IMM20, 17) |
RELOC_NUMBER (R_CR16_IMM24, 18) |
RELOC_NUMBER (R_CR16_IMM32, 19) |
RELOC_NUMBER (R_CR16_IMM32a, 20) |
RELOC_NUMBER (R_CR16_DISP4, 21) |
RELOC_NUMBER (R_CR16_DISP8, 22) |
RELOC_NUMBER (R_CR16_DISP16, 23) |
RELOC_NUMBER (R_CR16_DISP24, 24) |
RELOC_NUMBER (R_CR16_DISP24a, 25) |
RELOC_NUMBER (R_CR16_SWITCH8, 26) |
RELOC_NUMBER (R_CR16_SWITCH16, 27) |
RELOC_NUMBER (R_CR16_SWITCH32, 28) |
RELOC_NUMBER (R_CR16_GOT_REGREL20, 29) |
RELOC_NUMBER (R_CR16_GOTC_REGREL20, 30) |
RELOC_NUMBER (R_CR16_GLOB_DAT, 31) |
END_RELOC_NUMBERS(R_CR16_MAX) |
#endif /* _ELF_CR16_H */ |
/contrib/toolchain/binutils/include/elf/cr16c.h |
---|
0,0 → 1,258 |
/* CR16C ELF support for BFD. |
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 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_CR16C_H |
#define _ELF_CR16C_H |
#include "bfd.h" |
#include "elf/reloc-macros.h" |
/* Creating indices for reloc_map_index array. */ |
START_RELOC_NUMBERS (elf_cr16c_reloc_type) |
RELOC_NUMBER (RINDEX_16C_NUM08, 0) |
RELOC_NUMBER (RINDEX_16C_NUM08_C, 1) |
RELOC_NUMBER (RINDEX_16C_NUM16, 2) |
RELOC_NUMBER (RINDEX_16C_NUM16_C, 3) |
RELOC_NUMBER (RINDEX_16C_NUM32, 4) |
RELOC_NUMBER (RINDEX_16C_NUM32_C, 5) |
RELOC_NUMBER (RINDEX_16C_DISP04, 6) |
RELOC_NUMBER (RINDEX_16C_DISP04_C, 7) |
RELOC_NUMBER (RINDEX_16C_DISP08, 8) |
RELOC_NUMBER (RINDEX_16C_DISP08_C, 9) |
RELOC_NUMBER (RINDEX_16C_DISP16, 10) |
RELOC_NUMBER (RINDEX_16C_DISP16_C, 11) |
RELOC_NUMBER (RINDEX_16C_DISP24, 12) |
RELOC_NUMBER (RINDEX_16C_DISP24_C, 13) |
RELOC_NUMBER (RINDEX_16C_DISP24a, 14) |
RELOC_NUMBER (RINDEX_16C_DISP24a_C, 15) |
RELOC_NUMBER (RINDEX_16C_REG04, 16) |
RELOC_NUMBER (RINDEX_16C_REG04_C, 17) |
RELOC_NUMBER (RINDEX_16C_REG04a, 18) |
RELOC_NUMBER (RINDEX_16C_REG04a_C, 19) |
RELOC_NUMBER (RINDEX_16C_REG14, 20) |
RELOC_NUMBER (RINDEX_16C_REG14_C, 21) |
RELOC_NUMBER (RINDEX_16C_REG16, 22) |
RELOC_NUMBER (RINDEX_16C_REG16_C, 23) |
RELOC_NUMBER (RINDEX_16C_REG20, 24) |
RELOC_NUMBER (RINDEX_16C_REG20_C, 25) |
RELOC_NUMBER (RINDEX_16C_ABS20, 26) |
RELOC_NUMBER (RINDEX_16C_ABS20_C, 27) |
RELOC_NUMBER (RINDEX_16C_ABS24, 28) |
RELOC_NUMBER (RINDEX_16C_ABS24_C, 29) |
RELOC_NUMBER (RINDEX_16C_IMM04, 30) |
RELOC_NUMBER (RINDEX_16C_IMM04_C, 31) |
RELOC_NUMBER (RINDEX_16C_IMM16, 32) |
RELOC_NUMBER (RINDEX_16C_IMM16_C, 33) |
RELOC_NUMBER (RINDEX_16C_IMM20, 34) |
RELOC_NUMBER (RINDEX_16C_IMM20_C, 35) |
RELOC_NUMBER (RINDEX_16C_IMM24, 36) |
RELOC_NUMBER (RINDEX_16C_IMM24_C, 37) |
RELOC_NUMBER (RINDEX_16C_IMM32, 38) |
RELOC_NUMBER (RINDEX_16C_IMM32_C, 39) |
END_RELOC_NUMBERS (RINDEX_16C_MAX) |
/* CR16C Relocation Types ('cr_reloc_type' entry in the reloc_map structure). |
The relocation constant name is determined as follows : |
R_16C_<format><size>[_C] |
Where : |
<format> is one of the following: |
NUM - R_NUMBER mnemonic, |
DISP - R_16C_DISPL mnemonic, |
REG - R_16C_REGREL mnemonic, |
ABS - R_16C_ABS mnemonic, |
IMM - R_16C_IMMED mnemonic, |
<size> stands for R_S_16C_<size> |
_C means 'code label' and is only added when R_ADDRTYPE subfield |
is of type R_CODE_ADDR. */ |
/* The table below shows what the hex digits in the definition of the |
relocation type constants correspond to. |
------------------------------------------------------------------ |
R_SIZESP R_FORMAT R_RELTO R_ADDRTYPE |
------------------------------------------------------------------ */ |
/* R_S_16C_08 R_NUMBER R_ABS R_ADDRESS */ |
#define R_16C_NUM08 0X0001 |
/* R_S_16C_08 R_NUMBER R_ABS R_CODE_ADDR */ |
#define R_16C_NUM08_C 0X0006 |
/* R_S_16C_16 R_NUMBER R_ABS R_ADDRESS */ |
#define R_16C_NUM16 0X1001 |
/* R_S_16C_16 R_NUMBER R_ABS R_CODE_ADDR */ |
#define R_16C_NUM16_C 0X1006 |
/* R_S_16C_32 R_NUMBER R_ABS R_ADDRESS */ |
#define R_16C_NUM32 0X2001 |
/* R_S_16C_32 R_NUMBER R_ABS R_CODE_ADDR */ |
#define R_16C_NUM32_C 0X2006 |
/* R_S_16C_04 R_16C_DISPL R_PCREL R_ADDRESS */ |
#define R_16C_DISP04 0X5411 |
/* R_S_16C_04 R_16C_DISPL R_PCREL R_CODE_ADDR */ |
#define R_16C_DISP04_C 0X5416 |
/* R_S_16C_08 R_16C_DISPL R_PCREL R_ADDRESS */ |
#define R_16C_DISP08 0X0411 |
/* R_S_16C_08 R_16C_DISPL R_PCREL R_CODE_ADDR */ |
#define R_16C_DISP08_C 0X0416 |
/* R_S_16C_16 R_16C_DISPL R_PCREL R_ADDRESS */ |
#define R_16C_DISP16 0X1411 |
/* R_S_16C_16 R_16C_DISPL R_PCREL R_CODE_ADDR */ |
#define R_16C_DISP16_C 0X1416 |
/* R_S_16C_24 R_16C_DISPL R_PCREL R_ADDRESS */ |
#define R_16C_DISP24 0X7411 |
/* R_S_16C_24 R_16C_DISPL R_PCREL R_CODE_ADDR */ |
#define R_16C_DISP24_C 0X7416 |
/* R_S_16C_24a R_16C_DISPL R_PCREL R_ADDRESS */ |
#define R_16C_DISP24a 0X6411 |
/* R_S_16C_24a R_16C_DISPL R_PCREL R_CODE_ADDR */ |
#define R_16C_DISP24a_C 0X6416 |
/* R_S_16C_04 R_16C_REGREL R_ABS R_ADDRESS */ |
#define R_16C_REG04 0X5201 |
/* R_S_16C_04 R_16C_REGREL R_ABS R_CODE_ADDR */ |
#define R_16C_REG04_C 0X5206 |
/* R_S_16C_04_a R_16C_REGREL R_ABS R_ADDRESS */ |
#define R_16C_REG04a 0X4201 |
/* R_S_16C_04_a R_16C_REGREL R_ABS R_CODE_ADDR */ |
#define R_16C_REG04a_C 0X4206 |
/* R_S_16C_14 R_16C_REGREL R_ABS R_ADDRESS */ |
#define R_16C_REG14 0X3201 |
/* R_S_16C_14 R_16C_REGREL R_ABS R_CODE_ADDR */ |
#define R_16C_REG14_C 0X3206 |
/* R_S_16C_16 R_16C_REGREL R_ABS R_ADDRESS */ |
#define R_16C_REG16 0X1201 |
/* R_S_16C_16 R_16C_REGREL R_ABS R_CODE_ADDR */ |
#define R_16C_REG16_C 0X1206 |
/* R_S_16C_20 R_16C_REGREL R_ABS R_ADDRESS */ |
#define R_16C_REG20 0X8201 |
/* R_S_16C_20 R_16C_REGREL R_ABS R_CODE_ADDR */ |
#define R_16C_REG20_C 0X8206 |
/* R_S_16C_20 R_16C_ABS R_ABS R_ADDRESS */ |
#define R_16C_ABS20 0X8101 |
/* R_S_16C_20 R_16C_ABS R_ABS R_CODE_ADDR */ |
#define R_16C_ABS20_C 0X8106 |
/* R_S_16C_24 R_16C_ABS R_ABS R_ADDRESS */ |
#define R_16C_ABS24 0X7101 |
/* R_S_16C_24 R_16C_ABS R_ABS R_CODE_ADDR */ |
#define R_16C_ABS24_C 0X7106 |
/* R_S_16C_04 R_16C_IMMED R_ABS R_ADDRESS */ |
#define R_16C_IMM04 0X5301 |
/* R_S_16C_04 R_16C_IMMED R_ABS R_CODE_ADDR */ |
#define R_16C_IMM04_C 0X5306 |
/* R_S_16C_16 R_16C_IMMED R_ABS R_ADDRESS */ |
#define R_16C_IMM16 0X1301 |
/* R_S_16C_16 R_16C_IMMED R_ABS R_CODE_ADDR */ |
#define R_16C_IMM16_C 0X1306 |
/* R_S_16C_20 R_16C_IMMED R_ABS R_ADDRESS */ |
#define R_16C_IMM20 0X8301 |
/* R_S_16C_20 R_16C_IMMED R_ABS R_CODE_ADDR */ |
#define R_16C_IMM20_C 0X8306 |
/* R_S_16C_24 R_16C_IMMED R_ABS R_ADDRESS */ |
#define R_16C_IMM24 0X7301 |
/* R_S_16C_24 R_16C_IMMED R_ABS R_CODE_ADDR */ |
#define R_16C_IMM24_C 0X7306 |
/* R_S_16C_32 R_16C_IMMED R_ABS R_ADDRESS */ |
#define R_16C_IMM32 0X2301 |
/* R_S_16C_32 R_16C_IMMED R_ABS R_CODE_ADDR */ |
#define R_16C_IMM32_C 0X2306 |
/* Relocation item type. */ |
#define R_ADDRTYPE 0x000f |
#define R_ADDRESS 0x0001 /* Take address of symbol. */ |
#define R_CODE_ADDR 0x0006 /* Take address of symbol divided by 2. */ |
/* Relocation action. */ |
#define R_RELTO 0x00f0 |
#define R_ABS 0x0000 /* Keep symbol's address as such. */ |
#define R_PCREL 0x0010 /* Subtract the pc address of hole. */ |
/* Relocation item data format. */ |
#define R_FORMAT 0x0f00 |
#define R_NUMBER 0x0000 /* Retain as two's complement value. */ |
#define R_16C_DISPL 0x0400 /* CR16C displacement type. */ |
#define R_16C_ABS 0x0100 /* CR16C absolute type. */ |
#define R_16C_REGREL 0x0200 /* CR16C register-relative type. */ |
#define R_16C_IMMED 0x0300 /* CR16C immediate type. */ |
/* Relocation item size. */ |
#define R_SIZESP 0xf000 |
#define R_S_16C_04 0x5000 |
#define R_S_16C_04_a 0x4000 |
#define R_S_16C_08 0x0000 |
#define R_S_16C_14 0x3000 |
#define R_S_16C_16 0x1000 |
#define R_S_16C_20 0x8000 |
#define R_S_16C_24_a 0x6000 |
#define R_S_16C_24 0x7000 |
#define R_S_16C_32 0x2000 |
/* 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. */ |
/* Far common symbol. */ |
#define SHN_CR16C_FCOMMON SHN_LORESERVE |
#define SHN_CR16C_NCOMMON (SHN_LORESERVE + 1) |
typedef struct reloc_map |
{ |
unsigned short cr_reloc_type; /* CR relocation type. */ |
bfd_reloc_code_real_type bfd_reloc_enum; /* BFD relocation enum. */ |
} RELOC_MAP; |
#endif /* _ELF_CR16C_H */ |
/contrib/toolchain/binutils/include/elf/cris.h |
---|
0,0 → 1,193 |
/* CRIS ELF support for BFD. |
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 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_CRIS_H |
#define _ELF_CRIS_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_cris_reloc_type) |
RELOC_NUMBER (R_CRIS_NONE, 0) |
RELOC_NUMBER (R_CRIS_8, 1) |
RELOC_NUMBER (R_CRIS_16, 2) |
RELOC_NUMBER (R_CRIS_32, 3) |
/* The "PC" position is the location right after the relocation. */ |
RELOC_NUMBER (R_CRIS_8_PCREL, 4) |
RELOC_NUMBER (R_CRIS_16_PCREL, 5) |
RELOC_NUMBER (R_CRIS_32_PCREL, 6) |
RELOC_NUMBER (R_CRIS_GNU_VTINHERIT, 7) |
RELOC_NUMBER (R_CRIS_GNU_VTENTRY, 8) |
/* Copy contents at dynlinking. Generated by the linker. |
The BFD equivalent is BFD_RELOC_CRIS_COPY. */ |
RELOC_NUMBER (R_CRIS_COPY, 9) |
/* Create GOT entry. Generated by the linker. |
The BFD equivalent is BFD_RELOC_CRIS_GLOB_DAT. */ |
RELOC_NUMBER (R_CRIS_GLOB_DAT, 10) |
/* Create PLT entry. Generated by the linker. |
The BFD equivalent is BFD_RELOC_CRIS_JUMP_SLOT. */ |
RELOC_NUMBER (R_CRIS_JUMP_SLOT, 11) |
/* Adjust by program base. Generated by the linker. |
The BFD equivalent is BFD_RELOC_CRIS_RELATIVE. */ |
RELOC_NUMBER (R_CRIS_RELATIVE, 12) |
/* A 16-bit offset to entry in GOT and request to create GOT entry for |
that symbol. |
The BFD equivalent is BFD_RELOC_CRIS_16_GOT. */ |
RELOC_NUMBER (R_CRIS_16_GOT, 13) |
/* A 32-bit offset to entry in GOT and request to create GOT entry for |
that symbol. |
The BFD equivalent is BFD_RELOC_CRIS_32_GOT. */ |
RELOC_NUMBER (R_CRIS_32_GOT, 14) |
/* A 16-bit offset to entry in PLT part of GOT and request to create PLT |
entry for that symbol. |
The BFD equivalent is BFD_RELOC_CRIS_16_GOTPLT. */ |
RELOC_NUMBER (R_CRIS_16_GOTPLT, 15) |
/* A 32-bit offset to entry in PLT part of GOT and request to create PLT |
entry for that symbol. |
The BFD equivalent is BFD_RELOC_CRIS_32_GOTPLT. */ |
RELOC_NUMBER (R_CRIS_32_GOTPLT, 16) |
/* A 32-bit offset from GOT to (local) symbol: no GOT entry should be |
necessary. |
The BFD equivalent is BFD_RELOC_CRIS_32_GOTREL. */ |
RELOC_NUMBER (R_CRIS_32_GOTREL, 17) |
/* A 32-bit offset from GOT to entry for this symbol in PLT and request |
to create PLT entry for symbol. |
The BFD equivalent is BFD_RELOC_CRIS_32_GOTREL. */ |
RELOC_NUMBER (R_CRIS_32_PLT_GOTREL, 18) |
/* A 32-bit offset from location after this relocation (addend specifies |
offset) to entry for this symbol in PLT and request to create PLT |
entry for symbol. |
The BFD equivalent is BFD_RELOC_CRIS_32_PLT_PCREL. */ |
RELOC_NUMBER (R_CRIS_32_PLT_PCREL, 19) |
/* An assembler-generated-only relocation, instructing the linker to |
reserve two GOT slots, carrying the R_CRIS_DTP relocation for the |
symbol (pointing to the first slot, the relocation fills in |
both). The value is a 32-bit-value, relative to the start of the |
GOT. Assembly syntax: "sym:GDGOTREL". */ |
RELOC_NUMBER (R_CRIS_32_GOT_GD, 20) |
/* Similar to R_CRIS_32_GOT_GD, but the value is a 16-bit unsigned |
number, limiting access to 65536/4 global symbols per module (or |
65536/8 thread variables; loosely speaking G*4+T*8 < 65536, where |
T is the number of thread variables and G is the number of other |
external global variables and functions). Assembly syntax: |
"sym:GDGOTREL16". */ |
RELOC_NUMBER (R_CRIS_16_GOT_GD, 21) |
/* Similar to R_CRIS_32_GOT_GD, but the value is the absolute |
address of the GOT entry. Disallowed in DSOs created with |
-shared. Assembly syntax: "sym:GD". */ |
RELOC_NUMBER (R_CRIS_32_GD, 22) |
/* A linker-generated-only relocation, instructing the dynamic |
linker to fill in the module ID and module-relative-TLS-block |
offset of the symbol in question, used for GOT entries. Note |
that this relocation instructs to fill in two 32-bit values. */ |
RELOC_NUMBER (R_CRIS_DTP, 23) |
/* An assembler-generated-only relocation, instructing the linker to |
reserve the first two GOT slots, and attach the R_CRIS_DTPMOD |
relocation(*) for the module to the first slot, the second |
containing zero. The value is 32 bits, the offset from the start |
of the TLS block of the module to the thread-local symbol |
mentioned in the relocation. This relocation must only be applied |
to module-local symbols. Assembly syntax: "expr:DTPREL". */ |
RELOC_NUMBER (R_CRIS_32_DTPREL, 24) |
/* Similar to R_CRIS_32_DTPREL, but the value is a 16-bit signed |
number, limiting the size of thread-variables of the DSO to 32768 |
bytes. (Note: matches both model 1 and 2 and allows use of addo.w |
as the instruction where this relocation is used.) Assembly |
syntax: "expr:DTPREL16". */ |
RELOC_NUMBER (R_CRIS_16_DTPREL, 25) |
/* An assembler-generated-only relocation, instructing the linker to |
reserve a GOT slot and attach the R_CRIS_32_TPREL relocation for |
the symbol in question. The value is 32 bits, which is the |
GOT-relative offset of the slot. Assembly syntax: |
"sym:TPOFFGOT". */ |
RELOC_NUMBER (R_CRIS_32_GOT_TPREL, 26) |
/* Similar to R_CRIS_32_TPREL, but the value is a 16-bit positive |
number, limiting the number of thread- and global variables of |
the DSO to 32768/4. Assembly syntax: "sym:TPOFFGOT16". */ |
RELOC_NUMBER (R_CRIS_16_GOT_TPREL, 27) |
/* An assembler- and linker-generated relocation, instructing to |
resolve the symbol in question yielding the TLS offset of the |
thread variable, relative to the global TLS block. Not allowed |
as input when generating a DSO. Assembly syntax: |
"expr:TPOFF". */ |
RELOC_NUMBER (R_CRIS_32_TPREL, 28) |
/* Similar to R_CRIS_32_TPREL, but only applicable to executables |
compiled with -msmall-tls. Not allowed in a DSO. The value is a |
16-bit signed number, limiting the size of thread-variables of |
the executable to 32768 bytes. (Note: being signed makes it match |
both model 1 and 2 and allows use of addo.w as the instruction |
where this relocation is applied.) Assembly syntax: |
"expr:TPOFF16". */ |
RELOC_NUMBER (R_CRIS_16_TPREL, 29) |
/* A linker-generated-only relocation, instructing the dynamic |
linker to fill in the current module ID, used for GOT entries |
(usually the fourth one). */ |
RELOC_NUMBER (R_CRIS_DTPMOD, 30) |
/* Similar to R_CRIS_32_GOT_TPREL, but the value is the absolute |
address of the GOT entry. Disallowed in DSOs created with |
-shared. Assembly syntax: "sym:IE". */ |
RELOC_NUMBER (R_CRIS_32_IE, 31) |
/* No other relocs must be visible outside the assembler. */ |
END_RELOC_NUMBERS (R_CRIS_max) |
/* User symbols in this file have a leading underscore. */ |
#define EF_CRIS_UNDERSCORE 0x00000001 |
/* This is a mask for different incompatible machine variants. */ |
#define EF_CRIS_VARIANT_MASK 0x0000000e |
/* Variant 0; may contain v0..10 object. */ |
#define EF_CRIS_VARIANT_ANY_V0_V10 0x00000000 |
/* Variant 1; contains v32 object. */ |
#define EF_CRIS_VARIANT_V32 0x00000002 |
/* Variant 2; contains object compatible with v32 and v10. */ |
#define EF_CRIS_VARIANT_COMMON_V10_V32 0x00000004 |
#endif /* _ELF_CRIS_H */ |
/contrib/toolchain/binutils/include/elf/crx.h |
---|
0,0 → 1,53 |
/* CRX ELF support for BFD. |
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. |
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_CRX_H |
#define _ELF_CRX_H |
#include "elf/reloc-macros.h" |
/* Creating indices for reloc_map_index array. */ |
START_RELOC_NUMBERS(elf_crx_reloc_type) |
RELOC_NUMBER (R_CRX_NONE, 0) |
RELOC_NUMBER (R_CRX_REL4, 1) |
RELOC_NUMBER (R_CRX_REL8, 2) |
RELOC_NUMBER (R_CRX_REL8_CMP, 3) |
RELOC_NUMBER (R_CRX_REL16, 4) |
RELOC_NUMBER (R_CRX_REL24, 5) |
RELOC_NUMBER (R_CRX_REL32, 6) |
RELOC_NUMBER (R_CRX_REGREL12, 7) |
RELOC_NUMBER (R_CRX_REGREL22, 8) |
RELOC_NUMBER (R_CRX_REGREL28, 9) |
RELOC_NUMBER (R_CRX_REGREL32, 10) |
RELOC_NUMBER (R_CRX_ABS16, 11) |
RELOC_NUMBER (R_CRX_ABS32, 12) |
RELOC_NUMBER (R_CRX_NUM8, 13) |
RELOC_NUMBER (R_CRX_NUM16, 14) |
RELOC_NUMBER (R_CRX_NUM32, 15) |
RELOC_NUMBER (R_CRX_IMM16, 16) |
RELOC_NUMBER (R_CRX_IMM32, 17) |
RELOC_NUMBER (R_CRX_SWITCH8, 18) |
RELOC_NUMBER (R_CRX_SWITCH16, 19) |
RELOC_NUMBER (R_CRX_SWITCH32, 20) |
END_RELOC_NUMBERS(R_CRX_MAX) |
#endif /* _ELF_CRX_H */ |
/contrib/toolchain/binutils/include/elf/d10v.h |
---|
0,0 → 1,38 |
/* d10v ELF support for BFD. |
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 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_D10V_H |
#define _ELF_D10V_H |
#include "elf/reloc-macros.h" |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_d10v_reloc_type) |
RELOC_NUMBER (R_D10V_NONE, 0) |
RELOC_NUMBER (R_D10V_10_PCREL_R, 1) |
RELOC_NUMBER (R_D10V_10_PCREL_L, 2) |
RELOC_NUMBER (R_D10V_16, 3) |
RELOC_NUMBER (R_D10V_18, 4) |
RELOC_NUMBER (R_D10V_18_PCREL, 5) |
RELOC_NUMBER (R_D10V_32, 6) |
RELOC_NUMBER (R_D10V_GNU_VTINHERIT, 7) |
RELOC_NUMBER (R_D10V_GNU_VTENTRY, 8) |
END_RELOC_NUMBERS (R_D10V_max) |
#endif |
/contrib/toolchain/binutils/include/elf/d30v.h |
---|
0,0 → 1,42 |
/* d30v ELF support for BFD. |
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 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_D30V_H |
#define _ELF_D30V_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_d30v_reloc_type) |
RELOC_NUMBER (R_D30V_NONE, 0) |
RELOC_NUMBER (R_D30V_6, 1) |
RELOC_NUMBER (R_D30V_9_PCREL, 2) |
RELOC_NUMBER (R_D30V_9_PCREL_R, 3) |
RELOC_NUMBER (R_D30V_15, 4) |
RELOC_NUMBER (R_D30V_15_PCREL, 5) |
RELOC_NUMBER (R_D30V_15_PCREL_R, 6) |
RELOC_NUMBER (R_D30V_21, 7) |
RELOC_NUMBER (R_D30V_21_PCREL, 8) |
RELOC_NUMBER (R_D30V_21_PCREL_R, 9) |
RELOC_NUMBER (R_D30V_32, 10) |
RELOC_NUMBER (R_D30V_32_PCREL, 11) |
RELOC_NUMBER (R_D30V_32_NORMAL, 12) |
END_RELOC_NUMBERS (R_D30V_max) |
#endif |
/contrib/toolchain/binutils/include/elf/dlx.h |
---|
0,0 → 1,53 |
/* DLX support for BFD. |
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 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_DLX_H |
#define _ELF_DLX_H |
#include "elf/reloc-macros.h" |
#if 0 |
START_RELOC_NUMBERS (elf_dlx_reloc_type) |
RELOC_NUMBER (R_DLX_NONE, 0) |
RELOC_NUMBER (R_DLX_RELOC_16, 1) |
RELOC_NUMBER (R_DLX_RELOC_26, 2) |
RELOC_NUMBER (R_DLX_RELOC_32, 3) |
RELOC_NUMBER (R_DLX_GNU_VTINHERIT, 4) |
RELOC_NUMBER (R_DLX_GNU_VTENTRY, 5) |
RELOC_NUMBER (R_DLX_RELOC_16_HI, 6) |
RELOC_NUMBER (R_DLX_RELOC_16_LO, 7) |
RELOC_NUMBER (R_DLX_RELOC_16_PCREL, 8) |
RELOC_NUMBER (R_DLX_RELOC_26_PCREL, 9) |
END_RELOC_NUMBERS (R_DLX_max) |
#else |
START_RELOC_NUMBERS (elf_dlx_reloc_type) |
RELOC_NUMBER (R_DLX_NONE, 0) |
RELOC_NUMBER (R_DLX_RELOC_8, 1) |
RELOC_NUMBER (R_DLX_RELOC_16, 2) |
RELOC_NUMBER (R_DLX_RELOC_32, 3) |
RELOC_NUMBER (R_DLX_GNU_VTINHERIT, 4) |
RELOC_NUMBER (R_DLX_GNU_VTENTRY, 5) |
RELOC_NUMBER (R_DLX_RELOC_16_HI, 6) |
RELOC_NUMBER (R_DLX_RELOC_16_LO, 7) |
RELOC_NUMBER (R_DLX_RELOC_16_PCREL, 8) |
RELOC_NUMBER (R_DLX_RELOC_26_PCREL, 9) |
END_RELOC_NUMBERS (R_DLX_max) |
#endif /* 0 */ |
#endif /* _ELF_DLX_H */ |
/contrib/toolchain/binutils/include/elf/dwarf.h |
---|
0,0 → 1,323 |
/* Declarations and definitions of codes relating to the DWARF symbolic |
debugging information format. |
Written by Ron Guilmette (rfg@netcom.com) |
Copyright 1992, 1993, 1995, 1999, 2005, 2010 Free Software Foundation, Inc. |
This file is part of both GCC and the BFD 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 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. */ |
#ifndef _ELF_DWARF_H |
#define _ELF_DWARF_H |
/* Tag names and codes. */ |
enum dwarf_tag { |
TAG_padding = 0x0000, |
TAG_array_type = 0x0001, |
TAG_class_type = 0x0002, |
TAG_entry_point = 0x0003, |
TAG_enumeration_type = 0x0004, |
TAG_formal_parameter = 0x0005, |
TAG_global_subroutine = 0x0006, |
TAG_global_variable = 0x0007, |
/* 0x0008 -- reserved */ |
/* 0x0009 -- reserved */ |
TAG_label = 0x000a, |
TAG_lexical_block = 0x000b, |
TAG_local_variable = 0x000c, |
TAG_member = 0x000d, |
/* 0x000e -- reserved */ |
TAG_pointer_type = 0x000f, |
TAG_reference_type = 0x0010, |
TAG_compile_unit = 0x0011, |
TAG_string_type = 0x0012, |
TAG_structure_type = 0x0013, |
TAG_subroutine = 0x0014, |
TAG_subroutine_type = 0x0015, |
TAG_typedef = 0x0016, |
TAG_union_type = 0x0017, |
TAG_unspecified_parameters = 0x0018, |
TAG_variant = 0x0019, |
TAG_common_block = 0x001a, |
TAG_common_inclusion = 0x001b, |
TAG_inheritance = 0x001c, |
TAG_inlined_subroutine = 0x001d, |
TAG_module = 0x001e, |
TAG_ptr_to_member_type = 0x001f, |
TAG_set_type = 0x0020, |
TAG_subrange_type = 0x0021, |
TAG_with_stmt = 0x0022, |
/* GNU extensions */ |
TAG_format_label = 0x8000, /* for FORTRAN 77 and Fortran 90 */ |
TAG_namelist = 0x8001, /* For Fortran 90 */ |
TAG_function_template = 0x8002, /* for C++ */ |
TAG_class_template = 0x8003 /* for C++ */ |
}; |
#define TAG_lo_user 0x8000 /* implementation-defined range start */ |
#define TAG_hi_user 0xffff /* implementation-defined range end */ |
#define TAG_source_file TAG_compile_unit /* for backward compatibility */ |
/* Form names and codes. */ |
enum dwarf_form { |
FORM_ADDR = 0x1, |
FORM_REF = 0x2, |
FORM_BLOCK2 = 0x3, |
FORM_BLOCK4 = 0x4, |
FORM_DATA2 = 0x5, |
FORM_DATA4 = 0x6, |
FORM_DATA8 = 0x7, |
FORM_STRING = 0x8 |
}; |
/* Attribute names and codes. */ |
enum dwarf_attribute { |
AT_sibling = (0x0010|FORM_REF), |
AT_location = (0x0020|FORM_BLOCK2), |
AT_name = (0x0030|FORM_STRING), |
AT_fund_type = (0x0050|FORM_DATA2), |
AT_mod_fund_type = (0x0060|FORM_BLOCK2), |
AT_user_def_type = (0x0070|FORM_REF), |
AT_mod_u_d_type = (0x0080|FORM_BLOCK2), |
AT_ordering = (0x0090|FORM_DATA2), |
AT_subscr_data = (0x00a0|FORM_BLOCK2), |
AT_byte_size = (0x00b0|FORM_DATA4), |
AT_bit_offset = (0x00c0|FORM_DATA2), |
AT_bit_size = (0x00d0|FORM_DATA4), |
/* (0x00e0|FORM_xxxx) -- reserved */ |
AT_element_list = (0x00f0|FORM_BLOCK4), |
AT_stmt_list = (0x0100|FORM_DATA4), |
AT_low_pc = (0x0110|FORM_ADDR), |
AT_high_pc = (0x0120|FORM_ADDR), |
AT_language = (0x0130|FORM_DATA4), |
AT_member = (0x0140|FORM_REF), |
AT_discr = (0x0150|FORM_REF), |
AT_discr_value = (0x0160|FORM_BLOCK2), |
/* (0x0170|FORM_xxxx) -- reserved */ |
/* (0x0180|FORM_xxxx) -- reserved */ |
AT_string_length = (0x0190|FORM_BLOCK2), |
AT_common_reference = (0x01a0|FORM_REF), |
AT_comp_dir = (0x01b0|FORM_STRING), |
AT_const_value_string = (0x01c0|FORM_STRING), |
AT_const_value_data2 = (0x01c0|FORM_DATA2), |
AT_const_value_data4 = (0x01c0|FORM_DATA4), |
AT_const_value_data8 = (0x01c0|FORM_DATA8), |
AT_const_value_block2 = (0x01c0|FORM_BLOCK2), |
AT_const_value_block4 = (0x01c0|FORM_BLOCK4), |
AT_containing_type = (0x01d0|FORM_REF), |
AT_default_value_addr = (0x01e0|FORM_ADDR), |
AT_default_value_data2 = (0x01e0|FORM_DATA2), |
AT_default_value_data4 = (0x01e0|FORM_DATA4), |
AT_default_value_data8 = (0x01e0|FORM_DATA8), |
AT_default_value_string = (0x01e0|FORM_STRING), |
AT_friends = (0x01f0|FORM_BLOCK2), |
AT_inline = (0x0200|FORM_STRING), |
AT_is_optional = (0x0210|FORM_STRING), |
AT_lower_bound_ref = (0x0220|FORM_REF), |
AT_lower_bound_data2 = (0x0220|FORM_DATA2), |
AT_lower_bound_data4 = (0x0220|FORM_DATA4), |
AT_lower_bound_data8 = (0x0220|FORM_DATA8), |
AT_private = (0x0240|FORM_STRING), |
AT_producer = (0x0250|FORM_STRING), |
AT_program = (0x0230|FORM_STRING), |
AT_protected = (0x0260|FORM_STRING), |
AT_prototyped = (0x0270|FORM_STRING), |
AT_public = (0x0280|FORM_STRING), |
AT_pure_virtual = (0x0290|FORM_STRING), |
AT_return_addr = (0x02a0|FORM_BLOCK2), |
AT_abstract_origin = (0x02b0|FORM_REF), |
AT_start_scope = (0x02c0|FORM_DATA4), |
AT_stride_size = (0x02e0|FORM_DATA4), |
AT_upper_bound_ref = (0x02f0|FORM_REF), |
AT_upper_bound_data2 = (0x02f0|FORM_DATA2), |
AT_upper_bound_data4 = (0x02f0|FORM_DATA4), |
AT_upper_bound_data8 = (0x02f0|FORM_DATA8), |
AT_virtual = (0x0300|FORM_STRING), |
/* GNU extensions. */ |
AT_sf_names = (0x8000|FORM_DATA4), |
AT_src_info = (0x8010|FORM_DATA4), |
AT_mac_info = (0x8020|FORM_DATA4), |
AT_src_coords = (0x8030|FORM_DATA4), |
AT_body_begin = (0x8040|FORM_ADDR), |
AT_body_end = (0x8050|FORM_ADDR) |
}; |
#define AT_lo_user 0x2000 /* implementation-defined range start */ |
#define AT_hi_user 0x3ff0 /* implementation-defined range end */ |
/* Location atom names and codes. */ |
enum dwarf_location_atom { |
OP_REG = 0x01, |
OP_BASEREG = 0x02, |
OP_ADDR = 0x03, |
OP_CONST = 0x04, |
OP_DEREF2 = 0x05, |
OP_DEREF4 = 0x06, |
OP_ADD = 0x07, |
/* GNU extensions. */ |
OP_MULT = 0x80 |
}; |
#define OP_LO_USER 0x80 /* implementation-defined range start */ |
#define OP_HI_USER 0xff /* implementation-defined range end */ |
/* Fundamental type names and codes. */ |
enum dwarf_fundamental_type { |
FT_char = 0x0001, |
FT_signed_char = 0x0002, |
FT_unsigned_char = 0x0003, |
FT_short = 0x0004, |
FT_signed_short = 0x0005, |
FT_unsigned_short = 0x0006, |
FT_integer = 0x0007, |
FT_signed_integer = 0x0008, |
FT_unsigned_integer = 0x0009, |
FT_long = 0x000a, |
FT_signed_long = 0x000b, |
FT_unsigned_long = 0x000c, |
FT_pointer = 0x000d, /* an alias for (void *) */ |
FT_float = 0x000e, |
FT_dbl_prec_float = 0x000f, |
FT_ext_prec_float = 0x0010, /* breaks "classic" svr4 SDB */ |
FT_complex = 0x0011, /* breaks "classic" svr4 SDB */ |
FT_dbl_prec_complex = 0x0012, /* breaks "classic" svr4 SDB */ |
/* 0x0013 -- reserved */ |
FT_void = 0x0014, |
FT_boolean = 0x0015, /* breaks "classic" svr4 SDB */ |
FT_ext_prec_complex = 0x0016, /* breaks "classic" svr4 SDB */ |
FT_label = 0x0017, |
/* GNU extensions |
The low order byte must indicate the size (in bytes) for the type. |
All of these types will probably break "classic" svr4 SDB. */ |
FT_long_long = 0x8008, |
FT_signed_long_long = 0x8108, |
FT_unsigned_long_long = 0x8208, |
FT_int8 = 0x9001, |
FT_signed_int8 = 0x9101, |
FT_unsigned_int8 = 0x9201, |
FT_int16 = 0x9302, |
FT_signed_int16 = 0x9402, |
FT_unsigned_int16 = 0x9502, |
FT_int32 = 0x9604, |
FT_signed_int32 = 0x9704, |
FT_unsigned_int32 = 0x9804, |
FT_int64 = 0x9908, |
FT_signed_int64 = 0x9a08, |
FT_unsigned_int64 = 0x9b08, |
FT_int128 = 0x9c10, |
FT_signed_int128 = 0x9d10, |
FT_unsigned_int128 = 0x9e10, |
FT_real32 = 0xa004, |
FT_real64 = 0xa108, |
FT_real96 = 0xa20c, |
FT_real128 = 0xa310 |
}; |
#define FT_lo_user 0x8000 /* implementation-defined range start */ |
#define FT_hi_user 0xffff /* implementation defined range end */ |
/* Type modifier names and codes. */ |
enum dwarf_type_modifier { |
MOD_pointer_to = 0x01, |
MOD_reference_to = 0x02, |
MOD_const = 0x03, |
MOD_volatile = 0x04 |
}; |
#define MOD_lo_user 0x80 /* implementation-defined range start */ |
#define MOD_hi_user 0xff /* implementation-defined range end */ |
/* Array ordering names and codes. */ |
enum dwarf_array_dim_ordering { |
ORD_row_major = 0, |
ORD_col_major = 1 |
}; |
/* Array subscript format names and codes. */ |
enum dwarf_subscr_data_formats { |
FMT_FT_C_C = 0x0, |
FMT_FT_C_X = 0x1, |
FMT_FT_X_C = 0x2, |
FMT_FT_X_X = 0x3, |
FMT_UT_C_C = 0x4, |
FMT_UT_C_X = 0x5, |
FMT_UT_X_C = 0x6, |
FMT_UT_X_X = 0x7, |
FMT_ET = 0x8 |
}; |
/* Derived from above for ease of use. */ |
#define FMT_CODE(_FUNDAMENTAL_TYPE_P, _LB_CONST_P, _UB_CONST_P) \ |
(((_FUNDAMENTAL_TYPE_P) ? 0 : 4) \ |
| ((_LB_CONST_P) ? 0 : 2) \ |
| ((_UB_CONST_P) ? 0 : 1)) |
/* Source language names and codes. */ |
enum dwarf_source_language { |
LANG_C89 = 0x00000001, |
LANG_C = 0x00000002, |
LANG_ADA83 = 0x00000003, |
LANG_C_PLUS_PLUS = 0x00000004, |
LANG_COBOL74 = 0x00000005, |
LANG_COBOL85 = 0x00000006, |
LANG_FORTRAN77 = 0x00000007, |
LANG_FORTRAN90 = 0x00000008, |
LANG_PASCAL83 = 0x00000009, |
LANG_MODULA2 = 0x0000000a, |
LANG_JAVA = 0x0000000b |
}; |
#define LANG_lo_user 0x00008000 /* implementation-defined range start */ |
#define LANG_hi_user 0x0000ffff /* implementation-defined range end */ |
/* Names and codes for GNU "macinfo" extension. */ |
enum dwarf_macinfo_record_type { |
MACINFO_start = 's', |
MACINFO_resume = 'r', |
MACINFO_define = 'd', |
MACINFO_undef = 'u' |
}; |
#endif /* _ELF_DWARF_H */ |
/contrib/toolchain/binutils/include/elf/epiphany.h |
---|
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 */ |
/contrib/toolchain/binutils/include/elf/external.h |
---|
0,0 → 1,288 |
/* ELF support for BFD. |
Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001, 2003, 2005, |
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 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 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. */ |
/* The 64-bit stuff is kind of random. Perhaps someone will publish a |
spec someday. */ |
#ifndef _ELF_EXTERNAL_H |
#define _ELF_EXTERNAL_H |
/* Special section indices, which may show up in st_shndx fields, among |
other places. */ |
#define SHN_LORESERVE 0xFF00 /* Begin range of reserved indices */ |
#define SHN_LOPROC 0xFF00 /* Begin range of appl-specific */ |
#define SHN_HIPROC 0xFF1F /* End range of appl-specific */ |
#define SHN_LOOS 0xFF20 /* OS specific semantics, lo */ |
#define SHN_HIOS 0xFF3F /* OS specific semantics, hi */ |
#define SHN_ABS 0xFFF1 /* Associated symbol is absolute */ |
#define SHN_COMMON 0xFFF2 /* Associated symbol is in common */ |
#define SHN_XINDEX 0xFFFF /* Section index is held elsewhere */ |
#define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */ |
/* ELF Header (32-bit implementations) */ |
typedef struct { |
unsigned char e_ident[16]; /* ELF "magic number" */ |
unsigned char e_type[2]; /* Identifies object file type */ |
unsigned char e_machine[2]; /* Specifies required architecture */ |
unsigned char e_version[4]; /* Identifies object file version */ |
unsigned char e_entry[4]; /* Entry point virtual address */ |
unsigned char e_phoff[4]; /* Program header table file offset */ |
unsigned char e_shoff[4]; /* Section header table file offset */ |
unsigned char e_flags[4]; /* Processor-specific flags */ |
unsigned char e_ehsize[2]; /* ELF header size in bytes */ |
unsigned char e_phentsize[2]; /* Program header table entry size */ |
unsigned char e_phnum[2]; /* Program header table entry count */ |
unsigned char e_shentsize[2]; /* Section header table entry size */ |
unsigned char e_shnum[2]; /* Section header table entry count */ |
unsigned char e_shstrndx[2]; /* Section header string table index */ |
} Elf32_External_Ehdr; |
typedef struct { |
unsigned char e_ident[16]; /* ELF "magic number" */ |
unsigned char e_type[2]; /* Identifies object file type */ |
unsigned char e_machine[2]; /* Specifies required architecture */ |
unsigned char e_version[4]; /* Identifies object file version */ |
unsigned char e_entry[8]; /* Entry point virtual address */ |
unsigned char e_phoff[8]; /* Program header table file offset */ |
unsigned char e_shoff[8]; /* Section header table file offset */ |
unsigned char e_flags[4]; /* Processor-specific flags */ |
unsigned char e_ehsize[2]; /* ELF header size in bytes */ |
unsigned char e_phentsize[2]; /* Program header table entry size */ |
unsigned char e_phnum[2]; /* Program header table entry count */ |
unsigned char e_shentsize[2]; /* Section header table entry size */ |
unsigned char e_shnum[2]; /* Section header table entry count */ |
unsigned char e_shstrndx[2]; /* Section header string table index */ |
} Elf64_External_Ehdr; |
/* Program header */ |
typedef struct { |
unsigned char p_type[4]; /* Identifies program segment type */ |
unsigned char p_offset[4]; /* Segment file offset */ |
unsigned char p_vaddr[4]; /* Segment virtual address */ |
unsigned char p_paddr[4]; /* Segment physical address */ |
unsigned char p_filesz[4]; /* Segment size in file */ |
unsigned char p_memsz[4]; /* Segment size in memory */ |
unsigned char p_flags[4]; /* Segment flags */ |
unsigned char p_align[4]; /* Segment alignment, file & memory */ |
} Elf32_External_Phdr; |
typedef struct { |
unsigned char p_type[4]; /* Identifies program segment type */ |
unsigned char p_flags[4]; /* Segment flags */ |
unsigned char p_offset[8]; /* Segment file offset */ |
unsigned char p_vaddr[8]; /* Segment virtual address */ |
unsigned char p_paddr[8]; /* Segment physical address */ |
unsigned char p_filesz[8]; /* Segment size in file */ |
unsigned char p_memsz[8]; /* Segment size in memory */ |
unsigned char p_align[8]; /* Segment alignment, file & memory */ |
} Elf64_External_Phdr; |
/* Section header */ |
typedef struct { |
unsigned char sh_name[4]; /* Section name, index in string tbl */ |
unsigned char sh_type[4]; /* Type of section */ |
unsigned char sh_flags[4]; /* Miscellaneous section attributes */ |
unsigned char sh_addr[4]; /* Section virtual addr at execution */ |
unsigned char sh_offset[4]; /* Section file offset */ |
unsigned char sh_size[4]; /* Size of section in bytes */ |
unsigned char sh_link[4]; /* Index of another section */ |
unsigned char sh_info[4]; /* Additional section information */ |
unsigned char sh_addralign[4]; /* Section alignment */ |
unsigned char sh_entsize[4]; /* Entry size if section holds table */ |
} Elf32_External_Shdr; |
typedef struct { |
unsigned char sh_name[4]; /* Section name, index in string tbl */ |
unsigned char sh_type[4]; /* Type of section */ |
unsigned char sh_flags[8]; /* Miscellaneous section attributes */ |
unsigned char sh_addr[8]; /* Section virtual addr at execution */ |
unsigned char sh_offset[8]; /* Section file offset */ |
unsigned char sh_size[8]; /* Size of section in bytes */ |
unsigned char sh_link[4]; /* Index of another section */ |
unsigned char sh_info[4]; /* Additional section information */ |
unsigned char sh_addralign[8]; /* Section alignment */ |
unsigned char sh_entsize[8]; /* Entry size if section holds table */ |
} Elf64_External_Shdr; |
/* Symbol table entry */ |
typedef struct { |
unsigned char st_name[4]; /* Symbol name, index in string tbl */ |
unsigned char st_value[4]; /* Value of the symbol */ |
unsigned char st_size[4]; /* Associated symbol size */ |
unsigned char st_info[1]; /* Type and binding attributes */ |
unsigned char st_other[1]; /* No defined meaning, 0 */ |
unsigned char st_shndx[2]; /* Associated section index */ |
} Elf32_External_Sym; |
typedef struct { |
unsigned char st_name[4]; /* Symbol name, index in string tbl */ |
unsigned char st_info[1]; /* Type and binding attributes */ |
unsigned char st_other[1]; /* No defined meaning, 0 */ |
unsigned char st_shndx[2]; /* Associated section index */ |
unsigned char st_value[8]; /* Value of the symbol */ |
unsigned char st_size[8]; /* Associated symbol size */ |
} Elf64_External_Sym; |
typedef struct { |
unsigned char est_shndx[4]; /* Section index */ |
} Elf_External_Sym_Shndx; |
/* Note segments */ |
typedef struct { |
unsigned char namesz[4]; /* Size of entry's owner string */ |
unsigned char descsz[4]; /* Size of the note descriptor */ |
unsigned char type[4]; /* Interpretation of the descriptor */ |
char name[1]; /* Start of the name+desc data */ |
} Elf_External_Note; |
/* Relocation Entries */ |
typedef struct { |
unsigned char r_offset[4]; /* Location at which to apply the action */ |
unsigned char r_info[4]; /* index and type of relocation */ |
} Elf32_External_Rel; |
typedef struct { |
unsigned char r_offset[4]; /* Location at which to apply the action */ |
unsigned char r_info[4]; /* index and type of relocation */ |
unsigned char r_addend[4]; /* Constant addend used to compute value */ |
} Elf32_External_Rela; |
typedef struct { |
unsigned char r_offset[8]; /* Location at which to apply the action */ |
unsigned char r_info[8]; /* index and type of relocation */ |
} Elf64_External_Rel; |
typedef struct { |
unsigned char r_offset[8]; /* Location at which to apply the action */ |
unsigned char r_info[8]; /* index and type of relocation */ |
unsigned char r_addend[8]; /* Constant addend used to compute value */ |
} Elf64_External_Rela; |
/* dynamic section structure */ |
typedef struct { |
unsigned char d_tag[4]; /* entry tag value */ |
union { |
unsigned char d_val[4]; |
unsigned char d_ptr[4]; |
} d_un; |
} Elf32_External_Dyn; |
typedef struct { |
unsigned char d_tag[8]; /* entry tag value */ |
union { |
unsigned char d_val[8]; |
unsigned char d_ptr[8]; |
} d_un; |
} Elf64_External_Dyn; |
/* The version structures are currently size independent. They are |
named without a 32 or 64. If that ever changes, these structures |
will need to be renamed. */ |
/* This structure appears in a SHT_GNU_verdef section. */ |
typedef struct { |
unsigned char vd_version[2]; |
unsigned char vd_flags[2]; |
unsigned char vd_ndx[2]; |
unsigned char vd_cnt[2]; |
unsigned char vd_hash[4]; |
unsigned char vd_aux[4]; |
unsigned char vd_next[4]; |
} Elf_External_Verdef; |
/* This structure appears in a SHT_GNU_verdef section. */ |
typedef struct { |
unsigned char vda_name[4]; |
unsigned char vda_next[4]; |
} Elf_External_Verdaux; |
/* This structure appears in a SHT_GNU_verneed section. */ |
typedef struct { |
unsigned char vn_version[2]; |
unsigned char vn_cnt[2]; |
unsigned char vn_file[4]; |
unsigned char vn_aux[4]; |
unsigned char vn_next[4]; |
} Elf_External_Verneed; |
/* This structure appears in a SHT_GNU_verneed section. */ |
typedef struct { |
unsigned char vna_hash[4]; |
unsigned char vna_flags[2]; |
unsigned char vna_other[2]; |
unsigned char vna_name[4]; |
unsigned char vna_next[4]; |
} Elf_External_Vernaux; |
/* This structure appears in a SHT_GNU_versym section. This is not a |
standard ELF structure; ELF just uses Elf32_Half. */ |
typedef struct { |
unsigned char vs_vers[2]; |
} ATTRIBUTE_PACKED Elf_External_Versym; |
/* Structure for syminfo section. */ |
typedef struct |
{ |
unsigned char si_boundto[2]; |
unsigned char si_flags[2]; |
} Elf_External_Syminfo; |
/* This structure appears on the stack and in NT_AUXV core file notes. */ |
typedef struct |
{ |
unsigned char a_type[4]; |
unsigned char a_val[4]; |
} Elf32_External_Auxv; |
typedef struct |
{ |
unsigned char a_type[8]; |
unsigned char a_val[8]; |
} Elf64_External_Auxv; |
/* Size of SHT_GROUP section entry. */ |
#define GRP_ENTRY_SIZE 4 |
#endif /* _ELF_EXTERNAL_H */ |
/contrib/toolchain/binutils/include/elf/fr30.h |
---|
0,0 → 1,42 |
/* FR30 ELF support for BFD. |
Copyright 1998, 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 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_FR30_H |
#define _ELF_FR30_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_fr30_reloc_type) |
RELOC_NUMBER (R_FR30_NONE, 0) |
RELOC_NUMBER (R_FR30_8, 1) |
RELOC_NUMBER (R_FR30_20, 2) |
RELOC_NUMBER (R_FR30_32, 3) |
RELOC_NUMBER (R_FR30_48, 4) |
RELOC_NUMBER (R_FR30_6_IN_4, 5) |
RELOC_NUMBER (R_FR30_8_IN_8, 6) |
RELOC_NUMBER (R_FR30_9_IN_8, 7) |
RELOC_NUMBER (R_FR30_10_IN_8, 8) |
RELOC_NUMBER (R_FR30_9_PCREL, 9) |
RELOC_NUMBER (R_FR30_12_PCREL, 10) |
RELOC_NUMBER (R_FR30_GNU_VTINHERIT, 11) |
RELOC_NUMBER (R_FR30_GNU_VTENTRY, 12) |
END_RELOC_NUMBERS (R_FR30_max) |
#endif /* _ELF_FR30_H */ |
/contrib/toolchain/binutils/include/elf/frv.h |
---|
0,0 → 1,130 |
/* FRV ELF support for BFD. |
Copyright (C) 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 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_FRV_H |
#define _ELF_FRV_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_frv_reloc_type) |
RELOC_NUMBER (R_FRV_NONE, 0) |
RELOC_NUMBER (R_FRV_32, 1) |
RELOC_NUMBER (R_FRV_LABEL16, 2) |
RELOC_NUMBER (R_FRV_LABEL24, 3) |
RELOC_NUMBER (R_FRV_LO16, 4) |
RELOC_NUMBER (R_FRV_HI16, 5) |
RELOC_NUMBER (R_FRV_GPREL12, 6) |
RELOC_NUMBER (R_FRV_GPRELU12, 7) |
RELOC_NUMBER (R_FRV_GPREL32, 8) |
RELOC_NUMBER (R_FRV_GPRELHI, 9) |
RELOC_NUMBER (R_FRV_GPRELLO, 10) |
RELOC_NUMBER (R_FRV_GOT12, 11) |
RELOC_NUMBER (R_FRV_GOTHI, 12) |
RELOC_NUMBER (R_FRV_GOTLO, 13) |
RELOC_NUMBER (R_FRV_FUNCDESC, 14) |
RELOC_NUMBER (R_FRV_FUNCDESC_GOT12, 15) |
RELOC_NUMBER (R_FRV_FUNCDESC_GOTHI, 16) |
RELOC_NUMBER (R_FRV_FUNCDESC_GOTLO, 17) |
RELOC_NUMBER (R_FRV_FUNCDESC_VALUE, 18) |
RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFF12, 19) |
RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFHI, 20) |
RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFLO, 21) |
RELOC_NUMBER (R_FRV_GOTOFF12, 22) |
RELOC_NUMBER (R_FRV_GOTOFFHI, 23) |
RELOC_NUMBER (R_FRV_GOTOFFLO, 24) |
RELOC_NUMBER (R_FRV_GETTLSOFF, 25) |
RELOC_NUMBER (R_FRV_TLSDESC_VALUE, 26) |
RELOC_NUMBER (R_FRV_GOTTLSDESC12, 27) |
RELOC_NUMBER (R_FRV_GOTTLSDESCHI, 28) |
RELOC_NUMBER (R_FRV_GOTTLSDESCLO, 29) |
RELOC_NUMBER (R_FRV_TLSMOFF12, 30) |
RELOC_NUMBER (R_FRV_TLSMOFFHI, 31) |
RELOC_NUMBER (R_FRV_TLSMOFFLO, 32) |
RELOC_NUMBER (R_FRV_GOTTLSOFF12, 33) |
RELOC_NUMBER (R_FRV_GOTTLSOFFHI, 34) |
RELOC_NUMBER (R_FRV_GOTTLSOFFLO, 35) |
RELOC_NUMBER (R_FRV_TLSOFF, 36) |
RELOC_NUMBER (R_FRV_TLSDESC_RELAX, 37) |
RELOC_NUMBER (R_FRV_GETTLSOFF_RELAX, 38) |
RELOC_NUMBER (R_FRV_TLSOFF_RELAX, 39) |
RELOC_NUMBER (R_FRV_TLSMOFF, 40) |
RELOC_NUMBER (R_FRV_GNU_VTINHERIT, 200) |
RELOC_NUMBER (R_FRV_GNU_VTENTRY, 201) |
END_RELOC_NUMBERS(R_FRV_max) |
/* Processor specific flags for the ELF header e_flags field. */ |
/* gpr support */ |
#define EF_FRV_GPR_MASK 0x00000003 /* mask for # of gprs */ |
#define EF_FRV_GPR_32 0x00000001 /* -mgpr-32 */ |
#define EF_FRV_GPR_64 0x00000002 /* -mgpr-64 */ |
/* fpr support */ |
#define EF_FRV_FPR_MASK 0x0000000c /* mask for # of fprs */ |
#define EF_FRV_FPR_32 0x00000004 /* -mfpr-32 */ |
#define EF_FRV_FPR_64 0x00000008 /* -mfpr-64 */ |
#define EF_FRV_FPR_NONE 0x0000000c /* -msoft-float */ |
/* double word support */ |
#define EF_FRV_DWORD_MASK 0x00000030 /* mask for dword support */ |
#define EF_FRV_DWORD_YES 0x00000010 /* use double word insns */ |
#define EF_FRV_DWORD_NO 0x00000020 /* don't use double word insn*/ |
#define EF_FRV_DOUBLE 0x00000040 /* -mdouble */ |
#define EF_FRV_MEDIA 0x00000080 /* -mmedia */ |
#define EF_FRV_PIC 0x00000100 /* -fpic */ |
#define EF_FRV_NON_PIC_RELOCS 0x00000200 /* used non pic safe relocs */ |
#define EF_FRV_MULADD 0x00000400 /* -mmuladd */ |
#define EF_FRV_BIGPIC 0x00000800 /* -fPIC */ |
#define EF_FRV_LIBPIC 0x00001000 /* -mlibrary-pic */ |
#define EF_FRV_G0 0x00002000 /* -G 0, no small data ptr */ |
#define EF_FRV_NOPACK 0x00004000 /* -mnopack */ |
#define EF_FRV_FDPIC 0x00008000 /* -mfdpic */ |
#define EF_FRV_CPU_MASK 0xff000000 /* specific cpu bits */ |
#define EF_FRV_CPU_GENERIC 0x00000000 /* generic FRV */ |
#define EF_FRV_CPU_FR500 0x01000000 /* FRV500 */ |
#define EF_FRV_CPU_FR300 0x02000000 /* FRV300 */ |
#define EF_FRV_CPU_SIMPLE 0x03000000 /* SIMPLE */ |
#define EF_FRV_CPU_TOMCAT 0x04000000 /* Tomcat, FR500 prototype */ |
#define EF_FRV_CPU_FR400 0x05000000 /* FRV400 */ |
#define EF_FRV_CPU_FR550 0x06000000 /* FRV550 */ |
#define EF_FRV_CPU_FR405 0x07000000 |
#define EF_FRV_CPU_FR450 0x08000000 |
/* Mask of PIC related bits */ |
#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC \ |
| EF_FRV_FDPIC) |
/* Mask of all flags */ |
#define EF_FRV_ALL_FLAGS (EF_FRV_GPR_MASK | \ |
EF_FRV_FPR_MASK | \ |
EF_FRV_DWORD_MASK | \ |
EF_FRV_DOUBLE | \ |
EF_FRV_MEDIA | \ |
EF_FRV_PIC_FLAGS | \ |
EF_FRV_NON_PIC_RELOCS | \ |
EF_FRV_MULADD | \ |
EF_FRV_G0 | \ |
EF_FRV_NOPACK | \ |
EF_FRV_CPU_MASK) |
#endif /* _ELF_FRV_H */ |
/contrib/toolchain/binutils/include/elf/h8.h |
---|
0,0 → 1,101 |
/* H8300/h8500 ELF support for BFD. |
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 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_H8_H |
#define _ELF_H8_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
/* 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) |
RELOC_NUMBER (R_H8_DIR32_28, 2) |
RELOC_NUMBER (R_H8_DIR32_24, 3) |
RELOC_NUMBER (R_H8_DIR32_16, 4) |
RELOC_NUMBER (R_H8_DIR32U, 6) |
RELOC_NUMBER (R_H8_DIR32U_28, 7) |
RELOC_NUMBER (R_H8_DIR32U_24, 8) |
RELOC_NUMBER (R_H8_DIR32U_20, 9) |
RELOC_NUMBER (R_H8_DIR32U_16, 10) |
RELOC_NUMBER (R_H8_DIR24, 11) |
RELOC_NUMBER (R_H8_DIR24_20, 12) |
RELOC_NUMBER (R_H8_DIR24_16, 13) |
RELOC_NUMBER (R_H8_DIR24U, 14) |
RELOC_NUMBER (R_H8_DIR24U_20, 15) |
RELOC_NUMBER (R_H8_DIR24U_16, 16) |
RELOC_NUMBER (R_H8_DIR16, 17) |
RELOC_NUMBER (R_H8_DIR16U, 18) |
RELOC_NUMBER (R_H8_DIR16S_32, 19) |
RELOC_NUMBER (R_H8_DIR16S_28, 20) |
RELOC_NUMBER (R_H8_DIR16S_24, 21) |
RELOC_NUMBER (R_H8_DIR16S_20, 22) |
RELOC_NUMBER (R_H8_DIR16S, 23) |
RELOC_NUMBER (R_H8_DIR8, 24) |
RELOC_NUMBER (R_H8_DIR8U, 25) |
RELOC_NUMBER (R_H8_DIR8Z_32, 26) |
RELOC_NUMBER (R_H8_DIR8Z_28, 27) |
RELOC_NUMBER (R_H8_DIR8Z_24, 28) |
RELOC_NUMBER (R_H8_DIR8Z_20, 29) |
RELOC_NUMBER (R_H8_DIR8Z_16, 30) |
RELOC_NUMBER (R_H8_PCREL16, 31) |
RELOC_NUMBER (R_H8_PCREL8, 32) |
RELOC_NUMBER (R_H8_BPOS, 33) |
FAKE_RELOC (R_H8_FIRST_INVALID_DIR_RELOC, 34) |
FAKE_RELOC (R_H8_LAST_INVALID_DIR_RELOC, 58) |
RELOC_NUMBER (R_H8_DIR16A8, 59) |
RELOC_NUMBER (R_H8_DIR16R8, 60) |
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) |
RELOC_NUMBER (R_H8_OPneg, 129) |
RELOC_NUMBER (R_H8_OPadd, 130) |
RELOC_NUMBER (R_H8_OPsub, 131) |
RELOC_NUMBER (R_H8_OPmul, 132) |
RELOC_NUMBER (R_H8_OPdiv, 133) |
RELOC_NUMBER (R_H8_OPshla, 134) |
RELOC_NUMBER (R_H8_OPshra, 135) |
RELOC_NUMBER (R_H8_OPsctsize, 136) |
RELOC_NUMBER (R_H8_OPhword, 137) |
RELOC_NUMBER (R_H8_OPlword, 138) |
RELOC_NUMBER (R_H8_OPhigh, 139) |
RELOC_NUMBER (R_H8_OPlow, 140) |
RELOC_NUMBER (R_H8_OPscttop, 141) |
END_RELOC_NUMBERS (R_H8_max) |
/* Machine variant if we know it. This field was invented at Cygnus, |
but it is hoped that other vendors will adopt it. If some standard |
is developed, this code should be changed to follow it. */ |
#define EF_H8_MACH 0x00FF0000 |
#define E_H8_MACH_H8300 0x00800000 |
#define E_H8_MACH_H8300H 0x00810000 |
#define E_H8_MACH_H8300S 0x00820000 |
#define E_H8_MACH_H8300HN 0x00830000 |
#define E_H8_MACH_H8300SN 0x00840000 |
#define E_H8_MACH_H8300SX 0x00850000 |
#define E_H8_MACH_H8300SXN 0x00860000 |
#endif |
/contrib/toolchain/binutils/include/elf/hppa.h |
---|
0,0 → 1,635 |
/* HPPA ELF support for BFD. |
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 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 HPPA ELF ABI. Note |
that most of this is not actually implemented by BFD. */ |
#ifndef _ELF_HPPA_H |
#define _ELF_HPPA_H |
/* Processor specific flags for the ELF header e_flags field. */ |
/* Trap null address dereferences. */ |
#define EF_PARISC_TRAPNIL 0x00010000 |
/* .PARISC.archext section is present. */ |
#define EF_PARISC_EXT 0x00020000 |
/* Program expects little-endian mode. */ |
#define EF_PARISC_LSB 0x00040000 |
/* Program expects wide mode. */ |
#define EF_PARISC_WIDE 0x00080000 |
/* Do not allow kernel-assisted branch prediction. */ |
#define EF_PARISC_NO_KABP 0x00100000 |
/* Allow lazy swap for dynamically allocated program segments. */ |
#define EF_PARISC_LAZYSWAP 0x00400000 |
/* Architecture version */ |
#define EF_PARISC_ARCH 0x0000ffff |
#define EFA_PARISC_1_0 0x020b |
#define EFA_PARISC_1_1 0x0210 |
#define EFA_PARISC_2_0 0x0214 |
/* Special section indices. */ |
/* A symbol that has been declared as a tentative definition in an ANSI C |
compilation. */ |
#define SHN_PARISC_ANSI_COMMON SHN_LORESERVE |
/* A symbol that has been declared as a common block using the |
huge memory model. */ |
#define SHN_PARISC_HUGE_COMMON (SHN_LORESERVE + 1) |
/* Processor specific section types. */ |
/* Section contains product specific extension bits. */ |
#define SHT_PARISC_EXT 0x70000000 |
/* Section contains unwind table entries. */ |
#define SHT_PARISC_UNWIND 0x70000001 |
/* Section contains debug information for optimized code. */ |
#define SHT_PARISC_DOC 0x70000002 |
/* Section contains code annotations. */ |
#define SHT_PARISC_ANNOT 0x70000003 |
/* DLKM special section. */ |
#define SHT_PARISC_DLKM 0x70000004 |
/* These are strictly for compatibility with the older elf32-hppa |
implementation. Hopefully we can eliminate them in the future. */ |
/* Optional section holding argument location/relocation info. */ |
#define SHT_PARISC_SYMEXTN SHT_LOPROC + 8 |
/* Option section for linker stubs. */ |
#define SHT_PARISC_STUBS SHT_LOPROC + 9 |
/* Processor specific section flags. */ |
/* Section contains code compiled for static branch prediction. */ |
#define SHF_PARISC_SBP 0x80000000 |
/* Section should be allocated from from GP. */ |
#define SHF_PARISC_HUGE 0x40000000 |
/* Section should go near GP. */ |
#define SHF_PARISC_SHORT 0x20000000 |
/* Section is weak ordered. */ |
#define SHF_PARISC_WEAKORDER 0x10000000 |
/* Identifies the entry point of a millicode routine. */ |
#define STT_PARISC_MILLI 13 |
/* ELF/HPPA relocation types */ |
/* Note: PA-ELF is defined to use only RELA relocations. */ |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (elf_hppa_reloc_type) |
RELOC_NUMBER (R_PARISC_NONE, 0) /* No reloc */ |
/* Data / Inst. Format Relocation Expression */ |
RELOC_NUMBER (R_PARISC_DIR32, 1) |
/* 32-bit word symbol + addend */ |
RELOC_NUMBER (R_PARISC_DIR21L, 2) |
/* long immediate (7) LR(symbol, addend) */ |
RELOC_NUMBER (R_PARISC_DIR17R, 3) |
/* branch external (19) RR(symbol, addend) */ |
RELOC_NUMBER (R_PARISC_DIR17F, 4) |
/* branch external (19) symbol + addend */ |
RELOC_NUMBER (R_PARISC_DIR14R, 6) |
/* load/store (1) RR(symbol, addend) */ |
RELOC_NUMBER (R_PARISC_DIR14F, 7) |
/* load/store (1) symbol, addend */ |
/* PC-relative relocation types |
Typically used for calls. |
Note PCREL17C and PCREL17F differ only in overflow handling. |
PCREL17C never reports a relocation error. |
When supporting argument relocations, function calls must be |
accompanied by parameter relocation information. This information is |
carried in the ten high-order bits of the addend field. The remaining |
22 bits of of the addend field are sign-extended to form the Addend. |
Note the code to build argument relocations depends on the |
addend being zero. A consequence of this limitation is GAS |
can not perform relocation reductions for function symbols. */ |
RELOC_NUMBER (R_PARISC_PCREL12F, 8) |
/* op & branch (17) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL32, 9) |
/* 32-bit word symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL21L, 10) |
/* long immediate (7) L(symbol - PC - 8 + addend) */ |
RELOC_NUMBER (R_PARISC_PCREL17R, 11) |
/* branch external (19) R(symbol - PC - 8 + addend) */ |
RELOC_NUMBER (R_PARISC_PCREL17F, 12) |
/* branch (20) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL17C, 13) |
/* branch (20) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL14R, 14) |
/* load/store (1) R(symbol - PC - 8 + addend) */ |
RELOC_NUMBER (R_PARISC_PCREL14F, 15) |
/* load/store (1) symbol - PC - 8 + addend */ |
/* DP-relative relocation types. */ |
RELOC_NUMBER (R_PARISC_DPREL21L, 18) |
/* long immediate (7) LR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_DPREL14WR, 19) |
/* load/store mod. comp. (2) RR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_DPREL14DR, 20) |
/* load/store doubleword (3) RR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_DPREL14R, 22) |
/* load/store (1) RR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_DPREL14F, 23) |
/* load/store (1) symbol - GP + addend */ |
/* Data linkage table (DLT) relocation types |
SOM DLT_REL fixup requests are used to for static data references |
from position-independent code within shared libraries. They are |
similar to the GOT relocation types in some SVR4 implementations. */ |
RELOC_NUMBER (R_PARISC_DLTREL21L, 26) |
/* long immediate (7) LR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_DLTREL14R, 30) |
/* load/store (1) RR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_DLTREL14F, 31) |
/* load/store (1) symbol - GP + addend */ |
/* DLT indirect relocation types */ |
RELOC_NUMBER (R_PARISC_DLTIND21L, 34) |
/* long immediate (7) L(ltoff(symbol + addend)) */ |
RELOC_NUMBER (R_PARISC_DLTIND14R, 38) |
/* load/store (1) R(ltoff(symbol + addend)) */ |
RELOC_NUMBER (R_PARISC_DLTIND14F, 39) |
/* load/store (1) ltoff(symbol + addend) */ |
/* Base relative relocation types. Ugh. These imply lots of state */ |
RELOC_NUMBER (R_PARISC_SETBASE, 40) |
/* none no reloc; base := sym */ |
RELOC_NUMBER (R_PARISC_SECREL32, 41) |
/* 32-bit word symbol - SECT + addend */ |
RELOC_NUMBER (R_PARISC_BASEREL21L, 42) |
/* long immediate (7) LR(symbol - base, addend) */ |
RELOC_NUMBER (R_PARISC_BASEREL17R, 43) |
/* branch external (19) RR(symbol - base, addend) */ |
RELOC_NUMBER (R_PARISC_BASEREL17F, 44) |
/* branch external (19) symbol - base + addend */ |
RELOC_NUMBER (R_PARISC_BASEREL14R, 46) |
/* load/store (1) RR(symbol - base, addend) */ |
RELOC_NUMBER (R_PARISC_BASEREL14F, 47) |
/* load/store (1) symbol - base, addend */ |
/* Segment relative relocation types. */ |
RELOC_NUMBER (R_PARISC_SEGBASE, 48) |
/* none no relocation; SB := sym */ |
RELOC_NUMBER (R_PARISC_SEGREL32, 49) |
/* 32-bit word symbol - SB + addend */ |
/* Offsets from the PLT. */ |
RELOC_NUMBER (R_PARISC_PLTOFF21L, 50) |
/* long immediate (7) LR(pltoff(symbol), addend) */ |
RELOC_NUMBER (R_PARISC_PLTOFF14R, 54) |
/* load/store (1) RR(pltoff(symbol), addend) */ |
RELOC_NUMBER (R_PARISC_PLTOFF14F, 55) |
/* load/store (1) pltoff(symbol) + addend */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR32, 57) |
/* 32-bit word ltoff(fptr(symbol+addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR21L, 58) |
/* long immediate (7) L(ltoff(fptr(symbol+addend))) */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR14R, 62) |
/* load/store (1) R(ltoff(fptr(symbol+addend))) */ |
RELOC_NUMBER (R_PARISC_FPTR64, 64) |
/* 64-bit doubleword fptr(symbol+addend) */ |
/* Plabel relocation types. */ |
RELOC_NUMBER (R_PARISC_PLABEL32, 65) |
/* 32-bit word fptr(symbol) */ |
RELOC_NUMBER (R_PARISC_PLABEL21L, 66) |
/* long immediate (7) L(fptr(symbol)) */ |
RELOC_NUMBER (R_PARISC_PLABEL14R, 70) |
/* load/store (1) R(fptr(symbol)) */ |
/* PCREL relocations. */ |
RELOC_NUMBER (R_PARISC_PCREL64, 72) |
/* 64-bit doubleword symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL22C, 73) |
/* branch & link (21) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL22F, 74) |
/* branch & link (21) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL14WR, 75) |
/* load/store mod. comp. (2) R(symbol - PC - 8 + addend) */ |
RELOC_NUMBER (R_PARISC_PCREL14DR, 76) |
/* load/store doubleword (3) R(symbol - PC - 8 + addend) */ |
RELOC_NUMBER (R_PARISC_PCREL16F, 77) |
/* load/store (1) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL16WF, 78) |
/* load/store mod. comp. (2) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_PCREL16DF, 79) |
/* load/store doubleword (3) symbol - PC - 8 + addend */ |
RELOC_NUMBER (R_PARISC_DIR64, 80) |
/* 64-bit doubleword symbol + addend */ |
RELOC_NUMBER (R_PARISC_DIR14WR, 83) |
/* load/store mod. comp. (2) RR(symbol, addend) */ |
RELOC_NUMBER (R_PARISC_DIR14DR, 84) |
/* load/store doubleword (3) RR(symbol, addend) */ |
RELOC_NUMBER (R_PARISC_DIR16F, 85) |
/* load/store (1) symbol + addend */ |
RELOC_NUMBER (R_PARISC_DIR16WF, 86) |
/* load/store mod. comp. (2) symbol + addend */ |
RELOC_NUMBER (R_PARISC_DIR16DF, 87) |
/* load/store doubleword (3) symbol + addend */ |
RELOC_NUMBER (R_PARISC_GPREL64, 88) |
/* 64-bit doubleword symbol - GP + addend */ |
RELOC_NUMBER (R_PARISC_DLTREL14WR, 91) |
/* load/store mod. comp. (2) RR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_DLTREL14DR, 92) |
/* load/store doubleword (3) RR(symbol - GP, addend) */ |
RELOC_NUMBER (R_PARISC_GPREL16F, 93) |
/* load/store (1) symbol - GP + addend */ |
RELOC_NUMBER (R_PARISC_GPREL16WF, 94) |
/* load/store mod. comp. (2) symbol - GP + addend */ |
RELOC_NUMBER (R_PARISC_GPREL16DF, 95) |
/* load/store doubleword (3) symbol - GP + addend */ |
RELOC_NUMBER (R_PARISC_LTOFF64, 96) |
/* 64-bit doubleword ltoff(symbol + addend) */ |
RELOC_NUMBER (R_PARISC_DLTIND14WR, 99) |
/* load/store mod. comp. (2) R(ltoff(symbol + addend)) */ |
RELOC_NUMBER (R_PARISC_DLTIND14DR, 100) |
/* load/store doubleword (3) R(ltoff(symbol + addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF16F, 101) |
/* load/store (1) ltoff(symbol + addend) */ |
RELOC_NUMBER (R_PARISC_LTOFF16WF, 102) |
/* load/store mod. comp. (2) ltoff(symbol + addend) */ |
RELOC_NUMBER (R_PARISC_LTOFF16DF, 103) |
/* load/store doubleword (3) ltoff(symbol + addend) */ |
RELOC_NUMBER (R_PARISC_SECREL64, 104) |
/* 64-bit doubleword symbol - SECT + addend */ |
RELOC_NUMBER (R_PARISC_BASEREL14WR, 107) |
/* load/store mod. comp. (2) RR(symbol - base, addend) */ |
RELOC_NUMBER (R_PARISC_BASEREL14DR, 108) |
/* load/store doubleword (3) RR(symbol - base, addend) */ |
RELOC_NUMBER (R_PARISC_SEGREL64, 112) |
/* 64-bit doubleword symbol - SB + addend */ |
RELOC_NUMBER (R_PARISC_PLTOFF14WR, 115) |
/* load/store mod. comp. (2) RR(pltoff(symbol), addend) */ |
RELOC_NUMBER (R_PARISC_PLTOFF14DR, 116) |
/* load/store doubleword (3) RR(pltoff(symbol), addend) */ |
RELOC_NUMBER (R_PARISC_PLTOFF16F, 117) |
/* load/store (1) pltoff(symbol) + addend */ |
RELOC_NUMBER (R_PARISC_PLTOFF16WF, 118) |
/* load/store mod. comp. (2) pltoff(symbol) + addend */ |
RELOC_NUMBER (R_PARISC_PLTOFF16DF, 119) |
/* load/store doubleword (3) pltoff(symbol) + addend */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR64, 120) |
/* 64-bit doubleword ltoff(fptr(symbol+addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR14WR, 123) |
/* load/store mod. comp. (2) R(ltoff(fptr(symbol+addend))) */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR14DR, 124) |
/* load/store doubleword (3) R(ltoff(fptr(symbol+addend))) */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR16F, 125) |
/* load/store (1) ltoff(fptr(symbol+addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR16WF, 126) |
/* load/store mod. comp. (2) ltoff(fptr(symbol+addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_FPTR16DF, 127) |
/* load/store doubleword (3) ltoff(fptr(symbol+addend)) */ |
RELOC_NUMBER (R_PARISC_COPY, 128) |
/* data Dynamic relocations only */ |
RELOC_NUMBER (R_PARISC_IPLT, 129) |
/* plt */ |
RELOC_NUMBER (R_PARISC_EPLT, 130) |
/* plt */ |
RELOC_NUMBER (R_PARISC_TPREL32, 153) |
/* 32-bit word symbol - TP + addend */ |
RELOC_NUMBER (R_PARISC_TPREL21L, 154) |
/* long immediate (7) LR(symbol - TP, addend) */ |
RELOC_NUMBER (R_PARISC_TPREL14R, 158) |
/* load/store (1) RR(symbol - TP, addend) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP21L, 162) |
/* long immediate (7) L(ltoff(symbol - TP + addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP14R, 166) |
/* load/store (1) R(ltoff(symbol - TP + addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP14F, 167) |
/* load/store (1) ltoff(symbol - TP + addend) */ |
RELOC_NUMBER (R_PARISC_TPREL64, 216) |
/* 64-bit word symbol - TP + addend */ |
RELOC_NUMBER (R_PARISC_TPREL14WR, 219) |
/* load/store mod. comp. (2) RR(symbol - TP, addend) */ |
RELOC_NUMBER (R_PARISC_TPREL14DR, 220) |
/* load/store doubleword (3) RR(symbol - TP, addend) */ |
RELOC_NUMBER (R_PARISC_TPREL16F, 221) |
/* load/store (1) symbol - TP + addend */ |
RELOC_NUMBER (R_PARISC_TPREL16WF, 222) |
/* load/store mod. comp. (2) symbol - TP + addend */ |
RELOC_NUMBER (R_PARISC_TPREL16DF, 223) |
/* load/store doubleword (3) symbol - TP + addend */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP64, 224) |
/* 64-bit doubleword ltoff(symbol - TP + addend) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP14WR, 227) |
/* load/store mod. comp. (2) R(ltoff(symbol - TP + addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP14DR, 228) |
/* load/store doubleword (3) R(ltoff(symbol - TP + addend)) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP16F, 229) |
/* load/store (1) ltoff(symbol - TP + addend) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP16WF, 230) |
/* load/store mod. comp. (2) ltoff(symbol - TP + addend) */ |
RELOC_NUMBER (R_PARISC_LTOFF_TP16DF, 231) |
/* load/store doubleword (3) ltoff(symbol - TP + addend) */ |
RELOC_NUMBER (R_PARISC_GNU_VTENTRY, 232) |
RELOC_NUMBER (R_PARISC_GNU_VTINHERIT, 233) |
RELOC_NUMBER (R_PARISC_TLS_GD21L, 234) |
RELOC_NUMBER (R_PARISC_TLS_GD14R, 235) |
RELOC_NUMBER (R_PARISC_TLS_GDCALL, 236) |
RELOC_NUMBER (R_PARISC_TLS_LDM21L, 237) |
RELOC_NUMBER (R_PARISC_TLS_LDM14R, 238) |
RELOC_NUMBER (R_PARISC_TLS_LDMCALL, 239) |
RELOC_NUMBER (R_PARISC_TLS_LDO21L, 240) |
RELOC_NUMBER (R_PARISC_TLS_LDO14R, 241) |
RELOC_NUMBER (R_PARISC_TLS_DTPMOD32, 242) |
RELOC_NUMBER (R_PARISC_TLS_DTPMOD64, 243) |
RELOC_NUMBER (R_PARISC_TLS_DTPOFF32, 244) |
RELOC_NUMBER (R_PARISC_TLS_DTPOFF64, 245) |
END_RELOC_NUMBERS (R_PARISC_UNIMPLEMENTED) |
#define R_PARISC_TLS_LE21L R_PARISC_TPREL21L |
#define R_PARISC_TLS_LE14R R_PARISC_TPREL14R |
#define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L |
#define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R |
#define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32 |
#define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64 |
#ifndef RELOC_MACROS_GEN_FUNC |
typedef enum elf_hppa_reloc_type elf_hppa_reloc_type; |
#endif |
#define PT_PARISC_ARCHEXT 0x70000000 |
#define PT_PARISC_UNWIND 0x70000001 |
#define PT_PARISC_WEAKORDER 0x70000002 |
/* Flag bits in sh_flags of ElfXX_Shdr. */ |
#define SHF_HP_TLS 0x01000000 |
#define SHF_HP_NEAR_SHARED 0x02000000 |
#define SHF_HP_FAR_SHARED 0x04000000 |
#define SHF_HP_COMDAT 0x08000000 |
#define SHF_HP_CONST 0x00800000 |
/* Reserved section header indices. */ |
#define SHN_TLS_COMMON (SHN_LOOS + 0x0) |
#define SHN_NS_COMMON (SHN_LOOS + 0x1) |
#define SHN_FS_COMMON (SHN_LOOS + 0x2) |
#define SHN_NS_UNDEF (SHN_LOOS + 0x3) |
#define SHN_FS_UNDEF (SHN_LOOS + 0x4) |
#define SHN_HP_EXTERN (SHN_LOOS + 0x5) |
#define SHN_HP_EXTHINT (SHN_LOOS + 0x6) |
#define SHN_HP_UNDEF_BIND_IMM (SHN_LOOS + 0x7) |
/* Values of sh_type in ElfXX_Shdr. */ |
#define SHT_HP_OVLBITS (SHT_LOOS + 0x0) |
#define SHT_HP_DLKM (SHT_LOOS + 0x1) |
#define SHT_HP_COMDAT (SHT_LOOS + 0x2) |
#define SHT_HP_OBJDICT (SHT_LOOS + 0x3) |
#define SHT_HP_ANNOT (SHT_LOOS + 0x4) |
/* Flag bits in p_flags of ElfXX_Phdr. */ |
#define PF_HP_CODE 0x00040000 |
#define PF_HP_MODIFY 0x00080000 |
#define PF_HP_PAGE_SIZE 0x00100000 |
#define PF_HP_FAR_SHARED 0x00200000 |
#define PF_HP_NEAR_SHARED 0x00400000 |
#define PF_HP_LAZYSWAP 0x00800000 |
#define PF_HP_CODE_DEPR 0x01000000 |
#define PF_HP_MODIFY_DEPR 0x02000000 |
#define PF_HP_LAZYSWAP_DEPR 0x04000000 |
#define PF_PARISC_SBP 0x08000000 |
#define PF_HP_SBP 0x08000000 |
/* Processor specific dynamic array tags. */ |
/* Arggh. HP's tools define these symbols based on the |
old value of DT_LOOS. So we must do the same to be |
compatible. */ |
#define DT_HP_LOAD_MAP (OLD_DT_LOOS + 0x0) |
#define DT_HP_DLD_FLAGS (OLD_DT_LOOS + 0x1) |
#define DT_HP_DLD_HOOK (OLD_DT_LOOS + 0x2) |
#define DT_HP_UX10_INIT (OLD_DT_LOOS + 0x3) |
#define DT_HP_UX10_INITSZ (OLD_DT_LOOS + 0x4) |
#define DT_HP_PREINIT (OLD_DT_LOOS + 0x5) |
#define DT_HP_PREINITSZ (OLD_DT_LOOS + 0x6) |
#define DT_HP_NEEDED (OLD_DT_LOOS + 0x7) |
#define DT_HP_TIME_STAMP (OLD_DT_LOOS + 0x8) |
#define DT_HP_CHECKSUM (OLD_DT_LOOS + 0x9) |
#define DT_HP_GST_SIZE (OLD_DT_LOOS + 0xa) |
#define DT_HP_GST_VERSION (OLD_DT_LOOS + 0xb) |
#define DT_HP_GST_HASHVAL (OLD_DT_LOOS + 0xc) |
#define DT_HP_EPLTREL (OLD_DT_LOOS + 0xd) |
#define DT_HP_EPLTRELSZ (OLD_DT_LOOS + 0xe) |
#define DT_HP_FILTERED (OLD_DT_LOOS + 0xf) |
#define DT_HP_FILTER_TLS (OLD_DT_LOOS + 0x10) |
#define DT_HP_COMPAT_FILTERED (OLD_DT_LOOS + 0x11) |
#define DT_HP_LAZYLOAD (OLD_DT_LOOS + 0x12) |
#define DT_HP_BIND_NOW_COUNT (OLD_DT_LOOS + 0x13) |
#define DT_PLT (OLD_DT_LOOS + 0x14) |
#define DT_PLT_SIZE (OLD_DT_LOOS + 0x15) |
#define DT_DLT (OLD_DT_LOOS + 0x16) |
#define DT_DLT_SIZE (OLD_DT_LOOS + 0x17) |
/* Values for DT_HP_DLD_FLAGS. */ |
#define DT_HP_DEBUG_PRIVATE 0x00001 /* Map text private */ |
#define DT_HP_DEBUG_CALLBACK 0x00002 /* Callback */ |
#define DT_HP_DEBUG_CALLBACK_BOR 0x00004 /* BOR callback */ |
#define DT_HP_NO_ENVVAR 0x00008 /* No env var */ |
#define DT_HP_BIND_NOW 0x00010 /* Bind now */ |
#define DT_HP_BIND_NONFATAL 0x00020 /* Bind non-fatal */ |
#define DT_HP_BIND_VERBOSE 0x00040 /* Bind verbose */ |
#define DT_HP_BIND_RESTRICTED 0x00080 /* Bind restricted */ |
#define DT_HP_BIND_SYMBOLIC 0x00100 /* Bind symbolic */ |
#define DT_HP_RPATH_FIRST 0x00200 /* RPATH first */ |
#define DT_HP_BIND_DEPTH_FIRST 0x00400 /* Bind depth-first */ |
#define DT_HP_GST 0x00800 /* Dld global sym table */ |
#define DT_HP_SHLIB_FIXED 0x01000 /* shared vtable support */ |
#define DT_HP_MERGE_SHLIB_SEG 0x02000 /* merge shlib data segs */ |
#define DT_HP_NODELETE 0x04000 /* never unload */ |
#define DT_HP_GROUP 0x08000 /* bind only within group */ |
#define DT_HP_PROTECT_LINKAGE_TABLE 0x10000 /* protected linkage table */ |
/* Program header extensions. */ |
#define PT_HP_TLS (PT_LOOS + 0x0) |
#define PT_HP_CORE_NONE (PT_LOOS + 0x1) |
#define PT_HP_CORE_VERSION (PT_LOOS + 0x2) |
#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3) |
#define PT_HP_CORE_COMM (PT_LOOS + 0x4) |
#define PT_HP_CORE_PROC (PT_LOOS + 0x5) |
#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6) |
#define PT_HP_CORE_STACK (PT_LOOS + 0x7) |
#define PT_HP_CORE_SHM (PT_LOOS + 0x8) |
#define PT_HP_CORE_MMF (PT_LOOS + 0x9) |
#define PT_HP_PARALLEL (PT_LOOS + 0x10) |
#define PT_HP_FASTBIND (PT_LOOS + 0x11) |
#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12) |
#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13) |
#define PT_HP_STACK (PT_LOOS + 0x14) |
#define PT_HP_CORE_UTSNAME (PT_LOOS + 0x15) |
/* Binding information. */ |
#define STB_HP_ALIAS (STB_LOOS + 0x0) |
/* Additional symbol types. */ |
#define STT_HP_OPAQUE (STT_LOOS + 0x1) |
#define STT_HP_STUB (STT_LOOS + 0x2) |
/* Note types. */ |
#define NT_HP_COMPILER 1 |
#define NT_HP_COPYRIGHT 2 |
#define NT_HP_VERSION 3 |
#define NT_HP_SRCFILE_INFO 4 |
#define NT_HP_LINKER 5 |
#define NT_HP_INSTRUMENTED 6 |
#define NT_HP_UX_OPTIONS 7 |
#endif /* _ELF_HPPA_H */ |
/contrib/toolchain/binutils/include/elf/i370.h |
---|
0,0 → 1,61 |
/* i370 ELF support for BFD. |
Copyright 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 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 i370 ELF ABI. Note |
that most of this is not actually implemented by BFD. */ |
#ifndef _ELF_I370_H |
#define _ELF_I370_H |
#include "elf/reloc-macros.h" |
/* Processor specific section headers, sh_type field */ |
#define SHT_ORDERED SHT_HIPROC /* Link editor is to sort the \ |
entries in this section \ |
based on the address \ |
specified in the associated \ |
symbol table entry. */ |
#define EF_I370_RELOCATABLE 0x00010000 /* i370 -mrelocatable flag */ |
#define EF_I370_RELOCATABLE_LIB 0x00008000 /* i370 -mrelocatable-lib flag */ |
/* i370 relocations |
Note that there is really just one relocation that we currently |
support (and only one that we seem to need, at the moment), and |
that is the 31-bit address relocation. Note that the 370/390 |
only supports a 31-bit (2GB) address space. */ |
START_RELOC_NUMBERS (i370_reloc_type) |
RELOC_NUMBER (R_I370_NONE, 0) |
RELOC_NUMBER (R_I370_ADDR31, 1) |
RELOC_NUMBER (R_I370_ADDR32, 2) |
RELOC_NUMBER (R_I370_ADDR16, 3) |
RELOC_NUMBER (R_I370_REL31, 4) |
RELOC_NUMBER (R_I370_REL32, 5) |
RELOC_NUMBER (R_I370_ADDR12, 6) |
RELOC_NUMBER (R_I370_REL12, 7) |
RELOC_NUMBER (R_I370_ADDR8, 8) |
RELOC_NUMBER (R_I370_REL8, 9) |
RELOC_NUMBER (R_I370_COPY, 10) |
RELOC_NUMBER (R_I370_RELATIVE, 11) |
END_RELOC_NUMBERS (R_I370_max) |
#endif /* _ELF_I370_H */ |
/contrib/toolchain/binutils/include/elf/i386.h |
---|
0,0 → 1,79 |
/* ix86 ELF support for BFD. |
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 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_I386_H |
#define _ELF_I386_H |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (elf_i386_reloc_type) |
RELOC_NUMBER (R_386_NONE, 0) /* No reloc */ |
RELOC_NUMBER (R_386_32, 1) /* Direct 32 bit */ |
RELOC_NUMBER (R_386_PC32, 2) /* PC relative 32 bit */ |
RELOC_NUMBER (R_386_GOT32, 3) /* 32 bit GOT entry */ |
RELOC_NUMBER (R_386_PLT32, 4) /* 32 bit PLT address */ |
RELOC_NUMBER (R_386_COPY, 5) /* Copy symbol at runtime */ |
RELOC_NUMBER (R_386_GLOB_DAT, 6) /* Create GOT entry */ |
RELOC_NUMBER (R_386_JUMP_SLOT, 7) /* Create PLT entry */ |
RELOC_NUMBER (R_386_RELATIVE, 8) /* Adjust by program base */ |
RELOC_NUMBER (R_386_GOTOFF, 9) /* 32 bit offset to GOT */ |
RELOC_NUMBER (R_386_GOTPC, 10) /* 32 bit PC relative offset to GOT */ |
RELOC_NUMBER (R_386_32PLT, 11) /* Used by Sun */ |
FAKE_RELOC (FIRST_INVALID_RELOC, 12) |
FAKE_RELOC (LAST_INVALID_RELOC, 13) |
RELOC_NUMBER (R_386_TLS_TPOFF,14) |
RELOC_NUMBER (R_386_TLS_IE, 15) |
RELOC_NUMBER (R_386_TLS_GOTIE,16) |
RELOC_NUMBER (R_386_TLS_LE, 17) |
RELOC_NUMBER (R_386_TLS_GD, 18) |
RELOC_NUMBER (R_386_TLS_LDM, 19) |
RELOC_NUMBER (R_386_16, 20) |
RELOC_NUMBER (R_386_PC16, 21) |
RELOC_NUMBER (R_386_8, 22) |
RELOC_NUMBER (R_386_PC8, 23) |
RELOC_NUMBER (R_386_TLS_GD_32, 24) |
RELOC_NUMBER (R_386_TLS_GD_PUSH, 25) |
RELOC_NUMBER (R_386_TLS_GD_CALL, 26) |
RELOC_NUMBER (R_386_TLS_GD_POP, 27) |
RELOC_NUMBER (R_386_TLS_LDM_32, 28) |
RELOC_NUMBER (R_386_TLS_LDM_PUSH, 29) |
RELOC_NUMBER (R_386_TLS_LDM_CALL, 30) |
RELOC_NUMBER (R_386_TLS_LDM_POP, 31) |
RELOC_NUMBER (R_386_TLS_LDO_32, 32) |
RELOC_NUMBER (R_386_TLS_IE_32, 33) |
RELOC_NUMBER (R_386_TLS_LE_32, 34) |
RELOC_NUMBER (R_386_TLS_DTPMOD32, 35) |
RELOC_NUMBER (R_386_TLS_DTPOFF32, 36) |
RELOC_NUMBER (R_386_TLS_TPOFF32, 37) |
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) |
RELOC_NUMBER (R_386_IRELATIVE, 42) /* Adjust indirectly by program base */ |
/* Used by Intel. */ |
RELOC_NUMBER (R_386_USED_BY_INTEL_200, 200) |
/* These are GNU extensions to enable C++ vtable garbage collection. */ |
RELOC_NUMBER (R_386_GNU_VTINHERIT, 250) |
RELOC_NUMBER (R_386_GNU_VTENTRY, 251) |
END_RELOC_NUMBERS (R_386_max) |
#endif |
/contrib/toolchain/binutils/include/elf/i860.h |
---|
0,0 → 1,66 |
/* i860 ELF support for BFD. |
Copyright 2000, 2010 Free Software Foundation, Inc. |
Contributed by Jason Eckhardt <jle@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 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_I860_H |
#define _ELF_I860_H |
/* Note: i860 ELF is defined to use only RELA relocations. */ |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (elf_i860_reloc_type) |
RELOC_NUMBER (R_860_NONE, 0x00) /* No reloc */ |
RELOC_NUMBER (R_860_32, 0x01) /* S+A */ |
RELOC_NUMBER (R_860_COPY, 0x02) /* No calculation */ |
RELOC_NUMBER (R_860_GLOB_DAT, 0x03) /* S, Create GOT entry */ |
RELOC_NUMBER (R_860_JUMP_SLOT, 0x04) /* S+A, Create PLT entry */ |
RELOC_NUMBER (R_860_RELATIVE, 0x05) /* B+A, Adj by program base */ |
RELOC_NUMBER (R_860_PC26, 0x30) /* (S+A-P) >> 2 */ |
RELOC_NUMBER (R_860_PLT26, 0x31) /* (L+A-P) >> 2 */ |
RELOC_NUMBER (R_860_PC16, 0x32) /* (S+A-P) >> 2 */ |
RELOC_NUMBER (R_860_LOW0, 0x40) /* S+A */ |
RELOC_NUMBER (R_860_SPLIT0, 0x42) /* S+A */ |
RELOC_NUMBER (R_860_LOW1, 0x44) /* S+A */ |
RELOC_NUMBER (R_860_SPLIT1, 0x46) /* S+A */ |
RELOC_NUMBER (R_860_LOW2, 0x48) /* S+A */ |
RELOC_NUMBER (R_860_SPLIT2, 0x4A) /* S+A */ |
RELOC_NUMBER (R_860_LOW3, 0x4C) /* S+A */ |
RELOC_NUMBER (R_860_LOGOT0, 0x50) /* G */ |
RELOC_NUMBER (R_860_SPGOT0, 0x52) /* G */ |
RELOC_NUMBER (R_860_LOGOT1, 0x54) /* G */ |
RELOC_NUMBER (R_860_SPGOT1, 0x56) /* G */ |
RELOC_NUMBER (R_860_LOGOTOFF0, 0x60) /* O */ |
RELOC_NUMBER (R_860_SPGOTOFF0, 0x62) /* O */ |
RELOC_NUMBER (R_860_LOGOTOFF1, 0x64) /* O */ |
RELOC_NUMBER (R_860_SPGOTOFF1, 0x66) /* O */ |
RELOC_NUMBER (R_860_LOGOTOFF2, 0x68) /* O */ |
RELOC_NUMBER (R_860_LOGOTOFF3, 0x6C) /* O */ |
RELOC_NUMBER (R_860_LOPC, 0x70) /* (S+A-P) >> 2 */ |
RELOC_NUMBER (R_860_HIGHADJ, 0x80) /* hiadj(S+A) */ |
RELOC_NUMBER (R_860_HAGOT, 0x90) /* hiadj(G) */ |
RELOC_NUMBER (R_860_HAGOTOFF, 0xA0) /* hiadj(O) */ |
RELOC_NUMBER (R_860_HAPC, 0xB0) /* hiadj((S+A-P) >> 2) */ |
RELOC_NUMBER (R_860_HIGH, 0xC0) /* (S+A) >> 16 */ |
RELOC_NUMBER (R_860_HIGOT, 0xD0) /* G >> 16 */ |
RELOC_NUMBER (R_860_HIGOTOFF, 0xE0) /* O */ |
END_RELOC_NUMBERS (R_860_max) |
#endif |
/contrib/toolchain/binutils/include/elf/i960.h |
---|
0,0 → 1,37 |
/* Intel 960 ELF support for BFD. |
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 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_I960_H |
#define _ELF_I960_H |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (elf_i960_reloc_type) |
RELOC_NUMBER (R_960_NONE, 0) |
RELOC_NUMBER (R_960_12, 1) |
RELOC_NUMBER (R_960_32, 2) |
RELOC_NUMBER (R_960_IP24, 3) |
RELOC_NUMBER (R_960_SUB, 4) |
RELOC_NUMBER (R_960_OPTCALL, 5) |
RELOC_NUMBER (R_960_OPTCALLX, 6) |
RELOC_NUMBER (R_960_OPTCALLXA, 7) |
END_RELOC_NUMBERS (R_960_max) |
#endif /* _ELF_I960_H */ |
/contrib/toolchain/binutils/include/elf/ia64.h |
---|
0,0 → 1,416 |
/* IA-64 ELF support for BFD. |
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008, 2009, 2010 |
Free Software Foundation, Inc. |
Contributed by David Mosberger-Tang <davidm@hpl.hp.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 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_IA64_H |
#define _ELF_IA64_H |
/* Bits in the e_flags field of the Elf64_Ehdr: */ |
#define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */ |
#define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */ |
#define EF_IA_64_ARCHVER_1 (1 << 24) /* Arch. version level 1 compat. */ |
/* ??? These four definitions are not part of the SVR4 ABI. |
They were present in David's initial code drop, so it is probable |
that they are used by HP/UX. */ |
#define EF_IA_64_TRAPNIL (1 << 0) /* Trap NIL pointer dereferences. */ |
#define EF_IA_64_EXT (1 << 2) /* Program uses arch. extensions. */ |
#define EF_IA_64_BE (1 << 3) /* PSR BE bit set (big-endian). */ |
#define EFA_IA_64_EAS2_3 0x23000000 /* IA64 EAS 2.3. */ |
#define EF_IA_64_ABI64 (1 << 4) /* 64-bit ABI. */ |
/* Not used yet. */ |
#define EF_IA_64_REDUCEDFP (1 << 5) /* Only FP6-FP11 used. */ |
#define EF_IA_64_CONS_GP (1 << 6) /* gp as program wide constant. */ |
#define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */ |
/* 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" |
#define ELF_STRING_ia64_unwind_info ".IA_64.unwind_info" |
#define ELF_STRING_ia64_unwind_once ".gnu.linkonce.ia64unw." |
#define ELF_STRING_ia64_unwind_info_once ".gnu.linkonce.ia64unwi." |
/* .IA_64.unwind_hdr is only used by HP-UX. */ |
#define ELF_STRING_ia64_unwind_hdr ".IA_64.unwind_hdr" |
/* Bits in the sh_flags field of Elf64_Shdr: */ |
#define SHF_IA_64_SHORT 0x10000000 /* Section near gp. */ |
#define SHF_IA_64_NORECOV 0x20000000 /* Spec insns w/o recovery. */ |
#define SHF_IA_64_HP_TLS 0x01000000 /* HP specific TLS flag. */ |
#define SHF_IA_64_VMS_GLOBAL 0x0100000000ULL /* Global for clustering. */ |
#define SHF_IA_64_VMS_OVERLAID 0x0200000000ULL /* To be overlaid. */ |
#define SHF_IA_64_VMS_SHARED 0x0400000000ULL /* Shared btw processes. */ |
#define SHF_IA_64_VMS_VECTOR 0x0800000000ULL /* Priv change mode vect. */ |
#define SHF_IA_64_VMS_ALLOC_64BIT 0x1000000000ULL /* Allocate beyond 2GB. */ |
#define SHF_IA_64_VMS_PROTECTED 0x2000000000ULL /* Export from sharable. */ |
/* Possible values for sh_type in Elf64_Shdr: */ |
#define SHT_IA_64_EXT (SHT_LOPROC + 0) /* Extension bits. */ |
#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* Unwind bits. */ |
#define SHT_IA_64_LOPSREG (SHT_LOPROC + 0x8000000) |
/* ABI says (SHT_LOPROC + 0xfffffff) but I think it's a typo -- this makes sense. */ |
#define SHT_IA_64_HIPSREG (SHT_LOPROC + 0x8ffffff) |
#define SHT_IA_64_PRIORITY_INIT (SHT_LOPROC + 0x9000000) |
/* SHT_IA_64_HP_OPT_ANOT is only generated by HPUX compilers for its |
optimization annotation section. GCC does not generate it but we |
want readelf to know what they are. Do not use two capital Ns in |
annotate or sed will turn it into 32 or 64 during the build. */ |
#define SHT_IA_64_HP_OPT_ANOT 0x60000004 |
/* OpenVMS section types. */ |
/* The section contains PC-to-source correlation information for use by the |
VMS RTL's traceback facility. */ |
#define SHT_IA_64_VMS_TRACE 0x60000000 |
/* The section contains routine signature information for use by the |
translated image executive. */ |
#define SHT_IA_64_VMS_TIE_SIGNATURES 0x60000001 |
/* The section contains dwarf-3 information. */ |
#define SHT_IA_64_VMS_DEBUG 0x60000002 |
/* The section contains the dwarf-3 string table. */ |
#define SHT_IA_64_VMS_DEBUG_STR 0x60000003 |
/* The section contains linkage information to perform consistency checking |
accross object modules. */ |
#define SHT_IA_64_VMS_LINKAGES 0x60000004 |
/* The section allows the symbol vector in an image to be location through |
the section table. */ |
#define SHT_IA_64_VMS_SYMBOL_VECTOR 0x60000005 |
/* The section contains inter-image fixups. */ |
#define SHT_IA_64_VMS_FIXUP 0x60000006 |
/* The section contains unmangled name info. */ |
#define SHT_IA_64_VMS_DISPLAY_NAME_INFO 0x60000007 |
/* Bits in the p_flags field of Elf64_Phdr: */ |
#define PF_IA_64_NORECOV 0x80000000 |
/* Possible values for p_type in Elf64_Phdr: */ |
#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* Arch extension bits, */ |
#define PT_IA_64_UNWIND (PT_LOPROC + 1) /* IA64 unwind bits. */ |
/* HP-UX specific values for p_type in Elf64_Phdr. |
These values are currently just used to make |
readelf more usable on HP-UX. */ |
#define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12) |
#define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13) |
#define PT_IA_64_HP_STACK (PT_LOOS + 0x14) |
/* Possible values for d_tag in Elf64_Dyn: */ |
#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0) |
/* VMS specific values for d_tag in Elf64_Dyn: */ |
#define DT_IA_64_VMS_SUBTYPE (DT_LOOS + 0) |
#define DT_IA_64_VMS_IMGIOCNT (DT_LOOS + 2) |
#define DT_IA_64_VMS_LNKFLAGS (DT_LOOS + 8) |
#define DT_IA_64_VMS_VIR_MEM_BLK_SIZ (DT_LOOS + 10) |
#define DT_IA_64_VMS_IDENT (DT_LOOS + 12) |
#define DT_IA_64_VMS_NEEDED_IDENT (DT_LOOS + 16) |
#define DT_IA_64_VMS_IMG_RELA_CNT (DT_LOOS + 18) |
#define DT_IA_64_VMS_SEG_RELA_CNT (DT_LOOS + 20) |
#define DT_IA_64_VMS_FIXUP_RELA_CNT (DT_LOOS + 22) |
#define DT_IA_64_VMS_FIXUP_NEEDED (DT_LOOS + 24) |
#define DT_IA_64_VMS_SYMVEC_CNT (DT_LOOS + 26) |
#define DT_IA_64_VMS_XLATED (DT_LOOS + 30) |
#define DT_IA_64_VMS_STACKSIZE (DT_LOOS + 32) |
#define DT_IA_64_VMS_UNWINDSZ (DT_LOOS + 34) |
#define DT_IA_64_VMS_UNWIND_CODSEG (DT_LOOS + 36) |
#define DT_IA_64_VMS_UNWIND_INFOSEG (DT_LOOS + 38) |
#define DT_IA_64_VMS_LINKTIME (DT_LOOS + 40) |
#define DT_IA_64_VMS_SEG_NO (DT_LOOS + 42) |
#define DT_IA_64_VMS_SYMVEC_OFFSET (DT_LOOS + 44) |
#define DT_IA_64_VMS_SYMVEC_SEG (DT_LOOS + 46) |
#define DT_IA_64_VMS_UNWIND_OFFSET (DT_LOOS + 48) |
#define DT_IA_64_VMS_UNWIND_SEG (DT_LOOS + 50) |
#define DT_IA_64_VMS_STRTAB_OFFSET (DT_LOOS + 52) |
#define DT_IA_64_VMS_SYSVER_OFFSET (DT_LOOS + 54) |
#define DT_IA_64_VMS_IMG_RELA_OFF (DT_LOOS + 56) |
#define DT_IA_64_VMS_SEG_RELA_OFF (DT_LOOS + 58) |
#define DT_IA_64_VMS_FIXUP_RELA_OFF (DT_LOOS + 60) |
#define DT_IA_64_VMS_PLTGOT_OFFSET (DT_LOOS + 62) |
#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. */ |
#define SHN_IA_64_ANSI_COMMON SHN_LORESERVE |
/* This section is only used by OpenVMS. Symbol is defined in the symbol |
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 |
significant 2 bits of the address indicate which instruction in the |
bundle the reloc refers to (0=first slot, 1=second slow, 2=third |
slot, 3=undefined) and the remaining bits give the address of the |
bundle (16 byte aligned). |
The top 5 bits of the reloc code specifies the expression type, the |
low 3 bits the format of the data word being relocated. */ |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (elf_ia64_reloc_type) |
RELOC_NUMBER (R_IA64_NONE, 0x00) /* none */ |
RELOC_NUMBER (R_IA64_IMM14, 0x21) /* symbol + addend, add imm14 */ |
RELOC_NUMBER (R_IA64_IMM22, 0x22) /* symbol + addend, add imm22 */ |
RELOC_NUMBER (R_IA64_IMM64, 0x23) /* symbol + addend, mov imm64 */ |
RELOC_NUMBER (R_IA64_DIR32MSB, 0x24) /* symbol + addend, data4 MSB */ |
RELOC_NUMBER (R_IA64_DIR32LSB, 0x25) /* symbol + addend, data4 LSB */ |
RELOC_NUMBER (R_IA64_DIR64MSB, 0x26) /* symbol + addend, data8 MSB */ |
RELOC_NUMBER (R_IA64_DIR64LSB, 0x27) /* symbol + addend, data8 LSB */ |
RELOC_NUMBER (R_IA64_GPREL22, 0x2a) /* @gprel(sym+add), add imm22 */ |
RELOC_NUMBER (R_IA64_GPREL64I, 0x2b) /* @gprel(sym+add), mov imm64 */ |
RELOC_NUMBER (R_IA64_GPREL32MSB, 0x2c) /* @gprel(sym+add), data4 MSB */ |
RELOC_NUMBER (R_IA64_GPREL32LSB, 0x2d) /* @gprel(sym+add), data4 LSB */ |
RELOC_NUMBER (R_IA64_GPREL64MSB, 0x2e) /* @gprel(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_GPREL64LSB, 0x2f) /* @gprel(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_LTOFF22, 0x32) /* @ltoff(sym+add), add imm22 */ |
RELOC_NUMBER (R_IA64_LTOFF64I, 0x33) /* @ltoff(sym+add), mov imm64 */ |
RELOC_NUMBER (R_IA64_PLTOFF22, 0x3a) /* @pltoff(sym+add), add imm22 */ |
RELOC_NUMBER (R_IA64_PLTOFF64I, 0x3b) /* @pltoff(sym+add), mov imm64 */ |
RELOC_NUMBER (R_IA64_PLTOFF64MSB, 0x3e) /* @pltoff(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_PLTOFF64LSB, 0x3f) /* @pltoff(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_FPTR64I, 0x43) /* @fptr(sym+add), mov imm64 */ |
RELOC_NUMBER (R_IA64_FPTR32MSB, 0x44) /* @fptr(sym+add), data4 MSB */ |
RELOC_NUMBER (R_IA64_FPTR32LSB, 0x45) /* @fptr(sym+add), data4 LSB */ |
RELOC_NUMBER (R_IA64_FPTR64MSB, 0x46) /* @fptr(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_FPTR64LSB, 0x47) /* @fptr(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_PCREL60B, 0x48) /* @pcrel(sym+add), brl */ |
RELOC_NUMBER (R_IA64_PCREL21B, 0x49) /* @pcrel(sym+add), ptb, call */ |
RELOC_NUMBER (R_IA64_PCREL21M, 0x4a) /* @pcrel(sym+add), chk.s */ |
RELOC_NUMBER (R_IA64_PCREL21F, 0x4b) /* @pcrel(sym+add), fchkf */ |
RELOC_NUMBER (R_IA64_PCREL32MSB, 0x4c) /* @pcrel(sym+add), data4 MSB */ |
RELOC_NUMBER (R_IA64_PCREL32LSB, 0x4d) /* @pcrel(sym+add), data4 LSB */ |
RELOC_NUMBER (R_IA64_PCREL64MSB, 0x4e) /* @pcrel(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_PCREL64LSB, 0x4f) /* @pcrel(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_LTOFF_FPTR22, 0x52) /* @ltoff(@fptr(s+a)), imm22 */ |
RELOC_NUMBER (R_IA64_LTOFF_FPTR64I, 0x53) /* @ltoff(@fptr(s+a)), imm64 */ |
RELOC_NUMBER (R_IA64_LTOFF_FPTR32MSB, 0x54) /* @ltoff(@fptr(s+a)), 4 MSB */ |
RELOC_NUMBER (R_IA64_LTOFF_FPTR32LSB, 0x55) /* @ltoff(@fptr(s+a)), 4 LSB */ |
RELOC_NUMBER (R_IA64_LTOFF_FPTR64MSB, 0x56) /* @ltoff(@fptr(s+a)), 8 MSB */ |
RELOC_NUMBER (R_IA64_LTOFF_FPTR64LSB, 0x57) /* @ltoff(@fptr(s+a)), 8 LSB */ |
RELOC_NUMBER (R_IA64_SEGREL32MSB, 0x5c) /* @segrel(sym+add), data4 MSB */ |
RELOC_NUMBER (R_IA64_SEGREL32LSB, 0x5d) /* @segrel(sym+add), data4 LSB */ |
RELOC_NUMBER (R_IA64_SEGREL64MSB, 0x5e) /* @segrel(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_SEGREL64LSB, 0x5f) /* @segrel(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_SECREL32MSB, 0x64) /* @secrel(sym+add), data4 MSB */ |
RELOC_NUMBER (R_IA64_SECREL32LSB, 0x65) /* @secrel(sym+add), data4 LSB */ |
RELOC_NUMBER (R_IA64_SECREL64MSB, 0x66) /* @secrel(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_SECREL64LSB, 0x67) /* @secrel(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_REL32MSB, 0x6c) /* data 4 + REL */ |
RELOC_NUMBER (R_IA64_REL32LSB, 0x6d) /* data 4 + REL */ |
RELOC_NUMBER (R_IA64_REL64MSB, 0x6e) /* data 8 + REL */ |
RELOC_NUMBER (R_IA64_REL64LSB, 0x6f) /* data 8 + REL */ |
RELOC_NUMBER (R_IA64_LTV32MSB, 0x74) /* symbol + addend, data4 MSB */ |
RELOC_NUMBER (R_IA64_LTV32LSB, 0x75) /* symbol + addend, data4 LSB */ |
RELOC_NUMBER (R_IA64_LTV64MSB, 0x76) /* symbol + addend, data8 MSB */ |
RELOC_NUMBER (R_IA64_LTV64LSB, 0x77) /* symbol + addend, data8 LSB */ |
RELOC_NUMBER (R_IA64_PCREL21BI, 0x79) /* @pcrel(sym+add), ptb, call */ |
RELOC_NUMBER (R_IA64_PCREL22, 0x7a) /* @pcrel(sym+add), imm22 */ |
RELOC_NUMBER (R_IA64_PCREL64I, 0x7b) /* @pcrel(sym+add), imm64 */ |
RELOC_NUMBER (R_IA64_IPLTMSB, 0x80) /* dynamic reloc, imported PLT, MSB */ |
RELOC_NUMBER (R_IA64_IPLTLSB, 0x81) /* dynamic reloc, imported PLT, LSB */ |
RELOC_NUMBER (R_IA64_COPY, 0x84) /* dynamic reloc, data copy */ |
RELOC_NUMBER (R_IA64_LTOFF22X, 0x86) /* LTOFF22, relaxable. */ |
RELOC_NUMBER (R_IA64_LDXMOV, 0x87) /* Use of LTOFF22X. */ |
RELOC_NUMBER (R_IA64_TPREL14, 0x91) /* @tprel(sym+add), add imm14 */ |
RELOC_NUMBER (R_IA64_TPREL22, 0x92) /* @tprel(sym+add), add imm22 */ |
RELOC_NUMBER (R_IA64_TPREL64I, 0x93) /* @tprel(sym+add), add imm64 */ |
RELOC_NUMBER (R_IA64_TPREL64MSB, 0x96) /* @tprel(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_TPREL64LSB, 0x97) /* @tprel(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_LTOFF_TPREL22, 0x9a) /* @ltoff(@tprel(s+a)), add imm22 */ |
RELOC_NUMBER (R_IA64_DTPMOD64MSB, 0xa6) /* @dtpmod(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_DTPMOD64LSB, 0xa7) /* @dtpmod(sym+add), data8 LSB */ |
RELOC_NUMBER (R_IA64_LTOFF_DTPMOD22, 0xaa) /* @ltoff(@dtpmod(s+a)), imm22 */ |
RELOC_NUMBER (R_IA64_DTPREL14, 0xb1) /* @dtprel(sym+add), imm14 */ |
RELOC_NUMBER (R_IA64_DTPREL22, 0xb2) /* @dtprel(sym+add), imm22 */ |
RELOC_NUMBER (R_IA64_DTPREL64I, 0xb3) /* @dtprel(sym+add), imm64 */ |
RELOC_NUMBER (R_IA64_DTPREL32MSB, 0xb4) /* @dtprel(sym+add), data4 MSB */ |
RELOC_NUMBER (R_IA64_DTPREL32LSB, 0xb5) /* @dtprel(sym+add), data4 LSB */ |
RELOC_NUMBER (R_IA64_DTPREL64MSB, 0xb6) /* @dtprel(sym+add), data8 MSB */ |
RELOC_NUMBER (R_IA64_DTPREL64LSB, 0xb7) /* @dtprel(sym+add), data8 LSB */ |
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 */ |
/contrib/toolchain/binutils/include/elf/internal.h |
---|
0,0 → 1,360 |
/* ELF support for BFD. |
Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002, |
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 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 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. */ |
/* 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 |
packing under various circumstances. */ |
#ifndef _ELF_INTERNAL_H |
#define _ELF_INTERNAL_H |
/* Special section indices, which may show up in st_shndx fields, among |
other places. */ |
#undef SHN_UNDEF |
#undef SHN_LORESERVE |
#undef SHN_LOPROC |
#undef SHN_HIPROC |
#undef SHN_LOOS |
#undef SHN_HIOS |
#undef SHN_ABS |
#undef SHN_COMMON |
#undef SHN_XINDEX |
#undef SHN_HIRESERVE |
#define SHN_UNDEF 0 /* Undefined section reference */ |
#define SHN_LORESERVE (-0x100u) /* Begin range of reserved indices */ |
#define SHN_LOPROC (-0x100u) /* Begin range of appl-specific */ |
#define SHN_HIPROC (-0xE1u) /* End range of appl-specific */ |
#define SHN_LOOS (-0xE0u) /* OS specific semantics, lo */ |
#define SHN_HIOS (-0xC1u) /* OS specific semantics, hi */ |
#define SHN_ABS (-0xFu) /* Associated symbol is absolute */ |
#define SHN_COMMON (-0xEu) /* Associated symbol is in common */ |
#define SHN_XINDEX (-0x1u) /* Section index is held elsewhere */ |
#define SHN_HIRESERVE (-0x1u) /* End range of reserved indices */ |
#define SHN_BAD (-0x101u) /* Used internally by bfd */ |
/* ELF Header */ |
#define EI_NIDENT 16 /* Size of e_ident[] */ |
typedef struct elf_internal_ehdr { |
unsigned char e_ident[EI_NIDENT]; /* ELF "magic number" */ |
bfd_vma e_entry; /* Entry point virtual address */ |
bfd_size_type e_phoff; /* Program header table file offset */ |
bfd_size_type e_shoff; /* Section header table file offset */ |
unsigned long e_version; /* Identifies object file version */ |
unsigned long e_flags; /* Processor-specific flags */ |
unsigned short e_type; /* Identifies object file type */ |
unsigned short e_machine; /* Specifies required architecture */ |
unsigned int e_ehsize; /* ELF header size in bytes */ |
unsigned int e_phentsize; /* Program header table entry size */ |
unsigned int e_phnum; /* Program header table entry count */ |
unsigned int e_shentsize; /* Section header table entry size */ |
unsigned int e_shnum; /* Section header table entry count */ |
unsigned int e_shstrndx; /* Section header string table index */ |
} Elf_Internal_Ehdr; |
/* Program header */ |
struct elf_internal_phdr { |
unsigned long p_type; /* Identifies program segment type */ |
unsigned long p_flags; /* Segment flags */ |
bfd_vma p_offset; /* Segment file offset */ |
bfd_vma p_vaddr; /* Segment virtual address */ |
bfd_vma p_paddr; /* Segment physical address */ |
bfd_vma p_filesz; /* Segment size in file */ |
bfd_vma p_memsz; /* Segment size in memory */ |
bfd_vma p_align; /* Segment alignment, file & memory */ |
}; |
typedef struct elf_internal_phdr Elf_Internal_Phdr; |
/* Section header */ |
typedef struct elf_internal_shdr { |
unsigned int sh_name; /* Section name, index in string tbl */ |
unsigned int sh_type; /* Type of section */ |
bfd_vma sh_flags; /* Miscellaneous section attributes */ |
bfd_vma sh_addr; /* Section virtual addr at execution */ |
file_ptr sh_offset; /* Section file offset */ |
bfd_size_type sh_size; /* Size of section in bytes */ |
unsigned int sh_link; /* Index of another section */ |
unsigned int sh_info; /* Additional section information */ |
bfd_vma sh_addralign; /* Section alignment */ |
bfd_size_type sh_entsize; /* Entry size if section holds table */ |
/* The internal rep also has some cached info associated with it. */ |
asection * bfd_section; /* Associated BFD section. */ |
unsigned char *contents; /* Section contents. */ |
} Elf_Internal_Shdr; |
/* Symbol table entry */ |
struct elf_internal_sym { |
bfd_vma st_value; /* Value of the symbol */ |
bfd_vma st_size; /* Associated symbol size */ |
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 */ |
}; |
typedef struct elf_internal_sym Elf_Internal_Sym; |
/* Note segments */ |
typedef struct elf_internal_note { |
unsigned long namesz; /* Size of entry's owner string */ |
unsigned long descsz; /* Size of the note descriptor */ |
unsigned long type; /* Interpretation of the descriptor */ |
char * namedata; /* Start of the name+desc data */ |
char * descdata; /* Start of the desc data */ |
bfd_vma descpos; /* File offset of the descdata */ |
} Elf_Internal_Note; |
/* Relocation Entries */ |
typedef struct elf_internal_rela { |
bfd_vma r_offset; /* Location at which to apply the action */ |
bfd_vma r_info; /* Index and Type of relocation */ |
bfd_vma r_addend; /* Constant addend used to compute value */ |
} Elf_Internal_Rela; |
/* dynamic section structure */ |
typedef struct elf_internal_dyn { |
/* This needs to support 64-bit values in elf64. */ |
bfd_vma d_tag; /* entry tag value */ |
union { |
/* This needs to support 64-bit values in elf64. */ |
bfd_vma d_val; |
bfd_vma d_ptr; |
} d_un; |
} Elf_Internal_Dyn; |
/* This structure appears in a SHT_GNU_verdef section. */ |
typedef struct elf_internal_verdef { |
unsigned short vd_version; /* Version number of structure. */ |
unsigned short vd_flags; /* Flags (VER_FLG_*). */ |
unsigned short vd_ndx; /* Version index. */ |
unsigned short vd_cnt; /* Number of verdaux entries. */ |
unsigned long vd_hash; /* Hash of name. */ |
unsigned long vd_aux; /* Offset to verdaux entries. */ |
unsigned long vd_next; /* Offset to next verdef. */ |
/* These fields are set up when BFD reads in the structure. FIXME: |
It would be cleaner to store these in a different structure. */ |
bfd *vd_bfd; /* BFD. */ |
const char *vd_nodename; /* Version name. */ |
struct elf_internal_verdef *vd_nextdef; /* vd_next as pointer. */ |
struct elf_internal_verdaux *vd_auxptr; /* vd_aux as pointer. */ |
unsigned int vd_exp_refno; /* Used by the linker. */ |
} Elf_Internal_Verdef; |
/* This structure appears in a SHT_GNU_verdef section. */ |
typedef struct elf_internal_verdaux { |
unsigned long vda_name; /* String table offset of name. */ |
unsigned long vda_next; /* Offset to next verdaux. */ |
/* These fields are set up when BFD reads in the structure. FIXME: |
It would be cleaner to store these in a different structure. */ |
const char *vda_nodename; /* vda_name as pointer. */ |
struct elf_internal_verdaux *vda_nextptr; /* vda_next as pointer. */ |
} Elf_Internal_Verdaux; |
/* This structure appears in a SHT_GNU_verneed section. */ |
typedef struct elf_internal_verneed { |
unsigned short vn_version; /* Version number of structure. */ |
unsigned short vn_cnt; /* Number of vernaux entries. */ |
unsigned long vn_file; /* String table offset of library name. */ |
unsigned long vn_aux; /* Offset to vernaux entries. */ |
unsigned long vn_next; /* Offset to next verneed. */ |
/* These fields are set up when BFD reads in the structure. FIXME: |
It would be cleaner to store these in a different structure. */ |
bfd *vn_bfd; /* BFD. */ |
const char *vn_filename; /* vn_file as pointer. */ |
struct elf_internal_vernaux *vn_auxptr; /* vn_aux as pointer. */ |
struct elf_internal_verneed *vn_nextref; /* vn_nextref as pointer. */ |
} Elf_Internal_Verneed; |
/* This structure appears in a SHT_GNU_verneed section. */ |
typedef struct elf_internal_vernaux { |
unsigned long vna_hash; /* Hash of dependency name. */ |
unsigned short vna_flags; /* Flags (VER_FLG_*). */ |
unsigned short vna_other; /* Unused. */ |
unsigned long vna_name; /* String table offset to version name. */ |
unsigned long vna_next; /* Offset to next vernaux. */ |
/* These fields are set up when BFD reads in the structure. FIXME: |
It would be cleaner to store these in a different structure. */ |
const char *vna_nodename; /* vna_name as pointer. */ |
struct elf_internal_vernaux *vna_nextptr; /* vna_next as pointer. */ |
} Elf_Internal_Vernaux; |
/* This structure appears in a SHT_GNU_versym section. This is not a |
standard ELF structure; ELF just uses Elf32_Half. */ |
typedef struct elf_internal_versym { |
unsigned short vs_vers; |
} Elf_Internal_Versym; |
/* Structure for syminfo section. */ |
typedef struct |
{ |
unsigned short int si_boundto; |
unsigned short int si_flags; |
} Elf_Internal_Syminfo; |
/* This structure appears on the stack and in NT_AUXV core file notes. */ |
typedef struct |
{ |
bfd_vma a_type; |
bfd_vma a_val; |
} Elf_Internal_Auxv; |
/* This structure is used to describe how sections should be assigned |
to program segments. */ |
struct elf_segment_map |
{ |
/* Next program segment. */ |
struct elf_segment_map *next; |
/* Program segment type. */ |
unsigned long p_type; |
/* Program segment flags. */ |
unsigned long p_flags; |
/* Program segment physical address. */ |
bfd_vma p_paddr; |
/* Program segment virtual address offset from section vma. */ |
bfd_vma p_vaddr_offset; |
/* Program segment alignment. */ |
bfd_vma p_align; |
/* Segment size in file and memory */ |
bfd_vma p_size; |
/* Required size of filehdr + phdrs, if non-zero */ |
bfd_vma header_size; |
/* Whether the p_flags field is valid; if not, the flags are based |
on the section flags. */ |
unsigned int p_flags_valid : 1; |
/* Whether the p_paddr field is valid; if not, the physical address |
is based on the section lma values. */ |
unsigned int p_paddr_valid : 1; |
/* Whether the p_align field is valid; if not, PT_LOAD segment |
alignment is based on the default maximum page size. */ |
unsigned int p_align_valid : 1; |
/* Whether the p_size field is valid; if not, the size are based |
on the section sizes. */ |
unsigned int p_size_valid : 1; |
/* Whether this segment includes the file header. */ |
unsigned int includes_filehdr : 1; |
/* Whether this segment includes the program headers. */ |
unsigned int includes_phdrs : 1; |
/* Number of sections (may be 0). */ |
unsigned int count; |
/* Sections. Actual number of elements is in count field. */ |
asection *sections[1]; |
}; |
/* .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) \ |
(ELF_TBSS_SPECIAL(sec_hdr, segment) ? 0 : (sec_hdr)->sh_size) |
/* 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)))))) |
#define ELF_SECTION_IN_SEGMENT(sec_hdr, segment) \ |
(ELF_SECTION_IN_SEGMENT_1 (sec_hdr, segment, 1, 0)) |
#define ELF_SECTION_IN_SEGMENT_STRICT(sec_hdr, segment) \ |
(ELF_SECTION_IN_SEGMENT_1 (sec_hdr, segment, 1, 1)) |
#endif /* _ELF_INTERNAL_H */ |
/contrib/toolchain/binutils/include/elf/ip2k.h |
---|
0,0 → 1,62 |
/* IP2xxx ELF support for BFD. |
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 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_IP2K_H |
#define _ELF_IP2K_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_ip2k_reloc_type) |
RELOC_NUMBER (R_IP2K_NONE, 0) |
RELOC_NUMBER (R_IP2K_16, 1) |
RELOC_NUMBER (R_IP2K_32, 2) |
RELOC_NUMBER (R_IP2K_FR9, 3) |
RELOC_NUMBER (R_IP2K_BANK, 4) |
RELOC_NUMBER (R_IP2K_ADDR16CJP, 5) |
RELOC_NUMBER (R_IP2K_PAGE3, 6) |
RELOC_NUMBER (R_IP2K_LO8DATA, 7) |
RELOC_NUMBER (R_IP2K_HI8DATA, 8) |
RELOC_NUMBER (R_IP2K_LO8INSN, 9) |
RELOC_NUMBER (R_IP2K_HI8INSN, 10) |
RELOC_NUMBER (R_IP2K_PC_SKIP, 11) |
RELOC_NUMBER (R_IP2K_TEXT, 12) |
RELOC_NUMBER (R_IP2K_FR_OFFSET, 13) |
RELOC_NUMBER (R_IP2K_EX8DATA, 14) |
END_RELOC_NUMBERS(R_IP2K_max) |
/* Define the data & instruction memory discriminator. In a linked |
executable, an symbol should be deemed to point to an instruction |
if ((address & IP2K_INSN_MASK) == IP2K_INSN_VALUE), and similarly |
for the data space. See also `ld/emulparams/elf32ip2k.sh'. */ |
/* ??? Consider extending the _MASK values to include all the |
intermediate bits that must be zero due to the limited physical |
memory size on the IP2K. */ |
#define IP2K_DATA_MASK 0xff000000 |
#define IP2K_DATA_VALUE 0x01000000 |
#define IP2K_INSN_MASK 0xff000000 |
#define IP2K_INSN_VALUE 0x02000000 |
/* The location of the memory mapped hardware stack. */ |
#define IP2K_STACK_VALUE 0x0f000000 |
#define IP2K_STACK_SIZE 0x20 |
#endif /* _ELF_IP2K_H */ |
/contrib/toolchain/binutils/include/elf/iq2000.h |
---|
0,0 → 1,58 |
/* IQ2000 ELF support for BFD. |
Copyright (C) 2002, 2003, 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_IQ2000_H |
#define _ELF_IQ2000_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_iq2000_reloc_type) |
RELOC_NUMBER (R_IQ2000_NONE, 0) |
RELOC_NUMBER (R_IQ2000_16, 1) |
RELOC_NUMBER (R_IQ2000_32, 2) |
RELOC_NUMBER (R_IQ2000_26, 3) |
RELOC_NUMBER (R_IQ2000_PC16, 4) |
RELOC_NUMBER (R_IQ2000_HI16, 5) |
RELOC_NUMBER (R_IQ2000_LO16, 6) |
RELOC_NUMBER (R_IQ2000_OFFSET_16, 7) |
RELOC_NUMBER (R_IQ2000_OFFSET_21, 8) |
RELOC_NUMBER (R_IQ2000_UHI16, 9) |
RELOC_NUMBER (R_IQ2000_32_DEBUG, 10) |
RELOC_NUMBER (R_IQ2000_GNU_VTINHERIT, 200) |
RELOC_NUMBER (R_IQ2000_GNU_VTENTRY, 201) |
END_RELOC_NUMBERS(R_IQ2000_max) |
#define EF_IQ2000_CPU_IQ2000 0x00000001 /* default */ |
#define EF_IQ2000_CPU_IQ10 0x00000002 /* IQ10 */ |
#define EF_IQ2000_CPU_MASK 0x00000003 /* specific cpu bits */ |
#define EF_IQ2000_ALL_FLAGS (EF_IQ2000_CPU_MASK) |
/* Define the data & instruction memory discriminator. In a linked |
executable, an symbol should be deemed to point to an instruction |
if ((address & IQ2000_INSN_MASK) == IQ2000_INSN_VALUE), and similarly |
for the data space. */ |
#define IQ2000_DATA_MASK 0x80000000 |
#define IQ2000_DATA_VALUE 0x00000000 |
#define IQ2000_INSN_MASK 0x80000000 |
#define IQ2000_INSN_VALUE 0x80000000 |
#endif /* _ELF_IQ2000_H */ |
/contrib/toolchain/binutils/include/elf/lm32.h |
---|
0,0 → 1,56 |
/* Lattice Mico32 ELF support for BFD. |
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. |
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_LM32_H |
#define _ELF_LM32_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_lm32_reloc_type) |
RELOC_NUMBER (R_LM32_NONE, 0) |
RELOC_NUMBER (R_LM32_8, 1) |
RELOC_NUMBER (R_LM32_16, 2) |
RELOC_NUMBER (R_LM32_32, 3) |
RELOC_NUMBER (R_LM32_HI16, 4) |
RELOC_NUMBER (R_LM32_LO16, 5) |
RELOC_NUMBER (R_LM32_GPREL16, 6) |
RELOC_NUMBER (R_LM32_CALL, 7) |
RELOC_NUMBER (R_LM32_BRANCH, 8) |
RELOC_NUMBER (R_LM32_GNU_VTINHERIT, 9) |
RELOC_NUMBER (R_LM32_GNU_VTENTRY, 10) |
RELOC_NUMBER (R_LM32_16_GOT, 11) |
RELOC_NUMBER (R_LM32_GOTOFF_HI16, 12) |
RELOC_NUMBER (R_LM32_GOTOFF_LO16, 13) |
RELOC_NUMBER (R_LM32_COPY, 14) |
RELOC_NUMBER (R_LM32_GLOB_DAT, 15) |
RELOC_NUMBER (R_LM32_JMP_SLOT, 16) |
RELOC_NUMBER (R_LM32_RELATIVE, 17) |
END_RELOC_NUMBERS (R_LM32_max) |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_LM32_MACH 0x00000001 |
/* Various CPU types. */ |
#define E_LM32_MACH 0x1 |
#endif /* _ELF_LM32_H */ |
/contrib/toolchain/binutils/include/elf/m32c.h |
---|
0,0 → 1,67 |
/* M32C ELF support for BFD. |
Copyright (C) 2004, 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_M32C_H |
#define _ELF_M32C_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_m32c_reloc_type) |
RELOC_NUMBER (R_M32C_NONE, 0) |
RELOC_NUMBER (R_M32C_16, 1) |
RELOC_NUMBER (R_M32C_24, 2) |
RELOC_NUMBER (R_M32C_32, 3) |
RELOC_NUMBER (R_M32C_8_PCREL, 4) |
RELOC_NUMBER (R_M32C_16_PCREL, 5) |
/* 8 bit unsigned address, used for dsp8[a0] etc */ |
RELOC_NUMBER (R_M32C_8, 6) |
/* Bits 0..15 of an address, for SMOVF's A0, A1A0, etc. */ |
RELOC_NUMBER (R_M32C_LO16, 7) |
/* Bits 16..23 of an address, for SMOVF's R1H etc. */ |
RELOC_NUMBER (R_M32C_HI8, 8) |
/* Bits 16..31 of an address, for LDE's A1A0 etc. */ |
RELOC_NUMBER (R_M32C_HI16, 9) |
/* These are relocs we need when relaxing. */ |
/* Marks various jump opcodes. */ |
RELOC_NUMBER (R_M32C_RL_JUMP, 10) |
/* Marks standard one-address form. */ |
RELOC_NUMBER (R_M32C_RL_1ADDR, 11) |
/* Marks standard two-address form. */ |
RELOC_NUMBER (R_M32C_RL_2ADDR, 12) |
END_RELOC_NUMBERS (R_M32C_max) |
#define EF_M32C_CPU_M16C 0x00000075 /* default */ |
#define EF_M32C_CPU_M32C 0x00000078 /* m32c */ |
#define EF_M32C_CPU_MASK 0x0000007F /* specific cpu bits */ |
#define EF_M32C_ALL_FLAGS (EF_M32C_CPU_MASK) |
/* Define the data & instruction memory discriminator. In a linked |
executable, an symbol should be deemed to point to an instruction |
if ((address & M16C_INSN_MASK) == M16C_INSN_VALUE), and similarly |
for the data space. See also `ld/emulparams/elf32m32c.sh'. */ |
#define M32C_DATA_MASK 0xffc00000 |
#define M32C_DATA_VALUE 0x00000000 |
#define M32C_INSN_MASK 0xffc00000 |
#define M32C_INSN_VALUE 0x00400000 |
#endif /* _ELF_M32C_H */ |
/contrib/toolchain/binutils/include/elf/m32r.h |
---|
0,0 → 1,123 |
/* M32R ELF support for BFD. |
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 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_M32R_H |
#define _ELF_M32R_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_m32r_reloc_type) |
RELOC_NUMBER (R_M32R_NONE, 0) |
/* REL relocations */ |
RELOC_NUMBER (R_M32R_16, 1) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_32, 2) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_24, 3) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_10_PCREL, 4) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_18_PCREL, 5) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_26_PCREL, 6) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_HI16_ULO, 7) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_HI16_SLO, 8) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_LO16, 9) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_SDA16, 10) /* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_GNU_VTINHERIT, 11)/* For backwards compatibility. */ |
RELOC_NUMBER (R_M32R_GNU_VTENTRY, 12) /* For backwards compatibility. */ |
/* RELA relocations */ |
RELOC_NUMBER (R_M32R_16_RELA, 33) |
RELOC_NUMBER (R_M32R_32_RELA, 34) |
RELOC_NUMBER (R_M32R_24_RELA, 35) |
RELOC_NUMBER (R_M32R_10_PCREL_RELA, 36) |
RELOC_NUMBER (R_M32R_18_PCREL_RELA, 37) |
RELOC_NUMBER (R_M32R_26_PCREL_RELA, 38) |
RELOC_NUMBER (R_M32R_HI16_ULO_RELA, 39) |
RELOC_NUMBER (R_M32R_HI16_SLO_RELA, 40) |
RELOC_NUMBER (R_M32R_LO16_RELA, 41) |
RELOC_NUMBER (R_M32R_SDA16_RELA, 42) |
RELOC_NUMBER (R_M32R_RELA_GNU_VTINHERIT, 43) |
RELOC_NUMBER (R_M32R_RELA_GNU_VTENTRY, 44) |
RELOC_NUMBER (R_M32R_REL32, 45) |
RELOC_NUMBER (R_M32R_GOT24, 48) |
RELOC_NUMBER (R_M32R_26_PLTREL, 49) |
RELOC_NUMBER (R_M32R_COPY, 50) |
RELOC_NUMBER (R_M32R_GLOB_DAT, 51) |
RELOC_NUMBER (R_M32R_JMP_SLOT, 52) |
RELOC_NUMBER (R_M32R_RELATIVE, 53) |
RELOC_NUMBER (R_M32R_GOTOFF, 54) |
RELOC_NUMBER (R_M32R_GOTPC24, 55) |
RELOC_NUMBER (R_M32R_GOT16_HI_ULO, 56) |
RELOC_NUMBER (R_M32R_GOT16_HI_SLO, 57) |
RELOC_NUMBER (R_M32R_GOT16_LO, 58) |
RELOC_NUMBER (R_M32R_GOTPC_HI_ULO, 59) |
RELOC_NUMBER (R_M32R_GOTPC_HI_SLO, 60) |
RELOC_NUMBER (R_M32R_GOTPC_LO, 61) |
RELOC_NUMBER (R_M32R_GOTOFF_HI_ULO, 62) |
RELOC_NUMBER (R_M32R_GOTOFF_HI_SLO, 63) |
RELOC_NUMBER (R_M32R_GOTOFF_LO, 64) |
END_RELOC_NUMBERS (R_M32R_max) |
/* Processor specific section indices. These sections do not actually |
exist. Symbols with a st_shndx field corresponding to one of these |
values have a special meaning. */ |
/* Small common symbol. */ |
#define SHN_M32R_SCOMMON SHN_LORESERVE |
/* Processor specific section flags. */ |
/* This section contains sufficient relocs to be relaxed. |
When relaxing, even relocs of branch instructions the assembler could |
complete must be present because relaxing may cause the branch target to |
move. */ |
#define SHF_M32R_CAN_RELAX 0x10000000 |
/* Processor specific flags for the ELF header e_flags field. */ |
/* Two bit m32r architecture field. */ |
#define EF_M32R_ARCH 0x30000000 |
/* m32r code. */ |
#define E_M32R_ARCH 0x00000000 |
/* m32rx code. */ |
#define E_M32RX_ARCH 0x10000000 |
/* m32r2 code. */ |
#define E_M32R2_ARCH 0x20000000 |
/* 12 bit m32r new instructions field. */ |
#define EF_M32R_INST 0x0FFF0000 |
/* Parallel instructions. */ |
#define E_M32R_HAS_PARALLEL 0x00010000 |
/* Hidden instructions for m32rx: |
jc, jnc, macwhi-a, macwlo-a, mulwhi-a, mulwlo-a, sth+, shb+, sat, pcmpbz, |
sc, snc. */ |
#define E_M32R_HAS_HIDDEN_INST 0x00020000 |
/* New bit instructions: |
clrpsw, setpsw, bset, bclr, btst. */ |
#define E_M32R_HAS_BIT_INST 0x00040000 |
/* Floating point instructions. */ |
#define E_M32R_HAS_FLOAT_INST 0x00080000 |
/* 4 bit m32r ignore to check field. */ |
#define EF_M32R_IGNORE 0x0000000F |
#endif |
/contrib/toolchain/binutils/include/elf/m68hc11.h |
---|
0,0 → 1,107 |
/* m68hc11 & m68hc12 ELF support for BFD. |
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 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_M68HC11_H |
#define _ELF_M68HC11_H |
#include "elf/reloc-macros.h" |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_m68hc11_reloc_type) |
RELOC_NUMBER (R_M68HC11_NONE, 0) |
RELOC_NUMBER (R_M68HC11_8, 1) |
RELOC_NUMBER (R_M68HC11_HI8, 2) |
RELOC_NUMBER (R_M68HC11_LO8, 3) |
RELOC_NUMBER (R_M68HC11_PCREL_8, 4) |
RELOC_NUMBER (R_M68HC11_16, 5) |
RELOC_NUMBER (R_M68HC11_32, 6) |
RELOC_NUMBER (R_M68HC11_3B, 7) |
RELOC_NUMBER (R_M68HC11_PCREL_16, 8) |
/* These are GNU extensions to enable C++ vtable garbage collection. */ |
RELOC_NUMBER (R_M68HC11_GNU_VTINHERIT, 9) |
RELOC_NUMBER (R_M68HC11_GNU_VTENTRY, 10) |
RELOC_NUMBER (R_M68HC11_24, 11) |
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) |
/* Mark beginning of Gcc relaxation group instruction. */ |
RELOC_NUMBER (R_M68HC11_RL_GROUP, 21) |
END_RELOC_NUMBERS (R_M68HC11_max) |
/* Processor specific flags for the ELF header e_flags field. */ |
/* ABI identification. */ |
#define EF_M68HC11_ABI 0x00000000F |
/* Integers are 32-bit long. */ |
#define E_M68HC11_I32 0x000000001 |
/* Doubles are 64-bit long. */ |
#define E_M68HC11_F64 0x000000002 |
/* 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. */ |
#define EF_M68HCS12_MACH 0x20 /* 68HCS12 microcontroller. */ |
#define EF_M68HC11_MACH(mach) ((mach) & EF_M68HC11_MACH_MASK) |
/* True if we can merge machines. A generic HC12 can work on any proc |
but once we have specific code, merge is not possible. */ |
#define EF_M68HC11_CAN_MERGE_MACH(mach1, mach2) \ |
((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ |
|| (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC) \ |
|| (EF_M68HC11_MACH (mach2) == EF_M68HC11_GENERIC)) |
#define EF_M68HC11_MERGE_MACH(mach1, mach2) \ |
(((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ |
|| (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC)) ? \ |
EF_M68HC11_MACH (mach2) : EF_M68HC11_MACH (mach1)) |
/* Special values for the st_other field in the symbol table. These |
are used for 68HC12 to identify far functions (must be called with |
'call' and returns with 'rtc'). */ |
#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 |
#endif |
/contrib/toolchain/binutils/include/elf/m68k.h |
---|
0,0 → 1,102 |
/* MC68k ELF support for BFD. |
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 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_M68K_H |
#define _ELF_M68K_H |
#include "elf/reloc-macros.h" |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_m68k_reloc_type) |
RELOC_NUMBER (R_68K_NONE, 0) /* No reloc */ |
RELOC_NUMBER (R_68K_32, 1) /* Direct 32 bit */ |
RELOC_NUMBER (R_68K_16, 2) /* Direct 16 bit */ |
RELOC_NUMBER (R_68K_8, 3) /* Direct 8 bit */ |
RELOC_NUMBER (R_68K_PC32, 4) /* PC relative 32 bit */ |
RELOC_NUMBER (R_68K_PC16, 5) /* PC relative 16 bit */ |
RELOC_NUMBER (R_68K_PC8, 6) /* PC relative 8 bit */ |
RELOC_NUMBER (R_68K_GOT32, 7) /* 32 bit PC relative GOT entry */ |
RELOC_NUMBER (R_68K_GOT16, 8) /* 16 bit PC relative GOT entry */ |
RELOC_NUMBER (R_68K_GOT8, 9) /* 8 bit PC relative GOT entry */ |
RELOC_NUMBER (R_68K_GOT32O, 10) /* 32 bit GOT offset */ |
RELOC_NUMBER (R_68K_GOT16O, 11) /* 16 bit GOT offset */ |
RELOC_NUMBER (R_68K_GOT8O, 12) /* 8 bit GOT offset */ |
RELOC_NUMBER (R_68K_PLT32, 13) /* 32 bit PC relative PLT address */ |
RELOC_NUMBER (R_68K_PLT16, 14) /* 16 bit PC relative PLT address */ |
RELOC_NUMBER (R_68K_PLT8, 15) /* 8 bit PC relative PLT address */ |
RELOC_NUMBER (R_68K_PLT32O, 16) /* 32 bit PLT offset */ |
RELOC_NUMBER (R_68K_PLT16O, 17) /* 16 bit PLT offset */ |
RELOC_NUMBER (R_68K_PLT8O, 18) /* 8 bit PLT offset */ |
RELOC_NUMBER (R_68K_COPY, 19) /* Copy symbol at runtime */ |
RELOC_NUMBER (R_68K_GLOB_DAT, 20) /* Create GOT entry */ |
RELOC_NUMBER (R_68K_JMP_SLOT, 21) /* Create PLT entry */ |
RELOC_NUMBER (R_68K_RELATIVE, 22) /* Adjust by program base */ |
/* These are GNU extensions to enable C++ vtable garbage collection. */ |
RELOC_NUMBER (R_68K_GNU_VTINHERIT, 23) |
RELOC_NUMBER (R_68K_GNU_VTENTRY, 24) |
/* TLS static relocations. */ |
RELOC_NUMBER (R_68K_TLS_GD32, 25) |
RELOC_NUMBER (R_68K_TLS_GD16, 26) |
RELOC_NUMBER (R_68K_TLS_GD8, 27) |
RELOC_NUMBER (R_68K_TLS_LDM32, 28) |
RELOC_NUMBER (R_68K_TLS_LDM16, 29) |
RELOC_NUMBER (R_68K_TLS_LDM8, 30) |
RELOC_NUMBER (R_68K_TLS_LDO32, 31) |
RELOC_NUMBER (R_68K_TLS_LDO16, 32) |
RELOC_NUMBER (R_68K_TLS_LDO8, 33) |
RELOC_NUMBER (R_68K_TLS_IE32, 34) |
RELOC_NUMBER (R_68K_TLS_IE16, 35) |
RELOC_NUMBER (R_68K_TLS_IE8, 36) |
RELOC_NUMBER (R_68K_TLS_LE32, 37) |
RELOC_NUMBER (R_68K_TLS_LE16, 38) |
RELOC_NUMBER (R_68K_TLS_LE8, 39) |
RELOC_NUMBER (R_68K_TLS_DTPMOD32, 40) |
RELOC_NUMBER (R_68K_TLS_DTPREL32, 41) |
RELOC_NUMBER (R_68K_TLS_TPREL32, 42) |
END_RELOC_NUMBERS (R_68K_max) |
/* We use the top 24 bits to encode information about the |
architecture variant. */ |
#define EF_M68K_CPU32 0x00810000 |
#define EF_M68K_M68000 0x01000000 |
#define EF_M68K_CFV4E 0x00008000 |
#define EF_M68K_FIDO 0x02000000 |
#define EF_M68K_ARCH_MASK \ |
(EF_M68K_M68000 | EF_M68K_CPU32 | EF_M68K_CFV4E | EF_M68K_FIDO) |
/* We use the bottom 8 bits to encode information about the |
coldfire variant. If we use any of these bits, the top 24 bits are |
either 0 or EF_M68K_CFV4E. */ |
#define EF_M68K_CF_ISA_MASK 0x0F /* Which ISA */ |
#define EF_M68K_CF_ISA_A_NODIV 0x01 /* ISA A except for div */ |
#define EF_M68K_CF_ISA_A 0x02 |
#define EF_M68K_CF_ISA_A_PLUS 0x03 |
#define EF_M68K_CF_ISA_B_NOUSP 0x04 /* ISA_B except for USP */ |
#define EF_M68K_CF_ISA_B 0x05 |
#define EF_M68K_CF_ISA_C 0x06 |
#define EF_M68K_CF_ISA_C_NODIV 0x07 /* ISA C except for div */ |
#define EF_M68K_CF_MAC_MASK 0x30 |
#define EF_M68K_CF_MAC 0x10 /* MAC */ |
#define EF_M68K_CF_EMAC 0x20 /* EMAC */ |
#define EF_M68K_CF_EMAC_B 0x30 /* EMAC_B */ |
#define EF_M68K_CF_FLOAT 0x40 /* Has float insns */ |
#define EF_M68K_CF_MASK 0xFF |
#endif |
/contrib/toolchain/binutils/include/elf/mcore.h |
---|
0,0 → 1,47 |
/* Motorola MCore support for BFD. |
Copyright 1995, 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 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 MCore ELF ABI. */ |
#ifndef _ELF_MORE_H |
#define _ELF_MORE_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_mcore_reloc_type) |
RELOC_NUMBER (R_MCORE_NONE, 0) |
RELOC_NUMBER (R_MCORE_ADDR32, 1) |
RELOC_NUMBER (R_MCORE_PCRELIMM8BY4, 2) |
RELOC_NUMBER (R_MCORE_PCRELIMM11BY2, 3) |
RELOC_NUMBER (R_MCORE_PCRELIMM4BY2, 4) |
RELOC_NUMBER (R_MCORE_PCREL32, 5) |
RELOC_NUMBER (R_MCORE_PCRELJSR_IMM11BY2, 6) |
RELOC_NUMBER (R_MCORE_GNU_VTINHERIT, 7) |
RELOC_NUMBER (R_MCORE_GNU_VTENTRY, 8) |
RELOC_NUMBER (R_MCORE_RELATIVE, 9) |
RELOC_NUMBER (R_MCORE_COPY, 10) |
RELOC_NUMBER (R_MCORE_GLOB_DAT, 11) |
RELOC_NUMBER (R_MCORE_JUMP_SLOT, 12) |
END_RELOC_NUMBERS (R_MCORE_max) |
/* Section Attributes. */ |
#define SHF_MCORE_NOREAD 0x80000000 |
#endif /* _ELF_MCORE_H */ |
/contrib/toolchain/binutils/include/elf/mep.h |
---|
0,0 → 1,95 |
/* Toshiba MeP ELF support for BFD. |
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 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_MEP_H |
#define _ELF_MEP_H |
/* Bits in the sh_flags field of Elf32_Shdr: */ |
#define SHF_MEP_VLIW 0x10000000 /* contains vliw code */ |
/* This bit is reserved by BFD for processor specific stuff. Name |
it properly so that we can easily stay consistent elsewhere. */ |
#define SEC_MEP_VLIW SEC_TIC54X_BLOCK |
#include "elf/reloc-macros.h" |
/* Note: The comments in this file are used by bfd/mep-relocs.pl to |
build parts of bfd/elf32-mep.c. */ |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_mep_reloc_type) |
/* These two must appear first so that they are not processed by bfd/mep-relocs.pl. */ |
RELOC_NUMBER (R_MEP_NONE, 0) |
RELOC_NUMBER (R_RELC, 1) |
RELOC_NUMBER (R_MEP_8, 2) /* 7654 3210 U */ |
RELOC_NUMBER (R_MEP_16, 3) /* fedc ba98 7654 3210 U */ |
RELOC_NUMBER (R_MEP_32, 4) /* vuts rqpo nmlk jihg fedc ba98 7654 3210 U */ |
RELOC_NUMBER (R_MEP_PCREL8A2, 5) /* ---- ---- 7654 321- S PC-REL */ |
RELOC_NUMBER (R_MEP_PCREL12A2, 6) /* ---- ba98 7654 321- S PC-REL */ |
RELOC_NUMBER (R_MEP_PCREL17A2, 7) /* ---- ---- ---- ---- gfed cba9 8765 4321 S PC-REL */ |
RELOC_NUMBER (R_MEP_PCREL24A2, 8) /* ---- -765 4321 ---- nmlk jihg fedc ba98 S PC-REL */ |
RELOC_NUMBER (R_MEP_PCABS24A2, 9) /* ---- -765 4321 ---- nmlk jihg fedc ba98 U */ |
RELOC_NUMBER (R_MEP_LOW16, 10) /* ---- ---- ---- ---- fedc ba98 7654 3210 U no-overflow */ |
RELOC_NUMBER (R_MEP_HI16U, 11) /* ---- ---- ---- ---- vuts rqpo nmlk jihg U no-overflow */ |
RELOC_NUMBER (R_MEP_HI16S, 12) /* ---- ---- ---- ---- vuts rqpo nmlk jihg S no-overflow */ |
RELOC_NUMBER (R_MEP_GPREL, 13) /* ---- ---- ---- ---- fedc ba98 7654 3210 S GP-REL*/ |
RELOC_NUMBER (R_MEP_TPREL, 14) /* ---- ---- ---- ---- fedc ba98 7654 3210 S TP-REL*/ |
RELOC_NUMBER (R_MEP_TPREL7, 15) /* ---- ---- -654 3210 U TP-REL */ |
RELOC_NUMBER (R_MEP_TPREL7A2, 16) /* ---- ---- -654 321- U TP-REL */ |
RELOC_NUMBER (R_MEP_TPREL7A4, 17) /* ---- ---- -654 32-- U TP-REL */ |
RELOC_NUMBER (R_MEP_UIMM24, 18) /* ---- ---- 7654 3210 nmlk jihg fedc ba98 U */ |
RELOC_NUMBER (R_MEP_ADDR24A4, 19) /* ---- ---- 7654 32-- nmlk jihg fedc ba98 U */ |
RELOC_NUMBER (R_MEP_GNU_VTINHERIT, 20) /* ---- ---- ---- ---- U no-overflow */ |
RELOC_NUMBER (R_MEP_GNU_VTENTRY, 21) /* ---- ---- ---- ---- U no-overflow */ |
END_RELOC_NUMBERS(R_MEP_max) |
#define EF_MEP_CPU_MASK 0xff000000 /* specific cpu bits */ |
#define EF_MEP_CPU_MEP 0x00000000 /* generic MEP */ |
#define EF_MEP_CPU_C2 0x01000000 /* MEP c2 */ |
#define EF_MEP_CPU_C3 0x02000000 /* MEP c3 */ |
#define EF_MEP_CPU_C4 0x04000000 /* MEP c4 */ |
/* 5..7 are reseved */ |
#define EF_MEP_CPU_C5 0x08000000 /* MEP c5 */ |
#define EF_MEP_CPU_H1 0x10000000 /* MEP h1 */ |
#define EF_MEP_COP_MASK 0x00ff0000 |
#define EF_MEP_COP_NONE 0x00000000 |
#define EF_MEP_COP_AVC 0x00010000 |
#define EF_MEP_COP_AVC2 0x00020000 |
#define EF_MEP_COP_FMAX 0x00030000 |
/* 4..5 are reserved. */ |
#define EF_MEP_COP_IVC2 0x00060000 |
#define EF_MEP_LIBRARY 0x00000100 /* Built as a library */ |
#define EF_MEP_INDEX_MASK 0x000000ff /* Configuration index */ |
#define EF_MEP_ALL_FLAGS 0xffff01ff |
#endif /* _ELF_MEP_H */ |
/contrib/toolchain/binutils/include/elf/metag.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 */ |
/contrib/toolchain/binutils/include/elf/microblaze.h |
---|
0,0 → 1,71 |
/* Xilinx MicroBlaze support for BFD. |
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 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 MICROBLAZE ELF ABI. */ |
#ifndef _ELF_MICROBLAZE_H |
#define _ELF_MICROBLAZE_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_microblaze_reloc_type) |
RELOC_NUMBER (R_MICROBLAZE_NONE, 0) |
RELOC_NUMBER (R_MICROBLAZE_32, 1) |
RELOC_NUMBER (R_MICROBLAZE_32_PCREL, 2) |
RELOC_NUMBER (R_MICROBLAZE_64_PCREL, 3) |
RELOC_NUMBER (R_MICROBLAZE_32_PCREL_LO, 4) |
RELOC_NUMBER (R_MICROBLAZE_64, 5) |
RELOC_NUMBER (R_MICROBLAZE_32_LO, 6) |
RELOC_NUMBER (R_MICROBLAZE_SRO32, 7) |
RELOC_NUMBER (R_MICROBLAZE_SRW32, 8) |
RELOC_NUMBER (R_MICROBLAZE_64_NONE, 9) |
RELOC_NUMBER (R_MICROBLAZE_32_SYM_OP_SYM, 10) |
RELOC_NUMBER (R_MICROBLAZE_GNU_VTINHERIT, 11) |
RELOC_NUMBER (R_MICROBLAZE_GNU_VTENTRY, 12) |
RELOC_NUMBER (R_MICROBLAZE_GOTPC_64, 13) /* PC-relative GOT offset. */ |
RELOC_NUMBER (R_MICROBLAZE_GOT_64, 14) /* GOT entry offset. */ |
RELOC_NUMBER (R_MICROBLAZE_PLT_64, 15) /* PLT offset (PC-relative). */ |
RELOC_NUMBER (R_MICROBLAZE_REL, 16) /* Adjust by program base. */ |
RELOC_NUMBER (R_MICROBLAZE_JUMP_SLOT, 17) /* Create PLT entry. */ |
RELOC_NUMBER (R_MICROBLAZE_GLOB_DAT, 18) /* Create GOT entry. */ |
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) |
/* Global base address names. */ |
#define RO_SDA_ANCHOR_NAME "_SDA2_BASE_" |
#define RW_SDA_ANCHOR_NAME "_SDA_BASE_" |
/* Section Attributes. */ |
#define SHF_MICROBLAZE_NOREAD 0x80000000 |
#endif /* _ELF_MICROBLAZE_H */ |
/contrib/toolchain/binutils/include/elf/mips.h |
---|
0,0 → 1,1161 |
/* MIPS ELF support for BFD. |
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
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 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 MIPS ELF ABI. Note |
that most of this is not actually implemented by BFD. */ |
#ifndef _ELF_MIPS_H |
#define _ELF_MIPS_H |
#include "elf/reloc-macros.h" |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_mips_reloc_type) |
RELOC_NUMBER (R_MIPS_NONE, 0) |
RELOC_NUMBER (R_MIPS_16, 1) |
RELOC_NUMBER (R_MIPS_32, 2) /* In Elf 64: alias R_MIPS_ADD */ |
RELOC_NUMBER (R_MIPS_REL32, 3) /* In Elf 64: alias R_MIPS_REL */ |
RELOC_NUMBER (R_MIPS_26, 4) |
RELOC_NUMBER (R_MIPS_HI16, 5) |
RELOC_NUMBER (R_MIPS_LO16, 6) |
RELOC_NUMBER (R_MIPS_GPREL16, 7) /* In Elf 64: alias R_MIPS_GPREL */ |
RELOC_NUMBER (R_MIPS_LITERAL, 8) |
RELOC_NUMBER (R_MIPS_GOT16, 9) /* In Elf 64: alias R_MIPS_GOT */ |
RELOC_NUMBER (R_MIPS_PC16, 10) |
RELOC_NUMBER (R_MIPS_CALL16, 11) /* In Elf 64: alias R_MIPS_CALL */ |
RELOC_NUMBER (R_MIPS_GPREL32, 12) |
/* The remaining relocs are defined on Irix, although they are not |
in the MIPS ELF ABI. */ |
RELOC_NUMBER (R_MIPS_UNUSED1, 13) |
RELOC_NUMBER (R_MIPS_UNUSED2, 14) |
RELOC_NUMBER (R_MIPS_UNUSED3, 15) |
RELOC_NUMBER (R_MIPS_SHIFT5, 16) |
RELOC_NUMBER (R_MIPS_SHIFT6, 17) |
RELOC_NUMBER (R_MIPS_64, 18) |
RELOC_NUMBER (R_MIPS_GOT_DISP, 19) |
RELOC_NUMBER (R_MIPS_GOT_PAGE, 20) |
RELOC_NUMBER (R_MIPS_GOT_OFST, 21) |
RELOC_NUMBER (R_MIPS_GOT_HI16, 22) |
RELOC_NUMBER (R_MIPS_GOT_LO16, 23) |
RELOC_NUMBER (R_MIPS_SUB, 24) |
RELOC_NUMBER (R_MIPS_INSERT_A, 25) |
RELOC_NUMBER (R_MIPS_INSERT_B, 26) |
RELOC_NUMBER (R_MIPS_DELETE, 27) |
RELOC_NUMBER (R_MIPS_HIGHER, 28) |
RELOC_NUMBER (R_MIPS_HIGHEST, 29) |
RELOC_NUMBER (R_MIPS_CALL_HI16, 30) |
RELOC_NUMBER (R_MIPS_CALL_LO16, 31) |
RELOC_NUMBER (R_MIPS_SCN_DISP, 32) |
RELOC_NUMBER (R_MIPS_REL16, 33) |
RELOC_NUMBER (R_MIPS_ADD_IMMEDIATE, 34) |
RELOC_NUMBER (R_MIPS_PJUMP, 35) |
RELOC_NUMBER (R_MIPS_RELGOT, 36) |
RELOC_NUMBER (R_MIPS_JALR, 37) |
/* TLS relocations. */ |
RELOC_NUMBER (R_MIPS_TLS_DTPMOD32, 38) |
RELOC_NUMBER (R_MIPS_TLS_DTPREL32, 39) |
RELOC_NUMBER (R_MIPS_TLS_DTPMOD64, 40) |
RELOC_NUMBER (R_MIPS_TLS_DTPREL64, 41) |
RELOC_NUMBER (R_MIPS_TLS_GD, 42) |
RELOC_NUMBER (R_MIPS_TLS_LDM, 43) |
RELOC_NUMBER (R_MIPS_TLS_DTPREL_HI16, 44) |
RELOC_NUMBER (R_MIPS_TLS_DTPREL_LO16, 45) |
RELOC_NUMBER (R_MIPS_TLS_GOTTPREL, 46) |
RELOC_NUMBER (R_MIPS_TLS_TPREL32, 47) |
RELOC_NUMBER (R_MIPS_TLS_TPREL64, 48) |
RELOC_NUMBER (R_MIPS_TLS_TPREL_HI16, 49) |
RELOC_NUMBER (R_MIPS_TLS_TPREL_LO16, 50) |
RELOC_NUMBER (R_MIPS_GLOB_DAT, 51) |
FAKE_RELOC (R_MIPS_max, 52) |
/* These relocs are used for the mips16. */ |
FAKE_RELOC (R_MIPS16_min, 100) |
RELOC_NUMBER (R_MIPS16_26, 100) |
RELOC_NUMBER (R_MIPS16_GPREL, 101) |
RELOC_NUMBER (R_MIPS16_GOT16, 102) |
RELOC_NUMBER (R_MIPS16_CALL16, 103) |
RELOC_NUMBER (R_MIPS16_HI16, 104) |
RELOC_NUMBER (R_MIPS16_LO16, 105) |
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. 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. */ |
RELOC_NUMBER (R_MIPS_GNU_VTINHERIT, 253) |
RELOC_NUMBER (R_MIPS_GNU_VTENTRY, 254) |
END_RELOC_NUMBERS (R_MIPS_maxext) |
/* Processor specific flags for the ELF header e_flags field. */ |
/* At least one .noreorder directive appears in the source. */ |
#define EF_MIPS_NOREORDER 0x00000001 |
/* File contains position independent code. */ |
#define EF_MIPS_PIC 0x00000002 |
/* Code in file uses the standard calling sequence for calling |
position independent code. */ |
#define EF_MIPS_CPIC 0x00000004 |
/* ??? Unknown flag, set in IRIX 6's BSDdup2.o in libbsd.a. */ |
#define EF_MIPS_XGOT 0x00000008 |
/* Code in file uses UCODE (obsolete) */ |
#define EF_MIPS_UCODE 0x00000010 |
/* Code in file uses new ABI (-n32 on Irix 6). */ |
#define EF_MIPS_ABI2 0x00000020 |
/* 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 |
/* Use MDMX multimedia extensions */ |
#define EF_MIPS_ARCH_ASE_MDMX 0x08000000 |
/* Use MIPS-16 ISA extensions */ |
#define EF_MIPS_ARCH_ASE_M16 0x04000000 |
/* Use MICROMIPS ISA extensions. */ |
#define EF_MIPS_ARCH_ASE_MICROMIPS 0x02000000 |
/* Four bit MIPS architecture field. */ |
#define EF_MIPS_ARCH 0xf0000000 |
/* -mips1 code. */ |
#define E_MIPS_ARCH_1 0x00000000 |
/* -mips2 code. */ |
#define E_MIPS_ARCH_2 0x10000000 |
/* -mips3 code. */ |
#define E_MIPS_ARCH_3 0x20000000 |
/* -mips4 code. */ |
#define E_MIPS_ARCH_4 0x30000000 |
/* -mips5 code. */ |
#define E_MIPS_ARCH_5 0x40000000 |
/* -mips32 code. */ |
#define E_MIPS_ARCH_32 0x50000000 |
/* -mips64 code. */ |
#define E_MIPS_ARCH_64 0x60000000 |
/* -mips32r2 code. */ |
#define E_MIPS_ARCH_32R2 0x70000000 |
/* -mips64r2 code. */ |
#define E_MIPS_ARCH_64R2 0x80000000 |
/* The ABI of the file. Also see EF_MIPS_ABI2 above. */ |
#define EF_MIPS_ABI 0x0000F000 |
/* The original o32 abi. */ |
#define E_MIPS_ABI_O32 0x00001000 |
/* O32 extended to work on 64 bit architectures */ |
#define E_MIPS_ABI_O64 0x00002000 |
/* EABI in 32 bit mode */ |
#define E_MIPS_ABI_EABI32 0x00003000 |
/* EABI in 64 bit mode */ |
#define E_MIPS_ABI_EABI64 0x00004000 |
/* Machine variant if we know it. This field was invented at Cygnus, |
but it is hoped that other vendors will adopt it. If some standard |
is developed, this code should be changed to follow it. */ |
#define EF_MIPS_MACH 0x00FF0000 |
/* Cygnus is choosing values between 80 and 9F; |
00 - 7F should be left for a future standard; |
the rest are open. */ |
#define E_MIPS_MACH_3900 0x00810000 |
#define E_MIPS_MACH_4010 0x00820000 |
#define E_MIPS_MACH_4100 0x00830000 |
#define E_MIPS_MACH_4650 0x00850000 |
#define E_MIPS_MACH_4120 0x00870000 |
#define E_MIPS_MACH_4111 0x00880000 |
#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 |
values have a special meaning. */ |
/* Defined and allocated common symbol. Value is virtual address. If |
relocated, alignment must be preserved. */ |
#define SHN_MIPS_ACOMMON SHN_LORESERVE |
/* Defined and allocated text symbol. Value is virtual address. |
Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables. */ |
#define SHN_MIPS_TEXT (SHN_LORESERVE + 1) |
/* Defined and allocated data symbol. Value is virtual address. |
Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables. */ |
#define SHN_MIPS_DATA (SHN_LORESERVE + 2) |
/* Small common symbol. */ |
#define SHN_MIPS_SCOMMON (SHN_LORESERVE + 3) |
/* Small undefined symbol. */ |
#define SHN_MIPS_SUNDEFINED (SHN_LORESERVE + 4) |
/* Processor specific section types. */ |
/* Section contains the set of dynamic shared objects used when |
statically linking. */ |
#define SHT_MIPS_LIBLIST 0x70000000 |
/* I'm not sure what this is, but it's used on Irix 5. */ |
#define SHT_MIPS_MSYM 0x70000001 |
/* Section contains list of symbols whose definitions conflict with |
symbols defined in shared objects. */ |
#define SHT_MIPS_CONFLICT 0x70000002 |
/* Section contains the global pointer table. */ |
#define SHT_MIPS_GPTAB 0x70000003 |
/* Section contains microcode information. The exact format is |
unspecified. */ |
#define SHT_MIPS_UCODE 0x70000004 |
/* Section contains some sort of debugging information. The exact |
format is unspecified. It's probably ECOFF symbols. */ |
#define SHT_MIPS_DEBUG 0x70000005 |
/* Section contains register usage information. */ |
#define SHT_MIPS_REGINFO 0x70000006 |
/* ??? */ |
#define SHT_MIPS_PACKAGE 0x70000007 |
/* ??? */ |
#define SHT_MIPS_PACKSYM 0x70000008 |
/* ??? */ |
#define SHT_MIPS_RELD 0x70000009 |
/* Section contains interface information. */ |
#define SHT_MIPS_IFACE 0x7000000b |
/* Section contains description of contents of another section. */ |
#define SHT_MIPS_CONTENT 0x7000000c |
/* Section contains miscellaneous options. */ |
#define SHT_MIPS_OPTIONS 0x7000000d |
/* ??? */ |
#define SHT_MIPS_SHDR 0x70000010 |
/* ??? */ |
#define SHT_MIPS_FDESC 0x70000011 |
/* ??? */ |
#define SHT_MIPS_EXTSYM 0x70000012 |
/* ??? */ |
#define SHT_MIPS_DENSE 0x70000013 |
/* ??? */ |
#define SHT_MIPS_PDESC 0x70000014 |
/* ??? */ |
#define SHT_MIPS_LOCSYM 0x70000015 |
/* ??? */ |
#define SHT_MIPS_AUXSYM 0x70000016 |
/* ??? */ |
#define SHT_MIPS_OPTSYM 0x70000017 |
/* ??? */ |
#define SHT_MIPS_LOCSTR 0x70000018 |
/* ??? */ |
#define SHT_MIPS_LINE 0x70000019 |
/* ??? */ |
#define SHT_MIPS_RFDESC 0x7000001a |
/* Delta C++: symbol table */ |
#define SHT_MIPS_DELTASYM 0x7000001b |
/* Delta C++: instance table */ |
#define SHT_MIPS_DELTAINST 0x7000001c |
/* Delta C++: class table */ |
#define SHT_MIPS_DELTACLASS 0x7000001d |
/* DWARF debugging section. */ |
#define SHT_MIPS_DWARF 0x7000001e |
/* Delta C++: declarations */ |
#define SHT_MIPS_DELTADECL 0x7000001f |
/* List of libraries the binary depends on. Includes a time stamp, version |
number. */ |
#define SHT_MIPS_SYMBOL_LIB 0x70000020 |
/* Events section. */ |
#define SHT_MIPS_EVENTS 0x70000021 |
/* ??? */ |
#define SHT_MIPS_TRANSLATE 0x70000022 |
/* Special pixie sections */ |
#define SHT_MIPS_PIXIE 0x70000023 |
/* Address translation table (for debug info) */ |
#define SHT_MIPS_XLATE 0x70000024 |
/* SGI internal address translation table (for debug info) */ |
#define SHT_MIPS_XLATE_DEBUG 0x70000025 |
/* Intermediate code */ |
#define SHT_MIPS_WHIRL 0x70000026 |
/* C++ exception handling region info */ |
#define SHT_MIPS_EH_REGION 0x70000027 |
/* Obsolete address translation table (for debug info) */ |
#define SHT_MIPS_XLATE_OLD 0x70000028 |
/* Runtime procedure descriptor table exception information (ucode) ??? */ |
#define SHT_MIPS_PDR_EXCEPTION 0x70000029 |
/* A section of type SHT_MIPS_LIBLIST contains an array of the |
following structure. The sh_link field is the section index of the |
string table. The sh_info field is the number of entries in the |
section. */ |
typedef struct |
{ |
/* String table index for name of shared object. */ |
unsigned long l_name; |
/* Time stamp. */ |
unsigned long l_time_stamp; |
/* Checksum of symbol names and common sizes. */ |
unsigned long l_checksum; |
/* String table index for version. */ |
unsigned long l_version; |
/* Flags. */ |
unsigned long l_flags; |
} Elf32_Lib; |
/* The external version of Elf32_Lib. */ |
typedef struct |
{ |
unsigned char l_name[4]; |
unsigned char l_time_stamp[4]; |
unsigned char l_checksum[4]; |
unsigned char l_version[4]; |
unsigned char l_flags[4]; |
} Elf32_External_Lib; |
/* The l_flags field of an Elf32_Lib structure may contain the |
following flags. */ |
/* Require an exact match at runtime. */ |
#define LL_EXACT_MATCH 0x00000001 |
/* Ignore version incompatibilities at runtime. */ |
#define LL_IGNORE_INT_VER 0x00000002 |
/* Require matching minor version number. */ |
#define LL_REQUIRE_MINOR 0x00000004 |
/* ??? */ |
#define LL_EXPORTS 0x00000008 |
/* Delay loading of this library until really needed. */ |
#define LL_DELAY_LOAD 0x00000010 |
/* ??? Delta C++ stuff ??? */ |
#define LL_DELTA 0x00000020 |
/* A section of type SHT_MIPS_CONFLICT is an array of indices into the |
.dynsym section. Each element has the following type. */ |
typedef unsigned long Elf32_Conflict; |
typedef unsigned char Elf32_External_Conflict[4]; |
typedef unsigned long Elf64_Conflict; |
typedef unsigned char Elf64_External_Conflict[8]; |
/* A section of type SHT_MIPS_GPTAB contains information about how |
much GP space would be required for different -G arguments. This |
information is only used so that the linker can provide informative |
suggestions as to the best -G value to use. The sh_info field is |
the index of the section for which this information applies. The |
contents of the section are an array of the following union. The |
first element uses the gt_header field. The remaining elements use |
the gt_entry field. */ |
typedef union |
{ |
struct |
{ |
/* -G value actually used for this object file. */ |
unsigned long gt_current_g_value; |
/* Unused. */ |
unsigned long gt_unused; |
} gt_header; |
struct |
{ |
/* If this -G argument has been used... */ |
unsigned long gt_g_value; |
/* ...this many GP section bytes would be required. */ |
unsigned long gt_bytes; |
} gt_entry; |
} Elf32_gptab; |
/* The external version of Elf32_gptab. */ |
typedef union |
{ |
struct |
{ |
unsigned char gt_current_g_value[4]; |
unsigned char gt_unused[4]; |
} gt_header; |
struct |
{ |
unsigned char gt_g_value[4]; |
unsigned char gt_bytes[4]; |
} gt_entry; |
} Elf32_External_gptab; |
/* A section of type SHT_MIPS_REGINFO contains the following |
structure. */ |
typedef struct |
{ |
/* Mask of general purpose registers used. */ |
unsigned long ri_gprmask; |
/* Mask of co-processor registers used. */ |
unsigned long ri_cprmask[4]; |
/* GP register value for this object file. */ |
long ri_gp_value; |
} Elf32_RegInfo; |
/* The external version of the Elf_RegInfo structure. */ |
typedef struct |
{ |
unsigned char ri_gprmask[4]; |
unsigned char ri_cprmask[4][4]; |
unsigned char ri_gp_value[4]; |
} Elf32_External_RegInfo; |
/* MIPS ELF .reginfo swapping routines. */ |
extern void bfd_mips_elf32_swap_reginfo_in |
(bfd *, const Elf32_External_RegInfo *, Elf32_RegInfo *); |
extern void bfd_mips_elf32_swap_reginfo_out |
(bfd *, const Elf32_RegInfo *, Elf32_External_RegInfo *); |
/* Processor specific section flags. */ |
/* This section must be in the global data area. */ |
#define SHF_MIPS_GPREL 0x10000000 |
/* This section should be merged. */ |
#define SHF_MIPS_MERGE 0x20000000 |
/* This section contains address data of size implied by section |
element size. */ |
#define SHF_MIPS_ADDR 0x40000000 |
/* This section contains string data. */ |
#define SHF_MIPS_STRING 0x80000000 |
/* This section may not be stripped. */ |
#define SHF_MIPS_NOSTRIP 0x08000000 |
/* This section is local to threads. */ |
#define SHF_MIPS_LOCAL 0x04000000 |
/* Linker should generate implicit weak names for this section. */ |
#define SHF_MIPS_NAMES 0x02000000 |
/* Section contais text/data which may be replicated in other sections. |
Linker should retain only one copy. */ |
#define SHF_MIPS_NODUPES 0x01000000 |
/* Processor specific program header types. */ |
/* Register usage information. Identifies one .reginfo section. */ |
#define PT_MIPS_REGINFO 0x70000000 |
/* Runtime procedure table. */ |
#define PT_MIPS_RTPROC 0x70000001 |
/* .MIPS.options section. */ |
#define PT_MIPS_OPTIONS 0x70000002 |
/* Processor specific dynamic array tags. */ |
/* 32 bit version number for runtime linker interface. */ |
#define DT_MIPS_RLD_VERSION 0x70000001 |
/* Time stamp. */ |
#define DT_MIPS_TIME_STAMP 0x70000002 |
/* Checksum of external strings and common sizes. */ |
#define DT_MIPS_ICHECKSUM 0x70000003 |
/* Index of version string in string table. */ |
#define DT_MIPS_IVERSION 0x70000004 |
/* 32 bits of flags. */ |
#define DT_MIPS_FLAGS 0x70000005 |
/* Base address of the segment. */ |
#define DT_MIPS_BASE_ADDRESS 0x70000006 |
/* ??? */ |
#define DT_MIPS_MSYM 0x70000007 |
/* Address of .conflict section. */ |
#define DT_MIPS_CONFLICT 0x70000008 |
/* Address of .liblist section. */ |
#define DT_MIPS_LIBLIST 0x70000009 |
/* Number of local global offset table entries. */ |
#define DT_MIPS_LOCAL_GOTNO 0x7000000a |
/* Number of entries in the .conflict section. */ |
#define DT_MIPS_CONFLICTNO 0x7000000b |
/* Number of entries in the .liblist section. */ |
#define DT_MIPS_LIBLISTNO 0x70000010 |
/* Number of entries in the .dynsym section. */ |
#define DT_MIPS_SYMTABNO 0x70000011 |
/* Index of first external dynamic symbol not referenced locally. */ |
#define DT_MIPS_UNREFEXTNO 0x70000012 |
/* Index of first dynamic symbol in global offset table. */ |
#define DT_MIPS_GOTSYM 0x70000013 |
/* Number of page table entries in global offset table. */ |
#define DT_MIPS_HIPAGENO 0x70000014 |
/* Address of run time loader map, used for debugging. */ |
#define DT_MIPS_RLD_MAP 0x70000016 |
/* Delta C++ class definition. */ |
#define DT_MIPS_DELTA_CLASS 0x70000017 |
/* Number of entries in DT_MIPS_DELTA_CLASS. */ |
#define DT_MIPS_DELTA_CLASS_NO 0x70000018 |
/* Delta C++ class instances. */ |
#define DT_MIPS_DELTA_INSTANCE 0x70000019 |
/* Number of entries in DT_MIPS_DELTA_INSTANCE. */ |
#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a |
/* Delta relocations. */ |
#define DT_MIPS_DELTA_RELOC 0x7000001b |
/* Number of entries in DT_MIPS_DELTA_RELOC. */ |
#define DT_MIPS_DELTA_RELOC_NO 0x7000001c |
/* Delta symbols that Delta relocations refer to. */ |
#define DT_MIPS_DELTA_SYM 0x7000001d |
/* Number of entries in DT_MIPS_DELTA_SYM. */ |
#define DT_MIPS_DELTA_SYM_NO 0x7000001e |
/* Delta symbols that hold class declarations. */ |
#define DT_MIPS_DELTA_CLASSSYM 0x70000020 |
/* Number of entries in DT_MIPS_DELTA_CLASSSYM. */ |
#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021 |
/* Flags indicating information about C++ flavor. */ |
#define DT_MIPS_CXX_FLAGS 0x70000022 |
/* Pixie information (???). */ |
#define DT_MIPS_PIXIE_INIT 0x70000023 |
/* Address of .MIPS.symlib */ |
#define DT_MIPS_SYMBOL_LIB 0x70000024 |
/* The GOT index of the first PTE for a segment */ |
#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025 |
/* The GOT index of the first PTE for a local symbol */ |
#define DT_MIPS_LOCAL_GOTIDX 0x70000026 |
/* The GOT index of the first PTE for a hidden symbol */ |
#define DT_MIPS_HIDDEN_GOTIDX 0x70000027 |
/* The GOT index of the first PTE for a protected symbol */ |
#define DT_MIPS_PROTECTED_GOTIDX 0x70000028 |
/* Address of `.MIPS.options'. */ |
#define DT_MIPS_OPTIONS 0x70000029 |
/* Address of `.interface'. */ |
#define DT_MIPS_INTERFACE 0x7000002a |
/* ??? */ |
#define DT_MIPS_DYNSTR_ALIGN 0x7000002b |
/* Size of the .interface section. */ |
#define DT_MIPS_INTERFACE_SIZE 0x7000002c |
/* Size of rld_text_resolve function stored in the GOT. */ |
#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d |
/* Default suffix of DSO to be added by rld on dlopen() calls. */ |
#define DT_MIPS_PERF_SUFFIX 0x7000002e |
/* Size of compact relocation section (O32). */ |
#define DT_MIPS_COMPACT_SIZE 0x7000002f |
/* GP value for auxiliary GOTs. */ |
#define DT_MIPS_GP_VALUE 0x70000030 |
/* Address of auxiliary .dynamic. */ |
#define DT_MIPS_AUX_DYNAMIC 0x70000031 |
/* Address of the base of the PLTGOT. */ |
#define DT_MIPS_PLTGOT 0x70000032 |
/* Points to the base of a writable PLT. */ |
#define DT_MIPS_RWPLT 0x70000034 |
/* Flags which may appear in a DT_MIPS_FLAGS entry. */ |
/* No flags. */ |
#define RHF_NONE 0x00000000 |
/* Uses shortcut pointers. */ |
#define RHF_QUICKSTART 0x00000001 |
/* Hash size is not a power of two. */ |
#define RHF_NOTPOT 0x00000002 |
/* Ignore LD_LIBRARY_PATH. */ |
#define RHS_NO_LIBRARY_REPLACEMENT 0x00000004 |
/* DSO address may not be relocated. */ |
#define RHF_NO_MOVE 0x00000008 |
/* SGI specific features. */ |
#define RHF_SGI_ONLY 0x00000010 |
/* Guarantee that .init will finish executing before any non-init |
code in DSO is called. */ |
#define RHF_GUARANTEE_INIT 0x00000020 |
/* Contains Delta C++ code. */ |
#define RHF_DELTA_C_PLUS_PLUS 0x00000040 |
/* Guarantee that .init will start executing before any non-init |
code in DSO is called. */ |
#define RHF_GUARANTEE_START_INIT 0x00000080 |
/* Generated by pixie. */ |
#define RHF_PIXIE 0x00000100 |
/* Delay-load DSO by default. */ |
#define RHF_DEFAULT_DELAY_LOAD 0x00000200 |
/* Object may be requickstarted */ |
#define RHF_REQUICKSTART 0x00000400 |
/* Object has been requickstarted */ |
#define RHF_REQUICKSTARTED 0x00000800 |
/* Generated by cord. */ |
#define RHF_CORD 0x00001000 |
/* Object contains no unresolved undef symbols. */ |
#define RHF_NO_UNRES_UNDEF 0x00002000 |
/* Symbol table is in a safe order. */ |
#define RHF_RLD_ORDER_SAFE 0x00004000 |
/* Special values for the st_other field in the symbol table. These |
are used in an Irix 5 dynamic symbol table. */ |
#define STO_DEFAULT STV_DEFAULT |
#define STO_INTERNAL STV_INTERNAL |
#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. 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) & 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) & 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 |
error message should be produced. */ |
#define STO_OPTIONAL (1 << 2) |
/* A macro to examine the STO_OPTIONAL bit. */ |
#define ELF_MIPS_IS_OPTIONAL(other) ((other) & STO_OPTIONAL) |
/* The 64-bit MIPS ELF ABI uses an unusual reloc format. Each |
relocation entry specifies up to three actual relocations, all at |
the same address. The first relocation which required a symbol |
uses the symbol in the r_sym field. The second relocation which |
requires a symbol uses the symbol in the r_ssym field. If all |
three relocations require a symbol, the third one uses a zero |
value. */ |
/* An entry in a 64 bit SHT_REL section. */ |
typedef struct |
{ |
/* Address of relocation. */ |
unsigned char r_offset[8]; |
/* Symbol index. */ |
unsigned char r_sym[4]; |
/* Special symbol. */ |
unsigned char r_ssym[1]; |
/* Third relocation. */ |
unsigned char r_type3[1]; |
/* Second relocation. */ |
unsigned char r_type2[1]; |
/* First relocation. */ |
unsigned char r_type[1]; |
} Elf64_Mips_External_Rel; |
typedef struct |
{ |
/* Address of relocation. */ |
bfd_vma r_offset; |
/* Symbol index. */ |
unsigned long r_sym; |
/* Special symbol. */ |
unsigned char r_ssym; |
/* Third relocation. */ |
unsigned char r_type3; |
/* Second relocation. */ |
unsigned char r_type2; |
/* First relocation. */ |
unsigned char r_type; |
} Elf64_Mips_Internal_Rel; |
/* An entry in a 64 bit SHT_RELA section. */ |
typedef struct |
{ |
/* Address of relocation. */ |
unsigned char r_offset[8]; |
/* Symbol index. */ |
unsigned char r_sym[4]; |
/* Special symbol. */ |
unsigned char r_ssym[1]; |
/* Third relocation. */ |
unsigned char r_type3[1]; |
/* Second relocation. */ |
unsigned char r_type2[1]; |
/* First relocation. */ |
unsigned char r_type[1]; |
/* Addend. */ |
unsigned char r_addend[8]; |
} Elf64_Mips_External_Rela; |
typedef struct |
{ |
/* Address of relocation. */ |
bfd_vma r_offset; |
/* Symbol index. */ |
unsigned long r_sym; |
/* Special symbol. */ |
unsigned char r_ssym; |
/* Third relocation. */ |
unsigned char r_type3; |
/* Second relocation. */ |
unsigned char r_type2; |
/* First relocation. */ |
unsigned char r_type; |
/* Addend. */ |
bfd_signed_vma r_addend; |
} Elf64_Mips_Internal_Rela; |
/* MIPS ELF 64 relocation info access macros. */ |
#define ELF64_MIPS_R_SSYM(i) (((i) >> 24) & 0xff) |
#define ELF64_MIPS_R_TYPE3(i) (((i) >> 16) & 0xff) |
#define ELF64_MIPS_R_TYPE2(i) (((i) >> 8) & 0xff) |
#define ELF64_MIPS_R_TYPE(i) ((i) & 0xff) |
/* Values found in the r_ssym field of a relocation entry. */ |
/* No relocation. */ |
#define RSS_UNDEF 0 |
/* Value of GP. */ |
#define RSS_GP 1 |
/* Value of GP in object being relocated. */ |
#define RSS_GP0 2 |
/* Address of location being relocated. */ |
#define RSS_LOC 3 |
/* A SHT_MIPS_OPTIONS section contains a series of options, each of |
which starts with this header. */ |
typedef struct |
{ |
/* Type of option. */ |
unsigned char kind[1]; |
/* Size of option descriptor, including header. */ |
unsigned char size[1]; |
/* Section index of affected section, or 0 for global option. */ |
unsigned char section[2]; |
/* Information specific to this kind of option. */ |
unsigned char info[4]; |
} Elf_External_Options; |
typedef struct |
{ |
/* Type of option. */ |
unsigned char kind; |
/* Size of option descriptor, including header. */ |
unsigned char size; |
/* Section index of affected section, or 0 for global option. */ |
unsigned short section; |
/* Information specific to this kind of option. */ |
unsigned long info; |
} Elf_Internal_Options; |
/* MIPS ELF option header swapping routines. */ |
extern void bfd_mips_elf_swap_options_in |
(bfd *, const Elf_External_Options *, Elf_Internal_Options *); |
extern void bfd_mips_elf_swap_options_out |
(bfd *, const Elf_Internal_Options *, Elf_External_Options *); |
/* Values which may appear in the kind field of an Elf_Options |
structure. */ |
/* Undefined. */ |
#define ODK_NULL 0 |
/* Register usage and GP value. */ |
#define ODK_REGINFO 1 |
/* Exception processing information. */ |
#define ODK_EXCEPTIONS 2 |
/* Section padding information. */ |
#define ODK_PAD 3 |
/* Hardware workarounds performed. */ |
#define ODK_HWPATCH 4 |
/* Fill value used by the linker. */ |
#define ODK_FILL 5 |
/* Reserved space for desktop tools. */ |
#define ODK_TAGS 6 |
/* Hardware workarounds, AND bits when merging. */ |
#define ODK_HWAND 7 |
/* Hardware workarounds, OR bits when merging. */ |
#define ODK_HWOR 8 |
/* GP group to use for text/data sections. */ |
#define ODK_GP_GROUP 9 |
/* ID information. */ |
#define ODK_IDENT 10 |
/* In the 32 bit ABI, an ODK_REGINFO option is just a Elf32_RegInfo |
structure. In the 64 bit ABI, it is the following structure. The |
info field of the options header is not used. */ |
typedef struct |
{ |
/* Mask of general purpose registers used. */ |
unsigned char ri_gprmask[4]; |
/* Padding. */ |
unsigned char ri_pad[4]; |
/* Mask of co-processor registers used. */ |
unsigned char ri_cprmask[4][4]; |
/* GP register value for this object file. */ |
unsigned char ri_gp_value[8]; |
} Elf64_External_RegInfo; |
typedef struct |
{ |
/* Mask of general purpose registers used. */ |
unsigned long ri_gprmask; |
/* Padding. */ |
unsigned long ri_pad; |
/* Mask of co-processor registers used. */ |
unsigned long ri_cprmask[4]; |
/* GP register value for this object file. */ |
bfd_vma ri_gp_value; |
} Elf64_Internal_RegInfo; |
typedef struct |
{ |
/* The hash value computed from the name of the corresponding |
dynamic symbol. */ |
unsigned char ms_hash_value[4]; |
/* Contains both the dynamic relocation index and the symbol flags |
field. The macros ELF32_MS_REL_INDEX and ELF32_MS_FLAGS are used |
to access the individual values. The dynamic relocation index |
identifies the first entry in the .rel.dyn section that |
references the dynamic symbol corresponding to this msym entry. |
If the index is 0, no dynamic relocations are associated with the |
symbol. The symbol flags field is reserved for future use. */ |
unsigned char ms_info[4]; |
} Elf32_External_Msym; |
typedef struct |
{ |
/* The hash value computed from the name of the corresponding |
dynamic symbol. */ |
unsigned long ms_hash_value; |
/* Contains both the dynamic relocation index and the symbol flags |
field. The macros ELF32_MS_REL_INDEX and ELF32_MS_FLAGS are used |
to access the individual values. The dynamic relocation index |
identifies the first entry in the .rel.dyn section that |
references the dynamic symbol corresponding to this msym entry. |
If the index is 0, no dynamic relocations are associated with the |
symbol. The symbol flags field is reserved for future use. */ |
unsigned long ms_info; |
} Elf32_Internal_Msym; |
#define ELF32_MS_REL_INDEX(i) ((i) >> 8) |
#define ELF32_MS_FLAGS(i) (i) & 0xff) |
#define ELF32_MS_INFO(r, f) (((r) << 8) + ((f) & 0xff)) |
/* MIPS ELF reginfo swapping routines. */ |
extern void bfd_mips_elf64_swap_reginfo_in |
(bfd *, const Elf64_External_RegInfo *, Elf64_Internal_RegInfo *); |
extern void bfd_mips_elf64_swap_reginfo_out |
(bfd *, const Elf64_Internal_RegInfo *, Elf64_External_RegInfo *); |
/* Masks for the info work of an ODK_EXCEPTIONS descriptor. */ |
#define OEX_FPU_MIN 0x1f /* FPEs which must be enabled. */ |
#define OEX_FPU_MAX 0x1f00 /* FPEs which may be enabled. */ |
#define OEX_PAGE0 0x10000 /* Page zero must be mapped. */ |
#define OEX_SMM 0x20000 /* Force sequential memory mode. */ |
#define OEX_FPDBUG 0x40000 /* Force precise floating-point |
exceptions (debug mode). */ |
#define OEX_DISMISS 0x80000 /* Dismiss invalid address faults. */ |
/* Masks of the FP exceptions for OEX_FPU_MIN and OEX_FPU_MAX. */ |
#define OEX_FPU_INVAL 0x10 /* Invalid operation exception. */ |
#define OEX_FPU_DIV0 0x08 /* Division by zero exception. */ |
#define OEX_FPU_OFLO 0x04 /* Overflow exception. */ |
#define OEX_FPU_UFLO 0x02 /* Underflow exception. */ |
#define OEX_FPU_INEX 0x01 /* Inexact exception. */ |
/* Masks for the info word of an ODK_PAD descriptor. */ |
#define OPAD_PREFIX 0x01 |
#define OPAD_POSTFIX 0x02 |
#define OPAD_SYMBOL 0x04 |
/* Masks for the info word of an ODK_HWPATCH descriptor. */ |
#define OHW_R4KEOP 0x00000001 /* R4000 end-of-page patch. */ |
#define OHW_R8KPFETCH 0x00000002 /* May need R8000 prefetch patch. */ |
#define OHW_R5KEOP 0x00000004 /* R5000 end-of-page patch. */ |
#define OHW_R5KCVTL 0x00000008 /* R5000 cvt.[ds].l bug |
(clean == 1). */ |
#define OHW_R10KLDL 0x00000010 /* Needs R10K misaligned |
load patch. */ |
/* Masks for the info word of an ODK_IDENT/ODK_GP_GROUP descriptor. */ |
#define OGP_GROUP 0x0000ffff /* GP group number. */ |
#define OGP_SELF 0xffff0000 /* Self-contained GP groups. */ |
/* Masks for the info word of an ODK_HWAND/ODK_HWOR descriptor. */ |
#define OHWA0_R4KEOP_CHECKED 0x00000001 |
#define OHWA0_R4KEOP_CLEAN 0x00000002 |
/* Object attribute tags. */ |
enum |
{ |
/* 0-3 are generic. */ |
/* 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 */ |
/contrib/toolchain/binutils/include/elf/mmix.h |
---|
0,0 → 1,173 |
/* MMIX support for BFD. |
Copyright 2001, 2002, 2003, 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. */ |
/* This file holds definitions specific to the MMIX ELF ABI. */ |
#ifndef ELF_MMIX_H |
#define ELF_MMIX_H |
#include "elf/reloc-macros.h" |
/* Relocations. See the reloc table in bfd/elf64-mmix.c for details. */ |
START_RELOC_NUMBERS (elf_mmix_reloc_type) |
RELOC_NUMBER (R_MMIX_NONE, 0) |
/* Standard absolute relocations. */ |
RELOC_NUMBER (R_MMIX_8, 1) |
RELOC_NUMBER (R_MMIX_16, 2) |
RELOC_NUMBER (R_MMIX_24, 3) |
RELOC_NUMBER (R_MMIX_32, 4) |
RELOC_NUMBER (R_MMIX_64, 5) |
/* Standard relative relocations. */ |
RELOC_NUMBER (R_MMIX_PC_8, 6) |
RELOC_NUMBER (R_MMIX_PC_16, 7) |
RELOC_NUMBER (R_MMIX_PC_24, 8) |
RELOC_NUMBER (R_MMIX_PC_32, 9) |
RELOC_NUMBER (R_MMIX_PC_64, 10) |
/* GNU extensions for C++ vtables. */ |
RELOC_NUMBER (R_MMIX_GNU_VTINHERIT, 11) |
RELOC_NUMBER (R_MMIX_GNU_VTENTRY, 12) |
/* A GETA instruction. */ |
RELOC_NUMBER (R_MMIX_GETA, 13) |
RELOC_NUMBER (R_MMIX_GETA_1, 14) |
RELOC_NUMBER (R_MMIX_GETA_2, 15) |
RELOC_NUMBER (R_MMIX_GETA_3, 16) |
/* A conditional branch instruction. */ |
RELOC_NUMBER (R_MMIX_CBRANCH, 17) |
RELOC_NUMBER (R_MMIX_CBRANCH_J, 18) |
RELOC_NUMBER (R_MMIX_CBRANCH_1, 19) |
RELOC_NUMBER (R_MMIX_CBRANCH_2, 20) |
RELOC_NUMBER (R_MMIX_CBRANCH_3, 21) |
/* A PUSHJ instruction. */ |
RELOC_NUMBER (R_MMIX_PUSHJ, 22) |
RELOC_NUMBER (R_MMIX_PUSHJ_1, 23) |
RELOC_NUMBER (R_MMIX_PUSHJ_2, 24) |
RELOC_NUMBER (R_MMIX_PUSHJ_3, 25) |
/* A JMP instruction. */ |
RELOC_NUMBER (R_MMIX_JMP, 26) |
RELOC_NUMBER (R_MMIX_JMP_1, 27) |
RELOC_NUMBER (R_MMIX_JMP_2, 28) |
RELOC_NUMBER (R_MMIX_JMP_3, 29) |
/* A relative address such as in a GETA or a branch. */ |
RELOC_NUMBER (R_MMIX_ADDR19, 30) |
/* A relative address such as in a JMP (only). */ |
RELOC_NUMBER (R_MMIX_ADDR27, 31) |
/* A general register or a number 0..255. */ |
RELOC_NUMBER (R_MMIX_REG_OR_BYTE, 32) |
/* A general register. */ |
RELOC_NUMBER (R_MMIX_REG, 33) |
/* A global register and an offset, the global register (allocated at |
link time) contents plus the offset made equivalent to the relocation |
expression at link time. The relocation must point at the Y field of |
an instruction. */ |
RELOC_NUMBER (R_MMIX_BASE_PLUS_OFFSET, 34) |
/* A LOCAL assertion. */ |
RELOC_NUMBER (R_MMIX_LOCAL, 35) |
/* A PUSHJ instruction, generating a stub if it does not reach. */ |
RELOC_NUMBER (R_MMIX_PUSHJ_STUBBABLE, 36) |
END_RELOC_NUMBERS (R_MMIX_max) |
/* Section Attributes. */ |
/* A section containing necessary information for relaxation. */ |
#define SHF_MMIX_CANRELAX 0x80000000 |
/* Symbol attributes. */ |
/* A symbol with this section-index is a register. */ |
#define SHN_REGISTER SHN_LOPROC |
/* This section holds contents for each initialized register, at VMA |
regno*8. A symbol relative to this section will be transformed to an |
absolute symbol with the value corresponding to the register number at |
final link time. A symbol with a value outside the inclusive range |
32*8 .. 254*8 is an error. It is highly recommended to only use an |
upper bound of 253*8 or lower as specified in the (currently |
unspecified) ABI. */ |
#define MMIX_REG_CONTENTS_SECTION_NAME ".MMIX.reg_contents" |
/* At link time, a section by this name is created, expected to be |
included in MMIX_REG_CONTENTS_SECTION_NAME in the output. */ |
#define MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME \ |
".MMIX.reg_contents.linker_allocated" |
/* This is a faked section holding symbols with SHN_REGISTER. Don't |
confuse it with MMIX_REG_CONTENTS_SECTION_NAME; this one has no |
contents, just values. It is an error for a value in this section to |
be outside the range 32..255 and it must never become an actual section |
in an object file. */ |
#define MMIX_REG_SECTION_NAME "*REG*" |
/* Appended with a number N=0..65535, this is a representation of the |
mmixal "BSPEC N" ... "ESPEC" directive pair; the contents go into an |
ELF section by name ".MMIX.spec_data.N". */ |
#define MMIX_OTHER_SPEC_SECTION_PREFIX ".MMIX.spec_data." |
/* A section SECNAME is noted to start at "__.MMIX.start.SECNAME" by the |
presence of this symbol. Currently only implemented for ".text" |
through the symbol "__.MMIX.start..text". */ |
#define MMIX_LOC_SECTION_START_SYMBOL_PREFIX "__.MMIX.start." |
/* This symbol is always a function. */ |
#define MMIX_START_SYMBOL_NAME "Main" |
/* We smuggle in a few MMO specifics here. We don't make a specific MMO |
file, since we can't reasonably support MMO without ELF; we have to |
include this file anyway. */ |
#define MMO_TEXT_SECTION_NAME ".text" |
#define MMO_DATA_SECTION_NAME ".data" |
/* A definition for the flags we put in spec data in files. A copy of our |
own of some flags to keep immune to BFD flag changes. See section.c of |
2001-07-18 for flag documentation. */ |
#define MMO_SEC_ALLOC 0x001 |
#define MMO_SEC_LOAD 0x002 |
#define MMO_SEC_RELOC 0x004 |
#define MMO_SEC_READONLY 0x010 |
#define MMO_SEC_CODE 0x020 |
#define MMO_SEC_DATA 0x040 |
#define MMO_SEC_NEVER_LOAD 0x400 |
#define MMO_SEC_IS_COMMON 0x8000 |
#define MMO_SEC_DEBUGGING 0x10000 |
#ifdef BFD_ARCH_SIZE |
extern bfd_boolean _bfd_mmix_before_linker_allocation |
(bfd *, struct bfd_link_info *); |
extern bfd_boolean _bfd_mmix_after_linker_allocation |
(bfd *, struct bfd_link_info *); |
extern bfd_boolean _bfd_mmix_check_all_relocs |
(bfd *, struct bfd_link_info *); |
#endif |
#endif /* ELF_MMIX_H */ |
/contrib/toolchain/binutils/include/elf/mn10200.h |
---|
0,0 → 1,40 |
/* MN10200 ELF support for BFD. |
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 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 MN10200 ELF ABI. */ |
#ifndef _ELF_MN10200_H |
#define _ELF_MN10200_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_mn10200_reloc_type) |
RELOC_NUMBER (R_MN10200_NONE, 0) |
RELOC_NUMBER (R_MN10200_32, 1) |
RELOC_NUMBER (R_MN10200_16, 2) |
RELOC_NUMBER (R_MN10200_8, 3) |
RELOC_NUMBER (R_MN10200_24, 4) |
RELOC_NUMBER (R_MN10200_PCREL8, 5) |
RELOC_NUMBER (R_MN10200_PCREL16, 6) |
RELOC_NUMBER (R_MN10200_PCREL24, 7) |
END_RELOC_NUMBERS (R_MN10200_max) |
#endif /* _ELF_MN10200_H */ |
/contrib/toolchain/binutils/include/elf/mn10300.h |
---|
0,0 → 1,80 |
/* MN10300 ELF support for BFD. |
Copyright 1998, 1999, 2000, 2003, 2007 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. */ |
/* This file holds definitions specific to the MN10300 ELF ABI. */ |
#ifndef _ELF_MN10300_H |
#define _ELF_MN10300_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_mn10300_reloc_type) |
RELOC_NUMBER (R_MN10300_NONE, 0) |
RELOC_NUMBER (R_MN10300_32, 1) |
RELOC_NUMBER (R_MN10300_16, 2) |
RELOC_NUMBER (R_MN10300_8, 3) |
RELOC_NUMBER (R_MN10300_PCREL32, 4) |
RELOC_NUMBER (R_MN10300_PCREL16, 5) |
RELOC_NUMBER (R_MN10300_PCREL8, 6) |
RELOC_NUMBER (R_MN10300_GNU_VTINHERIT, 7) |
RELOC_NUMBER (R_MN10300_GNU_VTENTRY, 8) |
RELOC_NUMBER (R_MN10300_24, 9) |
RELOC_NUMBER (R_MN10300_GOTPC32, 10) |
RELOC_NUMBER (R_MN10300_GOTPC16, 11) |
RELOC_NUMBER (R_MN10300_GOTOFF32, 12) |
RELOC_NUMBER (R_MN10300_GOTOFF24, 13) |
RELOC_NUMBER (R_MN10300_GOTOFF16, 14) |
RELOC_NUMBER (R_MN10300_PLT32, 15) |
RELOC_NUMBER (R_MN10300_PLT16, 16) |
RELOC_NUMBER (R_MN10300_GOT32, 17) |
RELOC_NUMBER (R_MN10300_GOT24, 18) |
RELOC_NUMBER (R_MN10300_GOT16, 19) |
RELOC_NUMBER (R_MN10300_COPY, 20) |
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) |
/* Machine variant if we know it. This field was invented at Cygnus, |
but it is hoped that other vendors will adopt it. If some standard |
is developed, this code should be changed to follow it. */ |
#define EF_MN10300_MACH 0x00FF0000 |
/* Cygnus is choosing values between 80 and 9F; |
00 - 7F should be left for a future standard; |
the rest are open. */ |
#define E_MN10300_MACH_MN10300 0x00810000 |
#define E_MN10300_MACH_AM33 0x00820000 |
#define E_MN10300_MACH_AM33_2 0x00830000 |
#endif /* _ELF_MN10300_H */ |
/contrib/toolchain/binutils/include/elf/moxie.h |
---|
0,0 → 1,32 |
/* moxie ELF support for BFD. |
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 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_MOXIE_H |
#define _ELF_MOXIE_H |
#include "elf/reloc-macros.h" |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_moxie_reloc_type) |
RELOC_NUMBER (R_MOXIE_NONE, 0) |
RELOC_NUMBER (R_MOXIE_32, 1) |
RELOC_NUMBER (R_MOXIE_PCREL10, 2) |
END_RELOC_NUMBERS (R_MOXIE_max) |
#endif /* _ELF_MOXIE_H */ |
/contrib/toolchain/binutils/include/elf/msp430.h |
---|
0,0 → 1,101 |
/* MSP430 ELF support for BFD. |
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 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_MSP430_H |
#define _ELF_MSP430_H |
#include "elf/reloc-macros.h" |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_MSP430_MACH 0xff |
#define E_MSP430_MACH_MSP430x11 11 |
#define E_MSP430_MACH_MSP430x11x1 110 |
#define E_MSP430_MACH_MSP430x12 12 |
#define E_MSP430_MACH_MSP430x13 13 |
#define E_MSP430_MACH_MSP430x14 14 |
#define E_MSP430_MACH_MSP430x15 15 |
#define E_MSP430_MACH_MSP430x16 16 |
#define E_MSP430_MACH_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 |
#define E_MSP430_MACH_MSP430x41 41 |
#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) |
RELOC_NUMBER (R_MSP430_NONE, 0) |
RELOC_NUMBER (R_MSP430_32, 1) |
RELOC_NUMBER (R_MSP430_10_PCREL, 2) |
RELOC_NUMBER (R_MSP430_16, 3) |
RELOC_NUMBER (R_MSP430_16_PCREL, 4) |
RELOC_NUMBER (R_MSP430_16_BYTE, 5) |
RELOC_NUMBER (R_MSP430_16_PCREL_BYTE, 6) |
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 */ |
/contrib/toolchain/binutils/include/elf/mt.h |
---|
0,0 → 1,46 |
/* MS1 ELF support for BFD. |
Copyright (C) 2000, 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 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_MT_H |
#define _ELF_MT_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_mt_reloc_type) |
RELOC_NUMBER (R_MT_NONE, 0) |
RELOC_NUMBER (R_MT_16, 1) |
RELOC_NUMBER (R_MT_32, 2) |
RELOC_NUMBER (R_MT_32_PCREL, 3) |
RELOC_NUMBER (R_MT_PC16, 4) |
RELOC_NUMBER (R_MT_HI16, 5) |
RELOC_NUMBER (R_MT_LO16, 6) |
END_RELOC_NUMBERS(R_MT_max) |
#define EF_MT_CPU_MRISC 0x00000001 /* default */ |
#define EF_MT_CPU_MRISC2 0x00000002 /* MRISC2 */ |
#define EF_MT_CPU_MS2 0x00000003 /* MS2 */ |
#define EF_MT_CPU_MASK 0x00000003 /* specific cpu bits */ |
#define EF_MT_ALL_FLAGS (EF_MT_CPU_MASK) |
/* The location of the memory mapped hardware stack. */ |
#define MT_STACK_VALUE 0x0f000000 |
#define MT_STACK_SIZE 0x20 |
#endif /* _ELF_MT_H */ |
/contrib/toolchain/binutils/include/elf/nios2.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 */ |
/contrib/toolchain/binutils/include/elf/openrisc.h |
---|
0,0 → 1,39 |
/* OpenRISC ELF support for BFD. |
Copyright 2001, 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_OPENRISC_H |
#define _ELF_OPENRISC_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_openrisc_reloc_type) |
RELOC_NUMBER (R_OPENRISC_NONE, 0) |
RELOC_NUMBER (R_OPENRISC_INSN_REL_26, 1) |
RELOC_NUMBER (R_OPENRISC_INSN_ABS_26, 2) |
RELOC_NUMBER (R_OPENRISC_LO_16_IN_INSN, 3) |
RELOC_NUMBER (R_OPENRISC_HI_16_IN_INSN, 4) |
RELOC_NUMBER (R_OPENRISC_8, 5) |
RELOC_NUMBER (R_OPENRISC_16, 6) |
RELOC_NUMBER (R_OPENRISC_32, 7) |
RELOC_NUMBER (R_OPENRISC_GNU_VTINHERIT, 8) |
RELOC_NUMBER (R_OPENRISC_GNU_VTENTRY, 9) |
END_RELOC_NUMBERS (R_OPENRISC_max) |
#endif /* _ELF_OPENRISC_H */ |
/contrib/toolchain/binutils/include/elf/or32.h |
---|
0,0 → 1,56 |
/* OR1K ELF support for BFD. Derived from ppc.h. |
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 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_OR1K_H |
#define _ELF_OR1K_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_or32_reloc_type) |
RELOC_NUMBER (R_OR32_NONE, 0) |
RELOC_NUMBER (R_OR32_32, 1) |
RELOC_NUMBER (R_OR32_16, 2) |
RELOC_NUMBER (R_OR32_8, 3) |
RELOC_NUMBER (R_OR32_CONST, 4) |
RELOC_NUMBER (R_OR32_CONSTH, 5) |
RELOC_NUMBER (R_OR32_JUMPTARG, 6) |
RELOC_NUMBER (R_OR32_GNU_VTENTRY, 7) |
RELOC_NUMBER (R_OR32_GNU_VTINHERIT, 8) |
END_RELOC_NUMBERS (R_OR32_max) |
/* Four bit OR32 machine type field. */ |
#define EF_OR32_MACH 0x0000000f |
/* Various CPU types. */ |
#define E_OR32_MACH_BASE 0x00000000 |
#define E_OR32_MACH_UNUSED1 0x00000001 |
#define E_OR32_MACH_UNUSED2 0x00000002 |
#define E_OR32_MACH_UNUSED4 0x00000003 |
/* Processor specific section headers, sh_type field */ |
#define SHT_ORDERED SHT_HIPROC /* Link editor is to sort the \ |
entries in this section \ |
based on the address \ |
specified in the associated \ |
symbol table entry. */ |
#endif /* _ELF_OR1K_H */ |
/contrib/toolchain/binutils/include/elf/pj.h |
---|
0,0 → 1,44 |
/* picoJava ELF support for BFD. |
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 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_PJ_H |
#define _ELF_PJ_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_pj_reloc_type) |
RELOC_NUMBER (R_PJ_NONE, 0) |
RELOC_NUMBER (R_PJ_DATA_DIR32, 1) |
RELOC_NUMBER (R_PJ_CODE_REL32, 2) |
RELOC_NUMBER (R_PJ_CODE_REL16, 3) |
RELOC_NUMBER (R_PJ_CODE_DIR32, 6) |
RELOC_NUMBER (R_PJ_CODE_DIR16, 7) |
RELOC_NUMBER (R_PJ_CODE_LO16, 13) |
RELOC_NUMBER (R_PJ_CODE_HI16, 14) |
RELOC_NUMBER (R_PJ_GNU_VTINHERIT, 15) |
RELOC_NUMBER (R_PJ_GNU_VTENTRY, 16) |
END_RELOC_NUMBERS (R_PJ_max) |
#define EF_PICOJAVA_ARCH 0x0000000f |
#define EF_PICOJAVA_NEWCALLS 0x00000010 |
#define EF_PICOJAVA_GNUCALLS 0x00000020 /* The (currently) non standard GNU calling convention */ |
#endif |
/contrib/toolchain/binutils/include/elf/ppc.h |
---|
0,0 → 1,224 |
/* PPC ELF support for BFD. |
Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003, 2005, 2007, 2008, |
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). |
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 PPC ELF ABI. Note |
that most of this is not actually implemented by BFD. */ |
#ifndef _ELF_PPC_H |
#define _ELF_PPC_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_ppc_reloc_type) |
RELOC_NUMBER (R_PPC_NONE, 0) |
RELOC_NUMBER (R_PPC_ADDR32, 1) |
RELOC_NUMBER (R_PPC_ADDR24, 2) |
RELOC_NUMBER (R_PPC_ADDR16, 3) |
RELOC_NUMBER (R_PPC_ADDR16_LO, 4) |
RELOC_NUMBER (R_PPC_ADDR16_HI, 5) |
RELOC_NUMBER (R_PPC_ADDR16_HA, 6) |
RELOC_NUMBER (R_PPC_ADDR14, 7) |
RELOC_NUMBER (R_PPC_ADDR14_BRTAKEN, 8) |
RELOC_NUMBER (R_PPC_ADDR14_BRNTAKEN, 9) |
RELOC_NUMBER (R_PPC_REL24, 10) |
RELOC_NUMBER (R_PPC_REL14, 11) |
RELOC_NUMBER (R_PPC_REL14_BRTAKEN, 12) |
RELOC_NUMBER (R_PPC_REL14_BRNTAKEN, 13) |
RELOC_NUMBER (R_PPC_GOT16, 14) |
RELOC_NUMBER (R_PPC_GOT16_LO, 15) |
RELOC_NUMBER (R_PPC_GOT16_HI, 16) |
RELOC_NUMBER (R_PPC_GOT16_HA, 17) |
RELOC_NUMBER (R_PPC_PLTREL24, 18) |
RELOC_NUMBER (R_PPC_COPY, 19) |
RELOC_NUMBER (R_PPC_GLOB_DAT, 20) |
RELOC_NUMBER (R_PPC_JMP_SLOT, 21) |
RELOC_NUMBER (R_PPC_RELATIVE, 22) |
RELOC_NUMBER (R_PPC_LOCAL24PC, 23) |
RELOC_NUMBER (R_PPC_UADDR32, 24) |
RELOC_NUMBER (R_PPC_UADDR16, 25) |
RELOC_NUMBER (R_PPC_REL32, 26) |
RELOC_NUMBER (R_PPC_PLT32, 27) |
RELOC_NUMBER (R_PPC_PLTREL32, 28) |
RELOC_NUMBER (R_PPC_PLT16_LO, 29) |
RELOC_NUMBER (R_PPC_PLT16_HI, 30) |
RELOC_NUMBER (R_PPC_PLT16_HA, 31) |
RELOC_NUMBER (R_PPC_SDAREL16, 32) |
RELOC_NUMBER (R_PPC_SECTOFF, 33) |
RELOC_NUMBER (R_PPC_SECTOFF_LO, 34) |
RELOC_NUMBER (R_PPC_SECTOFF_HI, 35) |
RELOC_NUMBER (R_PPC_SECTOFF_HA, 36) |
RELOC_NUMBER (R_PPC_ADDR30, 37) |
#ifndef RELOC_MACROS_GEN_FUNC |
/* Fake relocations for branch stubs, only used internally by ld. */ |
RELOC_NUMBER (R_PPC_RELAX, 48) |
RELOC_NUMBER (R_PPC_RELAX_PLT, 49) |
RELOC_NUMBER (R_PPC_RELAX_PLTREL24, 50) |
#endif |
/* Relocs added to support TLS. */ |
RELOC_NUMBER (R_PPC_TLS, 67) |
RELOC_NUMBER (R_PPC_DTPMOD32, 68) |
RELOC_NUMBER (R_PPC_TPREL16, 69) |
RELOC_NUMBER (R_PPC_TPREL16_LO, 70) |
RELOC_NUMBER (R_PPC_TPREL16_HI, 71) |
RELOC_NUMBER (R_PPC_TPREL16_HA, 72) |
RELOC_NUMBER (R_PPC_TPREL32, 73) |
RELOC_NUMBER (R_PPC_DTPREL16, 74) |
RELOC_NUMBER (R_PPC_DTPREL16_LO, 75) |
RELOC_NUMBER (R_PPC_DTPREL16_HI, 76) |
RELOC_NUMBER (R_PPC_DTPREL16_HA, 77) |
RELOC_NUMBER (R_PPC_DTPREL32, 78) |
RELOC_NUMBER (R_PPC_GOT_TLSGD16, 79) |
RELOC_NUMBER (R_PPC_GOT_TLSGD16_LO, 80) |
RELOC_NUMBER (R_PPC_GOT_TLSGD16_HI, 81) |
RELOC_NUMBER (R_PPC_GOT_TLSGD16_HA, 82) |
RELOC_NUMBER (R_PPC_GOT_TLSLD16, 83) |
RELOC_NUMBER (R_PPC_GOT_TLSLD16_LO, 84) |
RELOC_NUMBER (R_PPC_GOT_TLSLD16_HI, 85) |
RELOC_NUMBER (R_PPC_GOT_TLSLD16_HA, 86) |
RELOC_NUMBER (R_PPC_GOT_TPREL16, 87) |
RELOC_NUMBER (R_PPC_GOT_TPREL16_LO, 88) |
RELOC_NUMBER (R_PPC_GOT_TPREL16_HI, 89) |
RELOC_NUMBER (R_PPC_GOT_TPREL16_HA, 90) |
RELOC_NUMBER (R_PPC_GOT_DTPREL16, 91) |
RELOC_NUMBER (R_PPC_GOT_DTPREL16_LO, 92) |
RELOC_NUMBER (R_PPC_GOT_DTPREL16_HI, 93) |
RELOC_NUMBER (R_PPC_GOT_DTPREL16_HA, 94) |
RELOC_NUMBER (R_PPC_TLSGD, 95) |
RELOC_NUMBER (R_PPC_TLSLD, 96) |
/* The remaining relocs are from the Embedded ELF ABI, and are not |
in the SVR4 ELF ABI. */ |
RELOC_NUMBER (R_PPC_EMB_NADDR32, 101) |
RELOC_NUMBER (R_PPC_EMB_NADDR16, 102) |
RELOC_NUMBER (R_PPC_EMB_NADDR16_LO, 103) |
RELOC_NUMBER (R_PPC_EMB_NADDR16_HI, 104) |
RELOC_NUMBER (R_PPC_EMB_NADDR16_HA, 105) |
RELOC_NUMBER (R_PPC_EMB_SDAI16, 106) |
RELOC_NUMBER (R_PPC_EMB_SDA2I16, 107) |
RELOC_NUMBER (R_PPC_EMB_SDA2REL, 108) |
RELOC_NUMBER (R_PPC_EMB_SDA21, 109) |
RELOC_NUMBER (R_PPC_EMB_MRKREF, 110) |
RELOC_NUMBER (R_PPC_EMB_RELSEC16, 111) |
RELOC_NUMBER (R_PPC_EMB_RELST_LO, 112) |
RELOC_NUMBER (R_PPC_EMB_RELST_HI, 113) |
RELOC_NUMBER (R_PPC_EMB_RELST_HA, 114) |
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) |
/* These are GNU extensions used in PIC code sequences. */ |
RELOC_NUMBER (R_PPC_REL16, 249) |
RELOC_NUMBER (R_PPC_REL16_LO, 250) |
RELOC_NUMBER (R_PPC_REL16_HI, 251) |
RELOC_NUMBER (R_PPC_REL16_HA, 252) |
/* These are GNU extensions to enable C++ vtable garbage collection. */ |
RELOC_NUMBER (R_PPC_GNU_VTINHERIT, 253) |
RELOC_NUMBER (R_PPC_GNU_VTENTRY, 254) |
/* This is a phony reloc to handle any old fashioned TOC16 references |
that may still be in object files. */ |
RELOC_NUMBER (R_PPC_TOC16, 255) |
END_RELOC_NUMBERS (R_PPC_max) |
#define IS_PPC_TLS_RELOC(R) \ |
((R) >= R_PPC_TLS && (R) <= R_PPC_GOT_DTPREL16_HA) |
/* Specify the value of _GLOBAL_OFFSET_TABLE_. */ |
#define DT_PPC_GOT (DT_LOPROC) |
/* Specify that tls descriptors should be optimized. */ |
#define DT_PPC_OPT (DT_LOPROC + 1) |
#define PPC_OPT_TLS 1 |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag. */ |
#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 \ |
entries in this section \ |
based on the address \ |
specified in the associated \ |
symbol table entry. */ |
/* Object attribute tags. */ |
enum |
{ |
/* 0-3 are generic. */ |
Tag_GNU_Power_ABI_FP = 4, /* Value 1 for hard-float, 2 for |
soft-float, 3 for single=precision |
hard-float; 0 for not tagged or not |
using any ABIs affected by the |
differences. */ |
/* Value 1 for general purpose registers only, 2 for AltiVec |
registers, 3 for SPE registers; 0 for not tagged or not using any |
ABIs affected by the differences. */ |
Tag_GNU_Power_ABI_Vector = 8, |
/* Value 1 for ABIs using r3/r4 for returning structures <= 8 bytes, |
2 for ABIs using memory; 0 for not tagged or not using any ABIs |
affected by the differences. */ |
Tag_GNU_Power_ABI_Struct_Return = 12 |
}; |
#endif /* _ELF_PPC_H */ |
/contrib/toolchain/binutils/include/elf/ppc64.h |
---|
0,0 → 1,242 |
/* PPC64 ELF support for BFD. |
Copyright 2003, 2005, 2009, 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_PPC64_H |
#define _ELF_PPC64_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_ppc64_reloc_type) |
RELOC_NUMBER (R_PPC64_NONE, 0) |
RELOC_NUMBER (R_PPC64_ADDR32, 1) |
RELOC_NUMBER (R_PPC64_ADDR24, 2) |
RELOC_NUMBER (R_PPC64_ADDR16, 3) |
RELOC_NUMBER (R_PPC64_ADDR16_LO, 4) |
RELOC_NUMBER (R_PPC64_ADDR16_HI, 5) |
RELOC_NUMBER (R_PPC64_ADDR16_HA, 6) |
RELOC_NUMBER (R_PPC64_ADDR14, 7) |
RELOC_NUMBER (R_PPC64_ADDR14_BRTAKEN, 8) |
RELOC_NUMBER (R_PPC64_ADDR14_BRNTAKEN, 9) |
RELOC_NUMBER (R_PPC64_REL24, 10) |
RELOC_NUMBER (R_PPC64_REL14, 11) |
RELOC_NUMBER (R_PPC64_REL14_BRTAKEN, 12) |
RELOC_NUMBER (R_PPC64_REL14_BRNTAKEN, 13) |
RELOC_NUMBER (R_PPC64_GOT16, 14) |
RELOC_NUMBER (R_PPC64_GOT16_LO, 15) |
RELOC_NUMBER (R_PPC64_GOT16_HI, 16) |
RELOC_NUMBER (R_PPC64_GOT16_HA, 17) |
/* 18 unused. 32-bit reloc is R_PPC_PLTREL24. */ |
RELOC_NUMBER (R_PPC64_COPY, 19) |
RELOC_NUMBER (R_PPC64_GLOB_DAT, 20) |
RELOC_NUMBER (R_PPC64_JMP_SLOT, 21) |
RELOC_NUMBER (R_PPC64_RELATIVE, 22) |
/* 23 unused. 32-bit reloc is R_PPC_LOCAL24PC. */ |
RELOC_NUMBER (R_PPC64_UADDR32, 24) |
RELOC_NUMBER (R_PPC64_UADDR16, 25) |
RELOC_NUMBER (R_PPC64_REL32, 26) |
RELOC_NUMBER (R_PPC64_PLT32, 27) |
RELOC_NUMBER (R_PPC64_PLTREL32, 28) |
RELOC_NUMBER (R_PPC64_PLT16_LO, 29) |
RELOC_NUMBER (R_PPC64_PLT16_HI, 30) |
RELOC_NUMBER (R_PPC64_PLT16_HA, 31) |
/* 32 unused. 32-bit reloc is R_PPC_SDAREL16. */ |
RELOC_NUMBER (R_PPC64_SECTOFF, 33) |
RELOC_NUMBER (R_PPC64_SECTOFF_LO, 34) |
RELOC_NUMBER (R_PPC64_SECTOFF_HI, 35) |
RELOC_NUMBER (R_PPC64_SECTOFF_HA, 36) |
RELOC_NUMBER (R_PPC64_REL30, 37) |
RELOC_NUMBER (R_PPC64_ADDR64, 38) |
RELOC_NUMBER (R_PPC64_ADDR16_HIGHER, 39) |
RELOC_NUMBER (R_PPC64_ADDR16_HIGHERA, 40) |
RELOC_NUMBER (R_PPC64_ADDR16_HIGHEST, 41) |
RELOC_NUMBER (R_PPC64_ADDR16_HIGHESTA, 42) |
RELOC_NUMBER (R_PPC64_UADDR64, 43) |
RELOC_NUMBER (R_PPC64_REL64, 44) |
RELOC_NUMBER (R_PPC64_PLT64, 45) |
RELOC_NUMBER (R_PPC64_PLTREL64, 46) |
RELOC_NUMBER (R_PPC64_TOC16, 47) |
RELOC_NUMBER (R_PPC64_TOC16_LO, 48) |
RELOC_NUMBER (R_PPC64_TOC16_HI, 49) |
RELOC_NUMBER (R_PPC64_TOC16_HA, 50) |
RELOC_NUMBER (R_PPC64_TOC, 51) |
RELOC_NUMBER (R_PPC64_PLTGOT16, 52) |
RELOC_NUMBER (R_PPC64_PLTGOT16_LO, 53) |
RELOC_NUMBER (R_PPC64_PLTGOT16_HI, 54) |
RELOC_NUMBER (R_PPC64_PLTGOT16_HA, 55) |
/* The following relocs were added in the 64-bit PowerPC ELF ABI |
revision 1.2. */ |
RELOC_NUMBER (R_PPC64_ADDR16_DS, 56) |
RELOC_NUMBER (R_PPC64_ADDR16_LO_DS, 57) |
RELOC_NUMBER (R_PPC64_GOT16_DS, 58) |
RELOC_NUMBER (R_PPC64_GOT16_LO_DS, 59) |
RELOC_NUMBER (R_PPC64_PLT16_LO_DS, 60) |
RELOC_NUMBER (R_PPC64_SECTOFF_DS, 61) |
RELOC_NUMBER (R_PPC64_SECTOFF_LO_DS, 62) |
RELOC_NUMBER (R_PPC64_TOC16_DS, 63) |
RELOC_NUMBER (R_PPC64_TOC16_LO_DS, 64) |
RELOC_NUMBER (R_PPC64_PLTGOT16_DS, 65) |
RELOC_NUMBER (R_PPC64_PLTGOT16_LO_DS, 66) |
/* Relocs added to support TLS. PowerPC64 ELF ABI revision 1.5. */ |
RELOC_NUMBER (R_PPC64_TLS, 67) |
RELOC_NUMBER (R_PPC64_DTPMOD64, 68) |
RELOC_NUMBER (R_PPC64_TPREL16, 69) |
RELOC_NUMBER (R_PPC64_TPREL16_LO, 70) |
RELOC_NUMBER (R_PPC64_TPREL16_HI, 71) |
RELOC_NUMBER (R_PPC64_TPREL16_HA, 72) |
RELOC_NUMBER (R_PPC64_TPREL64, 73) |
RELOC_NUMBER (R_PPC64_DTPREL16, 74) |
RELOC_NUMBER (R_PPC64_DTPREL16_LO, 75) |
RELOC_NUMBER (R_PPC64_DTPREL16_HI, 76) |
RELOC_NUMBER (R_PPC64_DTPREL16_HA, 77) |
RELOC_NUMBER (R_PPC64_DTPREL64, 78) |
RELOC_NUMBER (R_PPC64_GOT_TLSGD16, 79) |
RELOC_NUMBER (R_PPC64_GOT_TLSGD16_LO, 80) |
RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HI, 81) |
RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HA, 82) |
RELOC_NUMBER (R_PPC64_GOT_TLSLD16, 83) |
RELOC_NUMBER (R_PPC64_GOT_TLSLD16_LO, 84) |
RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HI, 85) |
RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HA, 86) |
RELOC_NUMBER (R_PPC64_GOT_TPREL16_DS, 87) |
RELOC_NUMBER (R_PPC64_GOT_TPREL16_LO_DS, 88) |
RELOC_NUMBER (R_PPC64_GOT_TPREL16_HI, 89) |
RELOC_NUMBER (R_PPC64_GOT_TPREL16_HA, 90) |
RELOC_NUMBER (R_PPC64_GOT_DTPREL16_DS, 91) |
RELOC_NUMBER (R_PPC64_GOT_DTPREL16_LO_DS, 92) |
RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HI, 93) |
RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HA, 94) |
RELOC_NUMBER (R_PPC64_TPREL16_DS, 95) |
RELOC_NUMBER (R_PPC64_TPREL16_LO_DS, 96) |
RELOC_NUMBER (R_PPC64_TPREL16_HIGHER, 97) |
RELOC_NUMBER (R_PPC64_TPREL16_HIGHERA, 98) |
RELOC_NUMBER (R_PPC64_TPREL16_HIGHEST, 99) |
RELOC_NUMBER (R_PPC64_TPREL16_HIGHESTA, 100) |
RELOC_NUMBER (R_PPC64_DTPREL16_DS, 101) |
RELOC_NUMBER (R_PPC64_DTPREL16_LO_DS, 102) |
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHER, 103) |
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHERA, 104) |
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHEST, 105) |
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106) |
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) |
/* These are GNU extensions used in PIC code sequences. */ |
RELOC_NUMBER (R_PPC64_REL16, 249) |
RELOC_NUMBER (R_PPC64_REL16_LO, 250) |
RELOC_NUMBER (R_PPC64_REL16_HI, 251) |
RELOC_NUMBER (R_PPC64_REL16_HA, 252) |
/* These are GNU extensions to enable C++ vtable garbage collection. */ |
RELOC_NUMBER (R_PPC64_GNU_VTINHERIT, 253) |
RELOC_NUMBER (R_PPC64_GNU_VTENTRY, 254) |
END_RELOC_NUMBERS (R_PPC64_max) |
#define IS_PPC64_TLS_RELOC(R) \ |
(((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \ |
|| ((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 |
/* Specify the start and size of the .opd section. */ |
#define DT_PPC64_OPD (DT_LOPROC + 1) |
#define DT_PPC64_OPDSZ (DT_LOPROC + 2) |
/* 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 */ |
/contrib/toolchain/binutils/include/elf/reloc-macros.h |
---|
0,0 → 1,129 |
/* Generic relocation support for BFD. |
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 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. */ |
/* These macros are used by the various *.h target specific header |
files to either generate an enum containing all the known relocations |
for that target, or if RELOC_MACROS_GEN_FUNC is defined, a recognition |
function is generated instead. (This is used by binutils/readelf.c) |
Given a header file like this: |
START_RELOC_NUMBERS (foo) |
RELOC_NUMBER (R_foo_NONE, 0) |
RELOC_NUMBER (R_foo_32, 1) |
EMPTY_RELOC (R_foo_good) |
FAKE_RELOC (R_foo_illegal, 9) |
END_RELOC_NUMBERS (R_foo_count) |
Then the following will be produced by default (ie if |
RELOC_MACROS_GEN_FUNC is *not* defined). |
enum foo |
{ |
R_foo_NONE = 0, |
R_foo_32 = 1, |
R_foo_good, |
R_foo_illegal = 9, |
R_foo_count |
}; |
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 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 |
preceding *_RELOC macro is the highest valid number. ie a |
declaration like this: |
START_RELOC_NUMBERS (foo) |
RELOC_NUMBER (R_foo_NONE, 0) |
RELOC_NUMBER (R_foo_32, 1) |
FAKE_RELOC (R_foo_illegal, 9) |
FAKE_RELOC (R_foo_synonym, 0) |
END_RELOC_NUMBERS (R_foo_count) |
will result in R_foo_count having a value of 1 (R_foo_synonym + 1) |
rather than 10 or 2 as might be expected. |
Alternatively you can assign a value to END_RELOC_NUMBERS symbol |
explicitly, like this: |
START_RELOC_NUMBERS (foo) |
RELOC_NUMBER (R_foo_NONE, 0) |
RELOC_NUMBER (R_foo_32, 1) |
FAKE_RELOC (R_foo_illegal, 9) |
FAKE_RELOC (R_foo_synonym, 0) |
END_RELOC_NUMBERS (R_foo_count = 2) |
If RELOC_MACROS_GEN_FUNC *is* defined, then instead the |
following function will be generated: |
static const char *foo (unsigned long rtype); |
static const char * |
foo (unsigned long rtype) |
{ |
switch (rtype) |
{ |
case 0: return "R_foo_NONE"; |
case 1: return "R_foo_32"; |
default: return NULL; |
} |
} |
*/ |
#ifndef _RELOC_MACROS_H |
#define _RELOC_MACROS_H |
#ifdef RELOC_MACROS_GEN_FUNC |
/* This function takes the relocation number and returns the |
string version name of the name of that relocation. If |
the relocation is not recognised, NULL is returned. */ |
#define START_RELOC_NUMBERS(name) \ |
static const char *name (unsigned long rtype); \ |
static const char * \ |
name (unsigned long rtype) \ |
{ \ |
switch (rtype) \ |
{ |
#define RELOC_NUMBER(name, number) \ |
case number: return #name; |
#define FAKE_RELOC(name, number) |
#define EMPTY_RELOC(name) |
#define END_RELOC_NUMBERS(name) \ |
default: return NULL; \ |
} \ |
} |
#else /* Default to generating enum. */ |
#define START_RELOC_NUMBERS(name) enum name { |
#define RELOC_NUMBER(name, number) name = number, |
#define FAKE_RELOC(name, number) name = number, |
#define EMPTY_RELOC(name) name, |
#define END_RELOC_NUMBERS(name) name }; |
#endif |
#endif /* _RELOC_MACROS_H */ |
/contrib/toolchain/binutils/include/elf/rl78.h |
---|
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 */ |
/contrib/toolchain/binutils/include/elf/rx.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 */ |
/contrib/toolchain/binutils/include/elf/s390.h |
---|
0,0 → 1,134 |
/* 390 ELF support for BFD. |
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 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_390_H |
#define _ELF_390_H |
/* Processor specific flags for the ELF header e_flags field. */ |
/* Symbol types. */ |
#define STACK_REG 15 /* Global Stack reg */ |
#define BACKL_REG 14 /* Global Backlink reg */ |
#define BASE_REG 13 /* Global Base reg */ |
#define GOT_REG 12 /* Holds addr of GOT */ |
#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) |
RELOC_NUMBER (R_390_NONE, 0) /* No reloc. */ |
RELOC_NUMBER (R_390_8, 1) /* Direct 8 bit. */ |
RELOC_NUMBER (R_390_12, 2) /* Direct 12 bit. */ |
RELOC_NUMBER (R_390_16, 3) /* Direct 16 bit. */ |
RELOC_NUMBER (R_390_32, 4) /* Direct 32 bit. */ |
RELOC_NUMBER (R_390_PC32, 5) /* PC relative 32 bit. */ |
RELOC_NUMBER (R_390_GOT12, 6) /* 12 bit GOT offset. */ |
RELOC_NUMBER (R_390_GOT32, 7) /* 32 bit GOT offset. */ |
RELOC_NUMBER (R_390_PLT32, 8) /* 32 bit PC relative PLT address. */ |
RELOC_NUMBER (R_390_COPY, 9) /* Copy symbol at runtime. */ |
RELOC_NUMBER (R_390_GLOB_DAT, 10) /* Create GOT entry. */ |
RELOC_NUMBER (R_390_JMP_SLOT, 11) /* Create PLT entry. */ |
RELOC_NUMBER (R_390_RELATIVE, 12) /* Adjust by program base. */ |
RELOC_NUMBER (R_390_GOTOFF32, 13) /* 32 bit offset to GOT. */ |
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. */ |
RELOC_NUMBER (R_390_64, 22) /* Direct 64 bit. */ |
RELOC_NUMBER (R_390_PC64, 23) /* PC relative 64 bit. */ |
RELOC_NUMBER (R_390_GOT64, 24) /* 64 bit GOT offset. */ |
RELOC_NUMBER (R_390_PLT64, 25) /* 64 bit PC relative PLT address. */ |
RELOC_NUMBER (R_390_GOTENT, 26) /* 32 bit PC rel. to GOT entry >> 1. */ |
RELOC_NUMBER (R_390_GOTOFF16, 27) /* 16 bit offset to GOT. */ |
RELOC_NUMBER (R_390_GOTOFF64, 28) /* 64 bit offset to GOT. */ |
RELOC_NUMBER (R_390_GOTPLT12, 29) /* 12 bit offset to jump slot. */ |
RELOC_NUMBER (R_390_GOTPLT16, 30) /* 16 bit offset to jump slot. */ |
RELOC_NUMBER (R_390_GOTPLT32, 31) /* 32 bit offset to jump slot. */ |
RELOC_NUMBER (R_390_GOTPLT64, 32) /* 64 bit offset to jump slot. */ |
RELOC_NUMBER (R_390_GOTPLTENT, 33) /* 32 bit rel. offset to jump slot. */ |
RELOC_NUMBER (R_390_PLTOFF16, 34) /* 16 bit offset from GOT to PLT. */ |
RELOC_NUMBER (R_390_PLTOFF32, 35) /* 32 bit offset from GOT to PLT. */ |
RELOC_NUMBER (R_390_PLTOFF64, 36) /* 16 bit offset from GOT to PLT. */ |
RELOC_NUMBER (R_390_TLS_LOAD, 37) /* Tag for load insn in TLS code. */ |
RELOC_NUMBER (R_390_TLS_GDCALL, 38) /* Tag for function call in general |
dynamic TLS code. */ |
RELOC_NUMBER (R_390_TLS_LDCALL, 39) /* Tag for function call in local |
dynamic TLS code. */ |
RELOC_NUMBER (R_390_TLS_GD32, 40) /* Direct 32 bit for general dynamic |
thread local data. */ |
RELOC_NUMBER (R_390_TLS_GD64, 41) /* Direct 64 bit for general dynamic |
thread local data. */ |
RELOC_NUMBER (R_390_TLS_GOTIE12, 42)/* 12 bit GOT offset for static TLS |
block offset. */ |
RELOC_NUMBER (R_390_TLS_GOTIE32, 43)/* 32 bit GOT offset for static TLS |
block offset. */ |
RELOC_NUMBER (R_390_TLS_GOTIE64, 44)/* 64 bit GOT offset for static TLS |
block offset. */ |
RELOC_NUMBER (R_390_TLS_LDM32, 45) /* Direct 32 bit for local dynamic |
thread local data in LD code. */ |
RELOC_NUMBER (R_390_TLS_LDM64, 46) /* Direct 64 bit for local dynamic |
thread local data in LD code. */ |
RELOC_NUMBER (R_390_TLS_IE32, 47) /* 32 bit address of GOT entry for |
negated static TLS block offset. */ |
RELOC_NUMBER (R_390_TLS_IE64, 48) /* 64 bit address of GOT entry for |
negated static TLS block offset. */ |
RELOC_NUMBER (R_390_TLS_IEENT, 49) /* 32 bit rel. offset to GOT entry for |
negated static TLS block offset. */ |
RELOC_NUMBER (R_390_TLS_LE32, 50) /* 32 bit negated offset relative to |
static TLS block. */ |
RELOC_NUMBER (R_390_TLS_LE64, 51) /* 64 bit negated offset relative to |
static TLS block. */ |
RELOC_NUMBER (R_390_TLS_LDO32, 52) /* 32 bit offset relative to TLS |
block. */ |
RELOC_NUMBER (R_390_TLS_LDO64, 53) /* 64 bit offset relative to TLS |
block. */ |
RELOC_NUMBER (R_390_TLS_DTPMOD, 54) /* ID of module containing symbol. */ |
RELOC_NUMBER (R_390_TLS_DTPOFF, 55) /* Offset in TLS block. */ |
RELOC_NUMBER (R_390_TLS_TPOFF, 56) /* Negate offset in static TLS |
block. */ |
RELOC_NUMBER (R_390_20, 57) /* Direct 20 bit. */ |
RELOC_NUMBER (R_390_GOT20, 58) /* 20 bit GOT offset. */ |
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) |
END_RELOC_NUMBERS (R_390_max) |
#endif /* _ELF_390_H */ |
/contrib/toolchain/binutils/include/elf/score.h |
---|
0,0 → 1,130 |
/* Score ELF support for BFD. |
Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc. |
Contributed by |
Brain.lin (brain.lin@sunplusct.com) |
Mei Ligang (ligang@sunnorth.com.cn) |
Pei-Lin Tsai (pltsai@sunplus.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 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, |
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ |
#ifndef _ELF_SCORE_H |
#define _ELF_SCORE_H |
#include "elf/reloc-macros.h" |
#define SCORE_SIMULATOR_ACTIVE 1 |
#define OPC_PTMASK 0xc0000000 /* Parity-bit Mask. */ |
#define OPC16_PTMASK 0x00008000 |
/* The parity-bit denotes. */ |
#define OPC_32 0xc0000000 /* Denotes 32b instruction, (default). */ |
#define OPC_16 0x00000000 /* Denotes 16b instruction. */ |
#define OPC_PE 0x8000 /* Denotes parallel-execution instructions. */ |
#define GP_DISP_LABEL "_gp_disp" |
/* Processor specific flags for the ELF header e_flags field: */ |
#define EF_SCORE_MACH 0xffff0000 |
#define EF_OMIT_PIC_FIXDD 0x0fff0000 |
#define E_SCORE_MACH_SCORE3 0x00030000 |
#define E_SCORE_MACH_SCORE7 0x00070000 |
/* File contains position independent code. */ |
#define EF_SCORE_PIC 0x80000000 |
/* Fix data dependency. */ |
#define EF_SCORE_FIXDEP 0x40000000 |
/* Defined and allocated common symbol. Value is virtual address. If |
relocated, alignment must be preserved. */ |
#define SHN_SCORE_TEXT (SHN_LORESERVE + 1) |
#define SHN_SCORE_DATA (SHN_LORESERVE + 2) |
/* Small common symbol. */ |
#define SHN_SCORE_SCOMMON (SHN_LORESERVE + 3) |
/* Processor specific section flags. */ |
/* This section must be in the global data area. */ |
#define SHF_SCORE_GPREL 0x10000000 |
/* This section should be merged. */ |
#define SHF_SCORE_MERGE 0x20000000 |
/* This section contains address data of size implied by section |
element size. */ |
#define SHF_SCORE_ADDR 0x40000000 |
/* This section contains string data. */ |
#define SHF_SCORE_STRING 0x80000000 |
/* This section may not be stripped. */ |
#define SHF_SCORE_NOSTRIP 0x08000000 |
/* This section is local to threads. */ |
#define SHF_SCORE_LOCAL 0x04000000 |
/* Linker should generate implicit weak names for this section. */ |
#define SHF_SCORE_NAMES 0x02000000 |
/* Section contais text/data which may be replicated in other sections. |
Linker should retain only one copy. */ |
#define SHF_SCORE_NODUPES 0x01000000 |
/* Processor specific dynamic array tags. */ |
/* Base address of the segment. */ |
#define DT_SCORE_BASE_ADDRESS 0x70000001 |
/* Number of local global offset table entries. */ |
#define DT_SCORE_LOCAL_GOTNO 0x70000002 |
/* Number of entries in the .dynsym section. */ |
#define DT_SCORE_SYMTABNO 0x70000003 |
/* Index of first dynamic symbol in global offset table. */ |
#define DT_SCORE_GOTSYM 0x70000004 |
/* Index of first external dynamic symbol not referenced locally. */ |
#define DT_SCORE_UNREFEXTNO 0x70000005 |
/* Number of page table entries in global offset table. */ |
#define DT_SCORE_HIPAGENO 0x70000006 |
/* Processor specific section types. */ |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_score_reloc_type) |
RELOC_NUMBER (R_SCORE_NONE, 0) |
RELOC_NUMBER (R_SCORE_HI16, 1) |
RELOC_NUMBER (R_SCORE_LO16, 2) |
RELOC_NUMBER (R_SCORE_BCMP, 3) |
RELOC_NUMBER (R_SCORE_24, 4) |
RELOC_NUMBER (R_SCORE_PC19, 5) |
RELOC_NUMBER (R_SCORE16_11, 6) |
RELOC_NUMBER (R_SCORE16_PC8, 7) |
RELOC_NUMBER (R_SCORE_ABS32, 8) |
RELOC_NUMBER (R_SCORE_ABS16, 9) |
RELOC_NUMBER (R_SCORE_DUMMY2, 10) |
RELOC_NUMBER (R_SCORE_GP15, 11) |
RELOC_NUMBER (R_SCORE_GNU_VTINHERIT, 12) |
RELOC_NUMBER (R_SCORE_GNU_VTENTRY, 13) |
RELOC_NUMBER (R_SCORE_GOT15, 14) |
RELOC_NUMBER (R_SCORE_GOT_LO16, 15) |
RELOC_NUMBER (R_SCORE_CALL15, 16) |
RELOC_NUMBER (R_SCORE_GPREL32, 17) |
RELOC_NUMBER (R_SCORE_REL32, 18) |
RELOC_NUMBER (R_SCORE_DUMMY_HI16, 19) |
RELOC_NUMBER (R_SCORE_IMM30, 20) |
RELOC_NUMBER (R_SCORE_IMM32, 21) |
END_RELOC_NUMBERS (R_SCORE_max) |
#endif /* _ELF_SCORE_H */ |
/contrib/toolchain/binutils/include/elf/sh.h |
---|
0,0 → 1,250 |
/* SH ELF support for BFD. |
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 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_SH_H |
#define _ELF_SH_H |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_SH_MACH_MASK 0x1f |
#define EF_SH_UNKNOWN 0 /* For backwards compatibility. */ |
#define EF_SH1 1 |
#define EF_SH2 2 |
#define EF_SH3 3 |
#define EF_SH_DSP 4 |
#define EF_SH3_DSP 5 |
#define EF_SH4AL_DSP 6 |
#define EF_SH3E 8 |
#define EF_SH4 9 |
#define EF_SH2E 11 |
#define EF_SH4A 12 |
#define EF_SH2A 13 |
#define EF_SH4_NOFPU 16 |
#define EF_SH4A_NOFPU 17 |
#define EF_SH4_NOMMU_NOFPU 18 |
#define EF_SH2A_NOFPU 19 |
#define EF_SH3_NOMMU 20 |
#define EF_SH2A_SH4_NOFPU 21 |
#define EF_SH2A_SH3_NOFPU 22 |
#define EF_SH2A_SH4 23 |
#define EF_SH2A_SH3E 24 |
/* This one can only mix in objects from other EF_SH5 objects. */ |
#define EF_SH5 10 |
/* Define the mapping from ELF to bfd mach numbers. |
bfd_mach_* are defined in bfd_in2.h (generated from |
archures.c). */ |
#define EF_SH_BFD_TABLE \ |
/* EF_SH_UNKNOWN */ bfd_mach_sh , \ |
/* EF_SH1 */ bfd_mach_sh , \ |
/* EF_SH2 */ bfd_mach_sh2 , \ |
/* EF_SH3 */ bfd_mach_sh3 , \ |
/* EF_SH_DSP */ bfd_mach_sh_dsp , \ |
/* EF_SH3_DSP */ bfd_mach_sh3_dsp , \ |
/* EF_SHAL_DSP */ bfd_mach_sh4al_dsp , \ |
/* 7 */ 0, \ |
/* EF_SH3E */ bfd_mach_sh3e , \ |
/* EF_SH4 */ bfd_mach_sh4 , \ |
/* EF_SH5 */ 0, \ |
/* EF_SH2E */ bfd_mach_sh2e , \ |
/* EF_SH4A */ bfd_mach_sh4a , \ |
/* EF_SH2A */ bfd_mach_sh2a , \ |
/* 14, 15 */ 0, 0, \ |
/* EF_SH4_NOFPU */ bfd_mach_sh4_nofpu , \ |
/* EF_SH4A_NOFPU */ bfd_mach_sh4a_nofpu , \ |
/* EF_SH4_NOMMU_NOFPU */ bfd_mach_sh4_nommu_nofpu, \ |
/* EF_SH2A_NOFPU */ bfd_mach_sh2a_nofpu , \ |
/* EF_SH3_NOMMU */ bfd_mach_sh3_nommu , \ |
/* EF_SH2A_SH4_NOFPU */ bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu, \ |
/* EF_SH2A_SH3_NOFPU */ bfd_mach_sh2a_nofpu_or_sh3_nommu, \ |
/* EF_SH2A_SH4 */ bfd_mach_sh2a_or_sh4 , \ |
/* EF_SH2A_SH3E */ bfd_mach_sh2a_or_sh3e |
/* Convert arch_sh* into EF_SH*. */ |
int sh_find_elf_flags (unsigned int arch_set); |
/* Convert bfd_mach_* into EF_SH*. */ |
int sh_elf_get_flags_from_mach (unsigned long mach); |
/* 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). */ |
/* A reference to this symbol should by default add 1. */ |
#define STO_SH5_ISA32 (1 << 2) |
/* Section contains only SHmedia code (no SHcompact code). */ |
#define SHF_SH5_ISA32 0x40000000 |
/* Section contains both SHmedia and SHcompact code, and possibly also |
constants. */ |
#define SHF_SH5_ISA32_MIXED 0x20000000 |
/* If applied to a .cranges section, marks that the section is sorted by |
increasing cr_addr values. */ |
#define SHT_SH5_CR_SORTED 0x80000001 |
/* Symbol should be handled as DataLabel (attached to global SHN_UNDEF |
symbols). */ |
#define STT_DATALABEL STT_LOPROC |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
/* Relocations 10-32 and 128-255 are GNU extensions. |
25..32 and 10 are used for relaxation. */ |
START_RELOC_NUMBERS (elf_sh_reloc_type) |
RELOC_NUMBER (R_SH_NONE, 0) |
RELOC_NUMBER (R_SH_DIR32, 1) |
RELOC_NUMBER (R_SH_REL32, 2) |
RELOC_NUMBER (R_SH_DIR8WPN, 3) |
RELOC_NUMBER (R_SH_IND12W, 4) |
RELOC_NUMBER (R_SH_DIR8WPL, 5) |
RELOC_NUMBER (R_SH_DIR8WPZ, 6) |
RELOC_NUMBER (R_SH_DIR8BP, 7) |
RELOC_NUMBER (R_SH_DIR8W, 8) |
RELOC_NUMBER (R_SH_DIR8L, 9) |
RELOC_NUMBER (R_SH_LOOP_START, 10) |
RELOC_NUMBER (R_SH_LOOP_END, 11) |
FAKE_RELOC (R_SH_FIRST_INVALID_RELOC, 12) |
FAKE_RELOC (R_SH_LAST_INVALID_RELOC, 21) |
RELOC_NUMBER (R_SH_GNU_VTINHERIT, 22) |
RELOC_NUMBER (R_SH_GNU_VTENTRY, 23) |
RELOC_NUMBER (R_SH_SWITCH8, 24) |
RELOC_NUMBER (R_SH_SWITCH16, 25) |
RELOC_NUMBER (R_SH_SWITCH32, 26) |
RELOC_NUMBER (R_SH_USES, 27) |
RELOC_NUMBER (R_SH_COUNT, 28) |
RELOC_NUMBER (R_SH_ALIGN, 29) |
RELOC_NUMBER (R_SH_CODE, 30) |
RELOC_NUMBER (R_SH_DATA, 31) |
RELOC_NUMBER (R_SH_LABEL, 32) |
RELOC_NUMBER (R_SH_DIR16, 33) |
RELOC_NUMBER (R_SH_DIR8, 34) |
RELOC_NUMBER (R_SH_DIR8UL, 35) |
RELOC_NUMBER (R_SH_DIR8UW, 36) |
RELOC_NUMBER (R_SH_DIR8U, 37) |
RELOC_NUMBER (R_SH_DIR8SW, 38) |
RELOC_NUMBER (R_SH_DIR8S, 39) |
RELOC_NUMBER (R_SH_DIR4UL, 40) |
RELOC_NUMBER (R_SH_DIR4UW, 41) |
RELOC_NUMBER (R_SH_DIR4U, 42) |
RELOC_NUMBER (R_SH_PSHA, 43) |
RELOC_NUMBER (R_SH_PSHL, 44) |
RELOC_NUMBER (R_SH_DIR5U, 45) |
RELOC_NUMBER (R_SH_DIR6U, 46) |
RELOC_NUMBER (R_SH_DIR6S, 47) |
RELOC_NUMBER (R_SH_DIR10S, 48) |
RELOC_NUMBER (R_SH_DIR10SW, 49) |
RELOC_NUMBER (R_SH_DIR10SL, 50) |
RELOC_NUMBER (R_SH_DIR10SQ, 51) |
FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_2, 52) |
FAKE_RELOC (R_SH_LAST_INVALID_RELOC_2, 52) |
RELOC_NUMBER (R_SH_DIR16S, 53) |
FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_3, 54) |
FAKE_RELOC (R_SH_LAST_INVALID_RELOC_3, 143) |
RELOC_NUMBER (R_SH_TLS_GD_32, 144) |
RELOC_NUMBER (R_SH_TLS_LD_32, 145) |
RELOC_NUMBER (R_SH_TLS_LDO_32, 146) |
RELOC_NUMBER (R_SH_TLS_IE_32, 147) |
RELOC_NUMBER (R_SH_TLS_LE_32, 148) |
RELOC_NUMBER (R_SH_TLS_DTPMOD32, 149) |
RELOC_NUMBER (R_SH_TLS_DTPOFF32, 150) |
RELOC_NUMBER (R_SH_TLS_TPOFF32, 151) |
FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_4, 152) |
FAKE_RELOC (R_SH_LAST_INVALID_RELOC_4, 159) |
RELOC_NUMBER (R_SH_GOT32, 160) |
RELOC_NUMBER (R_SH_PLT32, 161) |
RELOC_NUMBER (R_SH_COPY, 162) |
RELOC_NUMBER (R_SH_GLOB_DAT, 163) |
RELOC_NUMBER (R_SH_JMP_SLOT, 164) |
RELOC_NUMBER (R_SH_RELATIVE, 165) |
RELOC_NUMBER (R_SH_GOTOFF, 166) |
RELOC_NUMBER (R_SH_GOTPC, 167) |
RELOC_NUMBER (R_SH_GOTPLT32, 168) |
RELOC_NUMBER (R_SH_GOT_LOW16, 169) |
RELOC_NUMBER (R_SH_GOT_MEDLOW16, 170) |
RELOC_NUMBER (R_SH_GOT_MEDHI16, 171) |
RELOC_NUMBER (R_SH_GOT_HI16, 172) |
RELOC_NUMBER (R_SH_GOTPLT_LOW16, 173) |
RELOC_NUMBER (R_SH_GOTPLT_MEDLOW16, 174) |
RELOC_NUMBER (R_SH_GOTPLT_MEDHI16, 175) |
RELOC_NUMBER (R_SH_GOTPLT_HI16, 176) |
RELOC_NUMBER (R_SH_PLT_LOW16, 177) |
RELOC_NUMBER (R_SH_PLT_MEDLOW16, 178) |
RELOC_NUMBER (R_SH_PLT_MEDHI16, 179) |
RELOC_NUMBER (R_SH_PLT_HI16, 180) |
RELOC_NUMBER (R_SH_GOTOFF_LOW16, 181) |
RELOC_NUMBER (R_SH_GOTOFF_MEDLOW16, 182) |
RELOC_NUMBER (R_SH_GOTOFF_MEDHI16, 183) |
RELOC_NUMBER (R_SH_GOTOFF_HI16, 184) |
RELOC_NUMBER (R_SH_GOTPC_LOW16, 185) |
RELOC_NUMBER (R_SH_GOTPC_MEDLOW16, 186) |
RELOC_NUMBER (R_SH_GOTPC_MEDHI16, 187) |
RELOC_NUMBER (R_SH_GOTPC_HI16, 188) |
RELOC_NUMBER (R_SH_GOT10BY4, 189) |
RELOC_NUMBER (R_SH_GOTPLT10BY4, 190) |
RELOC_NUMBER (R_SH_GOT10BY8, 191) |
RELOC_NUMBER (R_SH_GOTPLT10BY8, 192) |
RELOC_NUMBER (R_SH_COPY64, 193) |
RELOC_NUMBER (R_SH_GLOB_DAT64, 194) |
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, 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) |
RELOC_NUMBER (R_SH_IMMU16, 245) |
RELOC_NUMBER (R_SH_IMM_LOW16, 246) |
RELOC_NUMBER (R_SH_IMM_LOW16_PCREL, 247) |
RELOC_NUMBER (R_SH_IMM_MEDLOW16, 248) |
RELOC_NUMBER (R_SH_IMM_MEDLOW16_PCREL, 249) |
RELOC_NUMBER (R_SH_IMM_MEDHI16, 250) |
RELOC_NUMBER (R_SH_IMM_MEDHI16_PCREL, 251) |
RELOC_NUMBER (R_SH_IMM_HI16, 252) |
RELOC_NUMBER (R_SH_IMM_HI16_PCREL, 253) |
RELOC_NUMBER (R_SH_64, 254) |
RELOC_NUMBER (R_SH_64_PCREL, 255) |
END_RELOC_NUMBERS (R_SH_max) |
#endif |
/contrib/toolchain/binutils/include/elf/sparc.h |
---|
0,0 → 1,231 |
/* SPARC ELF support for BFD. |
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 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_SPARC_H |
#define _ELF_SPARC_H |
/* Processor specific flags for the ELF header e_flags field. */ |
/* These are defined by Sun. */ |
#define EF_SPARC_32PLUS_MASK 0xffff00 /* bits indicating V8+ type */ |
#define EF_SPARC_32PLUS 0x000100 /* generic V8+ features */ |
#define EF_SPARC_SUN_US1 0x000200 /* Sun UltraSPARC1 extensions */ |
#define EF_SPARC_HAL_R1 0x000400 /* HAL R1 extensions */ |
#define EF_SPARC_SUN_US3 0x000800 /* Sun UltraSPARCIII extensions */ |
#define EF_SPARC_LEDATA 0x800000 /* little endian data */ |
/* This name is used in the V9 ABI. */ |
#define EF_SPARC_EXT_MASK 0xffff00 /* reserved for vendor extensions */ |
/* V9 memory models */ |
#define EF_SPARCV9_MM 0x3 /* memory model mask */ |
#define EF_SPARCV9_TSO 0x0 /* total store ordering */ |
#define EF_SPARCV9_PSO 0x1 /* partial store ordering */ |
#define EF_SPARCV9_RMO 0x2 /* relaxed store ordering */ |
/* Section indices. */ |
#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_ORDERED 0x40000000 /* treat sh_link,sh_info specially */ |
/* Symbol types. */ |
#define STT_REGISTER 13 /* global reg reserved to app. */ |
#include "elf/reloc-macros.h" |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_sparc_reloc_type) |
RELOC_NUMBER (R_SPARC_NONE, 0) |
RELOC_NUMBER (R_SPARC_8, 1) |
RELOC_NUMBER (R_SPARC_16, 2) |
RELOC_NUMBER (R_SPARC_32, 3) |
RELOC_NUMBER (R_SPARC_DISP8, 4) |
RELOC_NUMBER (R_SPARC_DISP16, 5) |
RELOC_NUMBER (R_SPARC_DISP32, 6) |
RELOC_NUMBER (R_SPARC_WDISP30, 7) |
RELOC_NUMBER (R_SPARC_WDISP22, 8) |
RELOC_NUMBER (R_SPARC_HI22, 9) |
RELOC_NUMBER (R_SPARC_22, 10) |
RELOC_NUMBER (R_SPARC_13, 11) |
RELOC_NUMBER (R_SPARC_LO10, 12) |
RELOC_NUMBER (R_SPARC_GOT10, 13) |
RELOC_NUMBER (R_SPARC_GOT13, 14) |
RELOC_NUMBER (R_SPARC_GOT22, 15) |
RELOC_NUMBER (R_SPARC_PC10, 16) |
RELOC_NUMBER (R_SPARC_PC22, 17) |
RELOC_NUMBER (R_SPARC_WPLT30, 18) |
RELOC_NUMBER (R_SPARC_COPY, 19) |
RELOC_NUMBER (R_SPARC_GLOB_DAT, 20) |
RELOC_NUMBER (R_SPARC_JMP_SLOT, 21) |
RELOC_NUMBER (R_SPARC_RELATIVE, 22) |
RELOC_NUMBER (R_SPARC_UA32, 23) |
/* ??? These 6 relocs are new but not currently used. For binary |
compatibility in the sparc64-elf toolchain, we leave them out. |
A non-binary upward compatible change is expected for sparc64-elf. */ |
#ifndef SPARC64_OLD_RELOCS |
/* ??? New relocs on the UltraSPARC. Not sure what they're for yet. */ |
RELOC_NUMBER (R_SPARC_PLT32, 24) |
RELOC_NUMBER (R_SPARC_HIPLT22, 25) |
RELOC_NUMBER (R_SPARC_LOPLT10, 26) |
RELOC_NUMBER (R_SPARC_PCPLT32, 27) |
RELOC_NUMBER (R_SPARC_PCPLT22, 28) |
RELOC_NUMBER (R_SPARC_PCPLT10, 29) |
#endif |
/* v9 relocs */ |
RELOC_NUMBER (R_SPARC_10, 30) |
RELOC_NUMBER (R_SPARC_11, 31) |
RELOC_NUMBER (R_SPARC_64, 32) |
RELOC_NUMBER (R_SPARC_OLO10, 33) |
RELOC_NUMBER (R_SPARC_HH22, 34) |
RELOC_NUMBER (R_SPARC_HM10, 35) |
RELOC_NUMBER (R_SPARC_LM22, 36) |
RELOC_NUMBER (R_SPARC_PC_HH22, 37) |
RELOC_NUMBER (R_SPARC_PC_HM10, 38) |
RELOC_NUMBER (R_SPARC_PC_LM22, 39) |
RELOC_NUMBER (R_SPARC_WDISP16, 40) |
RELOC_NUMBER (R_SPARC_WDISP19, 41) |
RELOC_NUMBER (R_SPARC_UNUSED_42, 42) |
RELOC_NUMBER (R_SPARC_7, 43) |
RELOC_NUMBER (R_SPARC_5, 44) |
RELOC_NUMBER (R_SPARC_6, 45) |
RELOC_NUMBER (R_SPARC_DISP64, 46) |
RELOC_NUMBER (R_SPARC_PLT64, 47) |
RELOC_NUMBER (R_SPARC_HIX22, 48) |
RELOC_NUMBER (R_SPARC_LOX10, 49) |
RELOC_NUMBER (R_SPARC_H44, 50) |
RELOC_NUMBER (R_SPARC_M44, 51) |
RELOC_NUMBER (R_SPARC_L44, 52) |
RELOC_NUMBER (R_SPARC_REGISTER, 53) |
RELOC_NUMBER (R_SPARC_UA64, 54) |
RELOC_NUMBER (R_SPARC_UA16, 55) |
RELOC_NUMBER (R_SPARC_TLS_GD_HI22, 56) |
RELOC_NUMBER (R_SPARC_TLS_GD_LO10, 57) |
RELOC_NUMBER (R_SPARC_TLS_GD_ADD, 58) |
RELOC_NUMBER (R_SPARC_TLS_GD_CALL, 59) |
RELOC_NUMBER (R_SPARC_TLS_LDM_HI22, 60) |
RELOC_NUMBER (R_SPARC_TLS_LDM_LO10, 61) |
RELOC_NUMBER (R_SPARC_TLS_LDM_ADD, 62) |
RELOC_NUMBER (R_SPARC_TLS_LDM_CALL, 63) |
RELOC_NUMBER (R_SPARC_TLS_LDO_HIX22, 64) |
RELOC_NUMBER (R_SPARC_TLS_LDO_LOX10, 65) |
RELOC_NUMBER (R_SPARC_TLS_LDO_ADD, 66) |
RELOC_NUMBER (R_SPARC_TLS_IE_HI22, 67) |
RELOC_NUMBER (R_SPARC_TLS_IE_LO10, 68) |
RELOC_NUMBER (R_SPARC_TLS_IE_LD, 69) |
RELOC_NUMBER (R_SPARC_TLS_IE_LDX, 70) |
RELOC_NUMBER (R_SPARC_TLS_IE_ADD, 71) |
RELOC_NUMBER (R_SPARC_TLS_LE_HIX22, 72) |
RELOC_NUMBER (R_SPARC_TLS_LE_LOX10, 73) |
RELOC_NUMBER (R_SPARC_TLS_DTPMOD32, 74) |
RELOC_NUMBER (R_SPARC_TLS_DTPMOD64, 75) |
RELOC_NUMBER (R_SPARC_TLS_DTPOFF32, 76) |
RELOC_NUMBER (R_SPARC_TLS_DTPOFF64, 77) |
RELOC_NUMBER (R_SPARC_TLS_TPOFF32, 78) |
RELOC_NUMBER (R_SPARC_TLS_TPOFF64, 79) |
RELOC_NUMBER (R_SPARC_GOTDATA_HIX22, 80) |
RELOC_NUMBER (R_SPARC_GOTDATA_LOX10, 81) |
RELOC_NUMBER (R_SPARC_GOTDATA_OP_HIX22, 82) |
RELOC_NUMBER (R_SPARC_GOTDATA_OP_LOX10, 83) |
RELOC_NUMBER (R_SPARC_GOTDATA_OP, 84) |
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) |
END_RELOC_NUMBERS (R_SPARC_max) |
/* Relocation macros. */ |
#define ELF64_R_TYPE_DATA(info) \ |
(((bfd_signed_vma)(ELF64_R_TYPE(info) >> 8) ^ 0x800000) - 0x800000) |
#define ELF64_R_TYPE_ID(info) \ |
((info) & 0xff) |
#define ELF64_R_TYPE_INFO(data, type) \ |
(((bfd_vma) ((data) & 0xffffff) << 8) | (bfd_vma) (type)) |
/* Values for Elf64_Dyn.d_tag. */ |
#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 */ |
/contrib/toolchain/binutils/include/elf/spu.h |
---|
0,0 → 1,61 |
/* SPU ELF support for BFD. |
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 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_SPU_H |
#define _ELF_SPU_H |
#include "elf/reloc-macros.h" |
/* elf32-spu.c depends on these being consecutive. */ |
START_RELOC_NUMBERS (elf_spu_reloc_type) |
RELOC_NUMBER (R_SPU_NONE, 0) |
RELOC_NUMBER (R_SPU_ADDR10, 1) |
RELOC_NUMBER (R_SPU_ADDR16, 2) |
RELOC_NUMBER (R_SPU_ADDR16_HI, 3) |
RELOC_NUMBER (R_SPU_ADDR16_LO, 4) |
RELOC_NUMBER (R_SPU_ADDR18, 5) |
RELOC_NUMBER (R_SPU_ADDR32, 6) |
RELOC_NUMBER (R_SPU_REL16, 7) |
RELOC_NUMBER (R_SPU_ADDR7, 8) |
RELOC_NUMBER (R_SPU_REL9, 9) |
RELOC_NUMBER (R_SPU_REL9I, 10) |
RELOC_NUMBER (R_SPU_ADDR10I, 11) |
RELOC_NUMBER (R_SPU_ADDR16I, 12) |
RELOC_NUMBER (R_SPU_REL32, 13) |
RELOC_NUMBER (R_SPU_ADDR16X, 14) |
RELOC_NUMBER (R_SPU_PPU32, 15) |
RELOC_NUMBER (R_SPU_PPU64, 16) |
RELOC_NUMBER (R_SPU_ADD_PIC, 17) |
END_RELOC_NUMBERS (R_SPU_max) |
/* Program header extensions */ |
/* Mark a PT_LOAD segment as containing an overlay which should not |
initially be loaded. */ |
#define PF_OVERLAY (1 << 27) |
/* SPU Dynamic Object Information. */ |
#define PT_SPU_INFO 0x70000000 |
/* SPU plugin information */ |
#define SPU_PLUGIN_NAME "SPUNAME" |
#define SPU_PTNOTE_SPUNAME ".note.spu_name" |
#endif /* _ELF_SPU_H */ |
/contrib/toolchain/binutils/include/elf/tic6x-attrs.h |
---|
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) |
/contrib/toolchain/binutils/include/elf/tic6x.h |
---|
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 */ |
/contrib/toolchain/binutils/include/elf/tilegx.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 */ |
/contrib/toolchain/binutils/include/elf/tilepro.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 */ |
/contrib/toolchain/binutils/include/elf/v850.h |
---|
0,0 → 1,283 |
/* V850 ELF support for BFD. |
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 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 MIPS ELF ABI. Note |
that most of this is not actually implemented by BFD. */ |
#ifndef _ELF_V850_H |
#define _ELF_V850_H |
/* Processor specific flags for the ELF header e_flags field. */ |
/* Four bit V850 architecture field. */ |
#define EF_V850_ARCH 0xf0000000 |
/* v850 code. */ |
#define E_V850_ARCH 0x00000000 |
/* v850e code. */ |
#define E_V850E_ARCH 0x10000000 |
/* 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. */ |
#define V850_OTHER_ZDA 0x20 /* Symbol had ZDA relocations. */ |
#define V850_OTHER_TDA 0x40 /* Symbol had TDA relocations. */ |
#define V850_OTHER_ERROR 0x80 /* Symbol had an error reported. */ |
/* V850 relocations. */ |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (v850_reloc_type) |
RELOC_NUMBER (R_V850_NONE, 0) |
RELOC_NUMBER (R_V850_9_PCREL, 1) |
RELOC_NUMBER (R_V850_22_PCREL, 2) |
RELOC_NUMBER (R_V850_HI16_S, 3) |
RELOC_NUMBER (R_V850_HI16, 4) |
RELOC_NUMBER (R_V850_LO16, 5) |
RELOC_NUMBER (R_V850_ABS32, 6) |
RELOC_NUMBER (R_V850_16, 7) |
RELOC_NUMBER (R_V850_8, 8) |
RELOC_NUMBER( R_V850_SDA_16_16_OFFSET, 9) /* For ld.b, st.b, set1, clr1, not1, tst1, movea, movhi */ |
RELOC_NUMBER( R_V850_SDA_15_16_OFFSET, 10) /* For ld.w, ld.h, ld.hu, st.w, st.h */ |
RELOC_NUMBER( R_V850_ZDA_16_16_OFFSET, 11) /* For ld.b, st.b, set1, clr1, not1, tst1, movea, movhi */ |
RELOC_NUMBER( R_V850_ZDA_15_16_OFFSET, 12) /* For ld.w, ld.h, ld.hu, st.w, st.h */ |
RELOC_NUMBER( R_V850_TDA_6_8_OFFSET, 13) /* For sst.w, sld.w */ |
RELOC_NUMBER( R_V850_TDA_7_8_OFFSET, 14) /* For sst.h, sld.h */ |
RELOC_NUMBER( R_V850_TDA_7_7_OFFSET, 15) /* For sst.b, sld.b */ |
RELOC_NUMBER( R_V850_TDA_16_16_OFFSET, 16) /* For set1, clr1, not1, tst1, movea, movhi */ |
RELOC_NUMBER( R_V850_TDA_4_5_OFFSET, 17) /* For sld.hu */ |
RELOC_NUMBER( R_V850_TDA_4_4_OFFSET, 18) /* For sld.bu */ |
RELOC_NUMBER( R_V850_SDA_16_16_SPLIT_OFFSET, 19) /* For ld.bu */ |
RELOC_NUMBER( R_V850_ZDA_16_16_SPLIT_OFFSET, 20) /* For ld.bu */ |
RELOC_NUMBER( R_V850_CALLT_6_7_OFFSET, 21) /* For callt */ |
RELOC_NUMBER( R_V850_CALLT_16_16_OFFSET, 22) /* For callt */ |
RELOC_NUMBER (R_V850_GNU_VTINHERIT, 23) |
RELOC_NUMBER (R_V850_GNU_VTENTRY, 24) |
RELOC_NUMBER (R_V850_LONGCALL, 25) |
RELOC_NUMBER (R_V850_LONGJUMP, 26) |
RELOC_NUMBER (R_V850_ALIGN, 27) |
RELOC_NUMBER (R_V850_REL32, 28) |
RELOC_NUMBER (R_V850_LO16_SPLIT_OFFSET, 29) /* For ld.bu */ |
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) |
/* 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_V850_SCOMMON SHN_LORESERVE |
/* Tiny data area common symbol. */ |
#define SHN_V850_TCOMMON (SHN_LORESERVE + 1) |
/* Zero data area common symbol. */ |
#define SHN_V850_ZCOMMON (SHN_LORESERVE + 2) |
/* Processor specific section types. */ |
/* Section contains the .scommon data. */ |
#define SHT_V850_SCOMMON 0x70000000 |
/* Section contains the .scommon data. */ |
#define SHT_V850_TCOMMON 0x70000001 |
/* Section contains the .scommon data. */ |
#define SHT_V850_ZCOMMON 0x70000002 |
/* Processor specific section flags. */ |
/* This section must be in the small data area (pointed to by GP). */ |
#define SHF_V850_GPREL 0x10000000 |
/* This section must be in the tiny data area (pointed to by EP). */ |
#define SHF_V850_EPREL 0x20000000 |
/* 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 */ |
/contrib/toolchain/binutils/include/elf/vax.h |
---|
0,0 → 1,51 |
/* VAX ELF support for BFD. |
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 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_VAX_H |
#define _ELF_VAX_H |
#include "elf/reloc-macros.h" |
/* Relocation types. */ |
START_RELOC_NUMBERS (elf_vax_reloc_type) |
RELOC_NUMBER (R_VAX_NONE, 0) /* No reloc */ |
RELOC_NUMBER (R_VAX_32, 1) /* Direct 32 bit */ |
RELOC_NUMBER (R_VAX_16, 2) /* Direct 16 bit */ |
RELOC_NUMBER (R_VAX_8, 3) /* Direct 8 bit */ |
RELOC_NUMBER (R_VAX_PC32, 4) /* PC relative 32 bit */ |
RELOC_NUMBER (R_VAX_PC16, 5) /* PC relative 16 bit */ |
RELOC_NUMBER (R_VAX_PC8, 6) /* PC relative 8 bit */ |
RELOC_NUMBER (R_VAX_GOT32, 7) /* 32 bit PC relative GOT entry */ |
RELOC_NUMBER (R_VAX_PLT32, 13) /* 32 bit PC relative PLT address */ |
RELOC_NUMBER (R_VAX_COPY, 19) /* Copy symbol at runtime */ |
RELOC_NUMBER (R_VAX_GLOB_DAT, 20) /* Create GOT entry */ |
RELOC_NUMBER (R_VAX_JMP_SLOT, 21) /* Create PLT entry */ |
RELOC_NUMBER (R_VAX_RELATIVE, 22) /* Adjust by program base */ |
/* These are GNU extensions to enable C++ vtable garbage collection. */ |
RELOC_NUMBER (R_VAX_GNU_VTINHERIT, 23) |
RELOC_NUMBER (R_VAX_GNU_VTENTRY, 24) |
END_RELOC_NUMBERS (R_VAX_max) |
/* Processor specific flags for the ELF header e_flags field. */ |
#define EF_VAX_NONPIC 0x0001 /* Object contains non-PIC code */ |
#define EF_VAX_DFLOAT 0x0100 /* Object contains D-Float insn. */ |
#define EF_VAX_GFLOAT 0x0200 /* Object contains G-Float insn. */ |
#endif |
/contrib/toolchain/binutils/include/elf/vxworks.h |
---|
0,0 → 1,33 |
/* VxWorks ELF support for BFD. |
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 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_VXWORKS_H |
#define _ELF_VXWORKS_H |
#define DT_VX_WRS_TLS_DATA_START 0x60000010 |
#define DT_VX_WRS_TLS_DATA_SIZE 0x60000011 |
#define DT_VX_WRS_TLS_DATA_ALIGN 0x60000015 |
#define DT_VX_WRS_TLS_VARS_START 0x60000012 |
#define DT_VX_WRS_TLS_VARS_SIZE 0x60000013 |
#endif /* _ELF_VXWORKS_H */ |
/contrib/toolchain/binutils/include/elf/x86-64.h |
---|
0,0 → 1,94 |
/* x86_64 ELF support for BFD. |
Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2008, 2009, 2010 |
Free Software Foundation, Inc. |
Contributed by Jan Hubicka <jh@suse.cz> |
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_X86_64_H |
#define _ELF_X86_64_H |
#include "elf/reloc-macros.h" |
START_RELOC_NUMBERS (elf_x86_64_reloc_type) |
RELOC_NUMBER (R_X86_64_NONE, 0) /* No reloc */ |
RELOC_NUMBER (R_X86_64_64, 1) /* Direct 64 bit */ |
RELOC_NUMBER (R_X86_64_PC32, 2) /* PC relative 32 bit signed */ |
RELOC_NUMBER (R_X86_64_GOT32, 3) /* 32 bit GOT entry */ |
RELOC_NUMBER (R_X86_64_PLT32, 4) /* 32 bit PLT address */ |
RELOC_NUMBER (R_X86_64_COPY, 5) /* Copy symbol at runtime */ |
RELOC_NUMBER (R_X86_64_GLOB_DAT, 6) /* Create GOT entry */ |
RELOC_NUMBER (R_X86_64_JUMP_SLOT,7) /* Create PLT entry */ |
RELOC_NUMBER (R_X86_64_RELATIVE, 8) /* Adjust by program base */ |
RELOC_NUMBER (R_X86_64_GOTPCREL, 9) /* 32 bit signed pc relative |
offset to GOT entry */ |
RELOC_NUMBER (R_X86_64_32, 10) /* Direct 32 bit zero extended */ |
RELOC_NUMBER (R_X86_64_32S, 11) /* Direct 32 bit sign extended */ |
RELOC_NUMBER (R_X86_64_16, 12) /* Direct 16 bit zero extended */ |
RELOC_NUMBER (R_X86_64_PC16, 13) /* 16 bit sign extended pc relative*/ |
RELOC_NUMBER (R_X86_64_8, 14) /* Direct 8 bit sign extended */ |
RELOC_NUMBER (R_X86_64_PC8, 15) /* 8 bit sign extended pc relative*/ |
RELOC_NUMBER (R_X86_64_DTPMOD64, 16) /* ID of module containing symbol */ |
RELOC_NUMBER (R_X86_64_DTPOFF64, 17) /* Offset in TLS block */ |
RELOC_NUMBER (R_X86_64_TPOFF64, 18) /* Offset in initial TLS block */ |
RELOC_NUMBER (R_X86_64_TLSGD, 19) /* PC relative offset to GD GOT block */ |
RELOC_NUMBER (R_X86_64_TLSLD, 20) /* PC relative offset to LD GOT block */ |
RELOC_NUMBER (R_X86_64_DTPOFF32, 21) /* Offset in TLS block */ |
RELOC_NUMBER (R_X86_64_GOTTPOFF, 22) /* PC relative offset to IE GOT entry */ |
RELOC_NUMBER (R_X86_64_TPOFF32, 23) /* Offset in initial TLS block */ |
RELOC_NUMBER (R_X86_64_PC64, 24) /* PC relative 64 bit */ |
RELOC_NUMBER (R_X86_64_GOTOFF64, 25) /* 64 bit offset to GOT */ |
RELOC_NUMBER (R_X86_64_GOTPC32, 26) /* 32 bit signed pc relative |
offset to GOT */ |
RELOC_NUMBER (R_X86_64_GOT64, 27) /* 64 bit GOT entry offset */ |
RELOC_NUMBER (R_X86_64_GOTPCREL64, 28) /* 64 bit signed pc relative |
offset to GOT entry */ |
RELOC_NUMBER (R_X86_64_GOTPC64, 29) /* 64 bit signed pc relative |
offset to GOT */ |
RELOC_NUMBER (R_X86_64_GOTPLT64, 30) /* like GOT64, but indicates |
that PLT entry is needed */ |
RELOC_NUMBER (R_X86_64_PLTOFF64, 31) /* 64 bit GOT relative offset |
to PLT entry */ |
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 |
in the GOT. */ |
RELOC_NUMBER (R_X86_64_TLSDESC_CALL, 35) /* Relaxable call through TLS |
descriptor. */ |
RELOC_NUMBER (R_X86_64_TLSDESC, 36) /* 2x64-bit TLS descriptor. */ |
RELOC_NUMBER (R_X86_64_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) |
/* Processor specific section types. */ |
#define SHT_X86_64_UNWIND 0x70000001 /* unwind information */ |
/* Like SHN_COMMON but the symbol will be allocated in the .lbss |
section. */ |
#define SHN_X86_64_LCOMMON (SHN_LORESERVE + 2) |
#define SHF_X86_64_LARGE 0x10000000 |
#endif |
/contrib/toolchain/binutils/include/elf/xc16x.h |
---|
0,0 → 1,40 |
/* Infineon XC16X ELF support for BFD. |
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 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_XC16X_H |
#define _ELF_XC16X_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_xc16x_reloc_type) |
RELOC_NUMBER (R_XC16X_NONE, 0) |
RELOC_NUMBER (R_XC16X_ABS_8, 1) |
RELOC_NUMBER (R_XC16X_ABS_16, 2) |
RELOC_NUMBER (R_XC16X_ABS_32, 3) |
RELOC_NUMBER (R_XC16X_8_PCREL, 4) |
RELOC_NUMBER (R_XC16X_PAG, 5) |
RELOC_NUMBER (R_XC16X_POF, 6) |
RELOC_NUMBER (R_XC16X_SEG, 7) |
RELOC_NUMBER (R_XC16X_SOF, 8) |
END_RELOC_NUMBERS (R_XC16X_max) |
#endif /* _ELF_XC16X_H */ |
/contrib/toolchain/binutils/include/elf/xgate.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 |
/contrib/toolchain/binutils/include/elf/xstormy16.h |
---|
0,0 → 1,57 |
/* XSTORMY16 ELF support for BFD. |
Copyright (C) 2001, 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 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_XSTORMY16_H |
#define _ELF_XSTORMY16_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_xstormy16_reloc_type) |
RELOC_NUMBER (R_XSTORMY16_NONE, 0) |
RELOC_NUMBER (R_XSTORMY16_32, 1) |
RELOC_NUMBER (R_XSTORMY16_16, 2) |
RELOC_NUMBER (R_XSTORMY16_8, 3) |
RELOC_NUMBER (R_XSTORMY16_PC32, 4) |
RELOC_NUMBER (R_XSTORMY16_PC16, 5) |
RELOC_NUMBER (R_XSTORMY16_PC8, 6) |
RELOC_NUMBER (R_XSTORMY16_REL_12, 7) |
RELOC_NUMBER (R_XSTORMY16_24, 8) |
RELOC_NUMBER (R_XSTORMY16_FPTR16, 9) |
RELOC_NUMBER (R_XSTORMY16_LO16, 10) |
RELOC_NUMBER (R_XSTORMY16_HI16, 11) |
RELOC_NUMBER (R_XSTORMY16_12, 12) |
RELOC_NUMBER (R_XSTORMY16_GNU_VTINHERIT, 128) |
RELOC_NUMBER (R_XSTORMY16_GNU_VTENTRY, 129) |
END_RELOC_NUMBERS (R_XSTORMY16_max) |
/* Define the data & instruction memory discriminator. In a linked |
executable, an symbol should be deemed to point to an instruction |
if ((address & XSTORMY16_INSN_MASK) == XSTORMY16_INSN_VALUE), and similarly |
for the data space. See also `ld/emulparams/elf32xstormy16.sh'. */ |
#define XSTORMY16_DATA_MASK 0xffc00000 |
#define XSTORMY16_DATA_VALUE 0x00000000 |
#define XSTORMY16_INSN_MASK 0xffc00000 |
#define XSTORMY16_INSN_VALUE 0x00400000 |
#endif /* _ELF_XSTORMY16_H */ |
/contrib/toolchain/binutils/include/elf/xtensa.h |
---|
0,0 → 1,208 |
/* Xtensa ELF support for BFD. |
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 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 Xtensa ELF ABI. */ |
#ifndef _ELF_XTENSA_H |
#define _ELF_XTENSA_H |
#include "elf/reloc-macros.h" |
/* Relocations. */ |
START_RELOC_NUMBERS (elf_xtensa_reloc_type) |
RELOC_NUMBER (R_XTENSA_NONE, 0) |
RELOC_NUMBER (R_XTENSA_32, 1) |
RELOC_NUMBER (R_XTENSA_RTLD, 2) |
RELOC_NUMBER (R_XTENSA_GLOB_DAT, 3) |
RELOC_NUMBER (R_XTENSA_JMP_SLOT, 4) |
RELOC_NUMBER (R_XTENSA_RELATIVE, 5) |
RELOC_NUMBER (R_XTENSA_PLT, 6) |
RELOC_NUMBER (R_XTENSA_OP0, 8) |
RELOC_NUMBER (R_XTENSA_OP1, 9) |
RELOC_NUMBER (R_XTENSA_OP2, 10) |
RELOC_NUMBER (R_XTENSA_ASM_EXPAND, 11) |
RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12) |
RELOC_NUMBER (R_XTENSA_32_PCREL, 14) |
RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15) |
RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16) |
RELOC_NUMBER (R_XTENSA_DIFF8, 17) |
RELOC_NUMBER (R_XTENSA_DIFF16, 18) |
RELOC_NUMBER (R_XTENSA_DIFF32, 19) |
RELOC_NUMBER (R_XTENSA_SLOT0_OP, 20) |
RELOC_NUMBER (R_XTENSA_SLOT1_OP, 21) |
RELOC_NUMBER (R_XTENSA_SLOT2_OP, 22) |
RELOC_NUMBER (R_XTENSA_SLOT3_OP, 23) |
RELOC_NUMBER (R_XTENSA_SLOT4_OP, 24) |
RELOC_NUMBER (R_XTENSA_SLOT5_OP, 25) |
RELOC_NUMBER (R_XTENSA_SLOT6_OP, 26) |
RELOC_NUMBER (R_XTENSA_SLOT7_OP, 27) |
RELOC_NUMBER (R_XTENSA_SLOT8_OP, 28) |
RELOC_NUMBER (R_XTENSA_SLOT9_OP, 29) |
RELOC_NUMBER (R_XTENSA_SLOT10_OP, 30) |
RELOC_NUMBER (R_XTENSA_SLOT11_OP, 31) |
RELOC_NUMBER (R_XTENSA_SLOT12_OP, 32) |
RELOC_NUMBER (R_XTENSA_SLOT13_OP, 33) |
RELOC_NUMBER (R_XTENSA_SLOT14_OP, 34) |
RELOC_NUMBER (R_XTENSA_SLOT0_ALT, 35) |
RELOC_NUMBER (R_XTENSA_SLOT1_ALT, 36) |
RELOC_NUMBER (R_XTENSA_SLOT2_ALT, 37) |
RELOC_NUMBER (R_XTENSA_SLOT3_ALT, 38) |
RELOC_NUMBER (R_XTENSA_SLOT4_ALT, 39) |
RELOC_NUMBER (R_XTENSA_SLOT5_ALT, 40) |
RELOC_NUMBER (R_XTENSA_SLOT6_ALT, 41) |
RELOC_NUMBER (R_XTENSA_SLOT7_ALT, 42) |
RELOC_NUMBER (R_XTENSA_SLOT8_ALT, 43) |
RELOC_NUMBER (R_XTENSA_SLOT9_ALT, 44) |
RELOC_NUMBER (R_XTENSA_SLOT10_ALT, 45) |
RELOC_NUMBER (R_XTENSA_SLOT11_ALT, 46) |
RELOC_NUMBER (R_XTENSA_SLOT12_ALT, 47) |
RELOC_NUMBER (R_XTENSA_SLOT13_ALT, 48) |
RELOC_NUMBER (R_XTENSA_SLOT14_ALT, 49) |
RELOC_NUMBER (R_XTENSA_TLSDESC_FN, 50) |
RELOC_NUMBER (R_XTENSA_TLSDESC_ARG, 51) |
RELOC_NUMBER (R_XTENSA_TLS_DTPOFF, 52) |
RELOC_NUMBER (R_XTENSA_TLS_TPOFF, 53) |
RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54) |
RELOC_NUMBER (R_XTENSA_TLS_ARG, 55) |
RELOC_NUMBER (R_XTENSA_TLS_CALL, 56) |
END_RELOC_NUMBERS (R_XTENSA_max) |
/* Processor-specific flags for the ELF header e_flags field. */ |
/* Four-bit Xtensa machine type field. */ |
#define EF_XTENSA_MACH 0x0000000f |
/* Various CPU types. */ |
#define E_XTENSA_MACH 0x00000000 |
/* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. |
Highly unlikely, but what the heck. */ |
#define EF_XTENSA_XT_INSN 0x00000100 |
#define EF_XTENSA_XT_LIT 0x00000200 |
/* Processor-specific dynamic array tags. */ |
/* Offset of the table that records the GOT location(s). */ |
#define DT_XTENSA_GOT_LOC_OFF 0x70000000 |
/* Number of entries in the GOT location table. */ |
#define DT_XTENSA_GOT_LOC_SZ 0x70000001 |
/* Definitions for instruction and literal property tables. The |
tables for ".gnu.linkonce.*" sections are placed in the following |
sections: |
instruction tables: .gnu.linkonce.x.* |
literal tables: .gnu.linkonce.p.* |
*/ |
#define XTENSA_INSN_SEC_NAME ".xt.insn" |
#define XTENSA_LIT_SEC_NAME ".xt.lit" |
#define XTENSA_PROP_SEC_NAME ".xt.prop" |
typedef struct property_table_entry_t |
{ |
bfd_vma address; |
bfd_vma size; |
flagword flags; |
} property_table_entry; |
/* Flags in the property tables to specify whether blocks of memory are |
literals, instructions, data, or unreachable. For instructions, |
blocks that begin loop targets and branch targets are designated. |
Blocks that do not allow density instructions, instruction reordering |
or transformation are also specified. Finally, for branch targets, |
branch target alignment priority is included. Alignment of the next |
block is specified in the current block and the size of the current |
block does not include any fill required to align to the next |
block. */ |
#define XTENSA_PROP_LITERAL 0x00000001 |
#define XTENSA_PROP_INSN 0x00000002 |
#define XTENSA_PROP_DATA 0x00000004 |
#define XTENSA_PROP_UNREACHABLE 0x00000008 |
/* Instruction-only properties at beginning of code. */ |
#define XTENSA_PROP_INSN_LOOP_TARGET 0x00000010 |
#define XTENSA_PROP_INSN_BRANCH_TARGET 0x00000020 |
/* Instruction-only properties about code. */ |
#define XTENSA_PROP_INSN_NO_DENSITY 0x00000040 |
#define XTENSA_PROP_INSN_NO_REORDER 0x00000080 |
/* Historically, NO_TRANSFORM was a property of instructions, |
but it should apply to literals under certain circumstances. */ |
#define XTENSA_PROP_NO_TRANSFORM 0x00000100 |
/* Branch target alignment information. This transmits information |
to the linker optimization about the priority of aligning a |
particular block for branch target alignment: None, low priority, |
high priority, or required. These only need to be checked in |
instruction blocks marked as XTENSA_PROP_INSN_BRANCH_TARGET. |
Common usage is: |
switch (GET_XTENSA_PROP_BT_ALIGN(flags)) |
case XTENSA_PROP_BT_ALIGN_NONE: |
case XTENSA_PROP_BT_ALIGN_LOW: |
case XTENSA_PROP_BT_ALIGN_HIGH: |
case XTENSA_PROP_BT_ALIGN_REQUIRE: |
*/ |
#define XTENSA_PROP_BT_ALIGN_MASK 0x00000600 |
/* No branch target alignment. */ |
#define XTENSA_PROP_BT_ALIGN_NONE 0x0 |
/* Low priority branch target alignment. */ |
#define XTENSA_PROP_BT_ALIGN_LOW 0x1 |
/* High priority branch target alignment. */ |
#define XTENSA_PROP_BT_ALIGN_HIGH 0x2 |
/* Required branch target alignment. */ |
#define XTENSA_PROP_BT_ALIGN_REQUIRE 0x3 |
#define GET_XTENSA_PROP_BT_ALIGN(flag) \ |
(((unsigned)((flag) & (XTENSA_PROP_BT_ALIGN_MASK))) >> 9) |
#define SET_XTENSA_PROP_BT_ALIGN(flag, align) \ |
(((flag) & (~XTENSA_PROP_BT_ALIGN_MASK)) | \ |
(((align) << 9) & XTENSA_PROP_BT_ALIGN_MASK)) |
/* Alignment is specified in the block BEFORE the one that needs |
alignment. Up to 5 bits. Use GET_XTENSA_PROP_ALIGNMENT(flags) to |
get the required alignment specified as a power of 2. Use |
SET_XTENSA_PROP_ALIGNMENT(flags, pow2) to set the required |
alignment. Be careful of side effects since the SET will evaluate |
flags twice. Also, note that the SIZE of a block in the property |
table does not include the alignment size, so the alignment fill |
must be calculated to determine if two blocks are contiguous. |
TEXT_ALIGN is not currently implemented but is a placeholder for a |
possible future implementation. */ |
#define XTENSA_PROP_ALIGN 0x00000800 |
#define XTENSA_PROP_ALIGNMENT_MASK 0x0001f000 |
#define GET_XTENSA_PROP_ALIGNMENT(flag) \ |
(((unsigned)((flag) & (XTENSA_PROP_ALIGNMENT_MASK))) >> 12) |
#define SET_XTENSA_PROP_ALIGNMENT(flag, align) \ |
(((flag) & (~XTENSA_PROP_ALIGNMENT_MASK)) | \ |
(((align) << 12) & XTENSA_PROP_ALIGNMENT_MASK)) |
#define XTENSA_PROP_INSN_ABSLIT 0x00020000 |
#endif /* _ELF_XTENSA_H */ |