Index: bfd/reloc.c |
diff --git a/bfd/reloc.c b/bfd/reloc.c |
index 19c1f96a275132f35210653937b3f6aa682d04a4..77a04f8c0ca1882d098cf0998233c5feaf8662a8 100644 |
--- a/bfd/reloc.c |
+++ b/bfd/reloc.c |
@@ -1,8 +1,5 @@ |
/* BFD support for handling relocation entries. |
- Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, |
- 2012 |
- Free Software Foundation, Inc. |
+ Copyright 1990-2013 Free Software Foundation, Inc. |
Written by Cygnus Support. |
This file is part of BFD, the Binary File Descriptor library. |
@@ -503,7 +500,7 @@ bfd_check_overflow (enum complain_overflow how, |
fieldmask = N_ONES (bitsize); |
signmask = ~fieldmask; |
addrmask = N_ONES (addrsize) | (fieldmask << rightshift); |
- a = (relocation & addrmask) >> rightshift;; |
+ a = (relocation & addrmask) >> rightshift; |
switch (how) |
{ |
@@ -1737,6 +1734,13 @@ ENUMDOC |
For ELF. |
ENUM |
+ BFD_RELOC_SIZE32 |
+ENUMX |
+ BFD_RELOC_SIZE64 |
+ENUMDOC |
+ Size relocations. |
+ |
+ENUM |
BFD_RELOC_68K_GLOB_DAT |
ENUMX |
BFD_RELOC_68K_JMP_SLOT |
@@ -2409,6 +2413,8 @@ ENUMX |
BFD_RELOC_MIPS_TLS_TPREL_LO16 |
ENUMX |
BFD_RELOC_MICROMIPS_TLS_TPREL_LO16 |
+ENUMX |
+ BFD_RELOC_MIPS_EH |
ENUMDOC |
MIPS ELF relocations. |
COMMENT |
@@ -2693,6 +2699,10 @@ ENUMX |
BFD_RELOC_X86_64_TLSDESC |
ENUMX |
BFD_RELOC_X86_64_IRELATIVE |
+ENUMX |
+ BFD_RELOC_X86_64_PC32_BND |
+ENUMX |
+ BFD_RELOC_X86_64_PLT32_BND |
ENUMDOC |
x86-64/elf relocations |
@@ -2885,6 +2895,10 @@ ENUMX |
BFD_RELOC_PPC64_PLTGOT16_DS |
ENUMX |
BFD_RELOC_PPC64_PLTGOT16_LO_DS |
+ENUMX |
+ BFD_RELOC_PPC64_ADDR16_HIGH |
+ENUMX |
+ BFD_RELOC_PPC64_ADDR16_HIGHA |
ENUMDOC |
Power(rs6000) and PowerPC relocations. |
@@ -2972,6 +2986,14 @@ ENUMX |
BFD_RELOC_PPC64_DTPREL16_HIGHEST |
ENUMX |
BFD_RELOC_PPC64_DTPREL16_HIGHESTA |
+ENUMX |
+ BFD_RELOC_PPC64_TPREL16_HIGH |
+ENUMX |
+ BFD_RELOC_PPC64_TPREL16_HIGHA |
+ENUMX |
+ BFD_RELOC_PPC64_DTPREL16_HIGH |
+ENUMX |
+ BFD_RELOC_PPC64_DTPREL16_HIGHA |
ENUMDOC |
PowerPC and PowerPC64 thread-local storage relocations. |
@@ -3910,87 +3932,87 @@ ENUM |
BFD_RELOC_V850_16_PCREL |
ENUMDOC |
This is a 16-bit reloc. |
-ENUM |
+ENUM |
BFD_RELOC_V850_17_PCREL |
ENUMDOC |
This is a 17-bit reloc. |
-ENUM |
+ENUM |
BFD_RELOC_V850_23 |
ENUMDOC |
This is a 23-bit reloc. |
-ENUM |
+ENUM |
BFD_RELOC_V850_32_PCREL |
ENUMDOC |
This is a 32-bit reloc. |
-ENUM |
+ENUM |
BFD_RELOC_V850_32_ABS |
ENUMDOC |
This is a 32-bit reloc. |
-ENUM |
+ENUM |
BFD_RELOC_V850_16_SPLIT_OFFSET |
ENUMDOC |
This is a 16-bit reloc. |
-ENUM |
+ENUM |
BFD_RELOC_V850_16_S1 |
ENUMDOC |
This is a 16-bit reloc. |
-ENUM |
+ENUM |
BFD_RELOC_V850_LO16_S1 |
ENUMDOC |
Low 16 bits. 16 bit shifted by 1. |
-ENUM |
+ENUM |
BFD_RELOC_V850_CALLT_15_16_OFFSET |
ENUMDOC |
This is a 16 bit offset from the call table base pointer. |
-ENUM |
+ENUM |
BFD_RELOC_V850_32_GOTPCREL |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_16_GOT |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_32_GOT |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_22_PLT_PCREL |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_32_PLT_PCREL |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_COPY |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_GLOB_DAT |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_JMP_SLOT |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_RELATIVE |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_16_GOTOFF |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_32_GOTOFF |
ENUMDOC |
DSO relocations. |
-ENUM |
+ENUM |
BFD_RELOC_V850_CODE |
ENUMDOC |
start code. |
-ENUM |
+ENUM |
BFD_RELOC_V850_DATA |
ENUMDOC |
start data in text. |
@@ -4198,6 +4220,85 @@ ENUMDOC |
COMMENT |
ENUM |
+ BFD_RELOC_METAG_HIADDR16 |
+ENUMX |
+ BFD_RELOC_METAG_LOADDR16 |
+ENUMX |
+ BFD_RELOC_METAG_RELBRANCH |
+ENUMX |
+ BFD_RELOC_METAG_GETSETOFF |
+ENUMX |
+ BFD_RELOC_METAG_HIOG |
+ENUMX |
+ BFD_RELOC_METAG_LOOG |
+ENUMX |
+ BFD_RELOC_METAG_REL8 |
+ENUMX |
+ BFD_RELOC_METAG_REL16 |
+ENUMX |
+ BFD_RELOC_METAG_HI16_GOTOFF |
+ENUMX |
+ BFD_RELOC_METAG_LO16_GOTOFF |
+ENUMX |
+ BFD_RELOC_METAG_GETSET_GOTOFF |
+ENUMX |
+ BFD_RELOC_METAG_GETSET_GOT |
+ENUMX |
+ BFD_RELOC_METAG_HI16_GOTPC |
+ENUMX |
+ BFD_RELOC_METAG_LO16_GOTPC |
+ENUMX |
+ BFD_RELOC_METAG_HI16_PLT |
+ENUMX |
+ BFD_RELOC_METAG_LO16_PLT |
+ENUMX |
+ BFD_RELOC_METAG_RELBRANCH_PLT |
+ENUMX |
+ BFD_RELOC_METAG_GOTOFF |
+ENUMX |
+ BFD_RELOC_METAG_PLT |
+ENUMX |
+ BFD_RELOC_METAG_COPY |
+ENUMX |
+ BFD_RELOC_METAG_JMP_SLOT |
+ENUMX |
+ BFD_RELOC_METAG_RELATIVE |
+ENUMX |
+ BFD_RELOC_METAG_GLOB_DAT |
+ENUMX |
+ BFD_RELOC_METAG_TLS_GD |
+ENUMX |
+ BFD_RELOC_METAG_TLS_LDM |
+ENUMX |
+ BFD_RELOC_METAG_TLS_LDO_HI16 |
+ENUMX |
+ BFD_RELOC_METAG_TLS_LDO_LO16 |
+ENUMX |
+ BFD_RELOC_METAG_TLS_LDO |
+ENUMX |
+ BFD_RELOC_METAG_TLS_IE |
+ENUMX |
+ BFD_RELOC_METAG_TLS_IENONPIC |
+ENUMX |
+ BFD_RELOC_METAG_TLS_IENONPIC_HI16 |
+ENUMX |
+ BFD_RELOC_METAG_TLS_IENONPIC_LO16 |
+ENUMX |
+ BFD_RELOC_METAG_TLS_TPOFF |
+ENUMX |
+ BFD_RELOC_METAG_TLS_DTPMOD |
+ENUMX |
+ BFD_RELOC_METAG_TLS_DTPOFF |
+ENUMX |
+ BFD_RELOC_METAG_TLS_LE |
+ENUMX |
+ BFD_RELOC_METAG_TLS_LE_HI16 |
+ENUMX |
+ BFD_RELOC_METAG_TLS_LE_LO16 |
+ENUMDOC |
+ Imagination Technologies Meta relocations. |
+ |
+ENUM |
BFD_RELOC_MMIX_GETA |
ENUMX |
BFD_RELOC_MMIX_GETA_1 |
@@ -4336,7 +4437,7 @@ ENUMDOC |
ENUM |
BFD_RELOC_AVR_LO8_LDI_GS |
ENUMDOC |
- This is a 16 bit reloc for the AVR that stores 8 bit value |
+ This is a 16 bit reloc for the AVR that stores 8 bit value |
(command address) into 8 bit immediate value of LDI insn. If the address |
is beyond the 128k boundary, the linker inserts a jump stub for this reloc |
in the lower 128k. |
@@ -4474,6 +4575,8 @@ ENUMX |
BFD_RELOC_RL78_HI8 |
ENUMX |
BFD_RELOC_RL78_LO16 |
+ENUMX |
+ BFD_RELOC_RL78_CODE |
ENUMDOC |
Renesas RL78 Relocations. |
@@ -4571,6 +4674,14 @@ ENUM |
ENUMDOC |
16 bit GOT offset. |
ENUM |
+ BFD_RELOC_390_PC12DBL |
+ENUMDOC |
+ PC relative 12 bit shifted by 1. |
+ENUM |
+ BFD_RELOC_390_PLT12DBL |
+ENUMDOC |
+ 12 bit PC rel. PLT shifted by 1. |
+ENUM |
BFD_RELOC_390_PC16DBL |
ENUMDOC |
PC relative 16 bit shifted by 1. |
@@ -4579,6 +4690,14 @@ ENUM |
ENUMDOC |
16 bit PC rel. PLT shifted by 1. |
ENUM |
+ BFD_RELOC_390_PC24DBL |
+ENUMDOC |
+ PC relative 24 bit shifted by 1. |
+ENUM |
+ BFD_RELOC_390_PLT24DBL |
+ENUMDOC |
+ 24 bit PC rel. PLT shifted by 1. |
+ENUM |
BFD_RELOC_390_PC32DBL |
ENUMDOC |
PC relative 32 bit shifted by 1. |
@@ -4702,7 +4821,7 @@ ENUM |
BFD_RELOC_SCORE_GPREL15 |
ENUMDOC |
Score relocations |
- Low 16 bit for load/store |
+ Low 16 bit for load/store |
ENUM |
BFD_RELOC_SCORE_DUMMY2 |
ENUMX |
@@ -4743,7 +4862,7 @@ ENUMX |
BFD_RELOC_SCORE_DUMMY_HI16 |
ENUMDOC |
Undocumented Score relocs |
- |
+ |
ENUM |
BFD_RELOC_IP2K_FR9 |
ENUMDOC |
@@ -5496,6 +5615,8 @@ ENUMX |
BFD_RELOC_H8_DIR24R8 |
ENUMX |
BFD_RELOC_H8_DIR32A16 |
+ENUMX |
+ BFD_RELOC_H8_DISP32A16 |
ENUMDOC |
H8 elf Relocations. |
@@ -5575,10 +5696,111 @@ ENUMX |
BFD_RELOC_MSP430_2X_PCREL |
ENUMX |
BFD_RELOC_MSP430_RL_PCREL |
+ENUMX |
+ BFD_RELOC_MSP430_ABS8 |
+ENUMX |
+ BFD_RELOC_MSP430X_PCR20_EXT_SRC |
+ENUMX |
+ BFD_RELOC_MSP430X_PCR20_EXT_DST |
+ENUMX |
+ BFD_RELOC_MSP430X_PCR20_EXT_ODST |
+ENUMX |
+ BFD_RELOC_MSP430X_ABS20_EXT_SRC |
+ENUMX |
+ BFD_RELOC_MSP430X_ABS20_EXT_DST |
+ENUMX |
+ BFD_RELOC_MSP430X_ABS20_EXT_ODST |
+ENUMX |
+ BFD_RELOC_MSP430X_ABS20_ADR_SRC |
+ENUMX |
+ BFD_RELOC_MSP430X_ABS20_ADR_DST |
+ENUMX |
+ BFD_RELOC_MSP430X_PCR16 |
+ENUMX |
+ BFD_RELOC_MSP430X_PCR20_CALL |
+ENUMX |
+ BFD_RELOC_MSP430X_ABS16 |
+ENUMX |
+ BFD_RELOC_MSP430_ABS_HI16 |
+ENUMX |
+ BFD_RELOC_MSP430_PREL31 |
+ENUMX |
+ BFD_RELOC_MSP430_SYM_DIFF |
ENUMDOC |
msp430 specific relocation codes |
ENUM |
+ BFD_RELOC_NIOS2_S16 |
+ENUMX |
+ BFD_RELOC_NIOS2_U16 |
+ENUMX |
+ BFD_RELOC_NIOS2_CALL26 |
+ENUMX |
+ BFD_RELOC_NIOS2_IMM5 |
+ENUMX |
+ BFD_RELOC_NIOS2_CACHE_OPX |
+ENUMX |
+ BFD_RELOC_NIOS2_IMM6 |
+ENUMX |
+ BFD_RELOC_NIOS2_IMM8 |
+ENUMX |
+ BFD_RELOC_NIOS2_HI16 |
+ENUMX |
+ BFD_RELOC_NIOS2_LO16 |
+ENUMX |
+ BFD_RELOC_NIOS2_HIADJ16 |
+ENUMX |
+ BFD_RELOC_NIOS2_GPREL |
+ENUMX |
+ BFD_RELOC_NIOS2_UJMP |
+ENUMX |
+ BFD_RELOC_NIOS2_CJMP |
+ENUMX |
+ BFD_RELOC_NIOS2_CALLR |
+ENUMX |
+ BFD_RELOC_NIOS2_ALIGN |
+ENUMX |
+ BFD_RELOC_NIOS2_GOT16 |
+ENUMX |
+ BFD_RELOC_NIOS2_CALL16 |
+ENUMX |
+ BFD_RELOC_NIOS2_GOTOFF_LO |
+ENUMX |
+ BFD_RELOC_NIOS2_GOTOFF_HA |
+ENUMX |
+ BFD_RELOC_NIOS2_PCREL_LO |
+ENUMX |
+ BFD_RELOC_NIOS2_PCREL_HA |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_GD16 |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_LDM16 |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_LDO16 |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_IE16 |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_LE16 |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_DTPMOD |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_DTPREL |
+ENUMX |
+ BFD_RELOC_NIOS2_TLS_TPREL |
+ENUMX |
+ BFD_RELOC_NIOS2_COPY |
+ENUMX |
+ BFD_RELOC_NIOS2_GLOB_DAT |
+ENUMX |
+ BFD_RELOC_NIOS2_JUMP_SLOT |
+ENUMX |
+ BFD_RELOC_NIOS2_RELATIVE |
+ENUMX |
+ BFD_RELOC_NIOS2_GOTOFF |
+ENUMDOC |
+ Relocations used by the Altera Nios II core. |
+ |
+ENUM |
BFD_RELOC_IQ2000_OFFSET_16 |
ENUMX |
BFD_RELOC_IQ2000_OFFSET_21 |
@@ -5819,69 +6041,475 @@ ENUMDOC |
ENUM |
BFD_RELOC_MICROBLAZE_32_LO |
ENUMDOC |
- This is a 32 bit reloc for the microblaze that stores the |
+ This is a 32 bit reloc for the microblaze that stores the |
low 16 bits of a value |
ENUM |
BFD_RELOC_MICROBLAZE_32_LO_PCREL |
ENUMDOC |
- This is a 32 bit pc-relative reloc for the microblaze that |
+ This is a 32 bit pc-relative reloc for the microblaze that |
stores the low 16 bits of a value |
ENUM |
BFD_RELOC_MICROBLAZE_32_ROSDA |
ENUMDOC |
- This is a 32 bit reloc for the microblaze that stores a |
+ This is a 32 bit reloc for the microblaze that stores a |
value relative to the read-only small data area anchor |
ENUM |
BFD_RELOC_MICROBLAZE_32_RWSDA |
ENUMDOC |
- This is a 32 bit reloc for the microblaze that stores a |
+ This is a 32 bit reloc for the microblaze that stores a |
value relative to the read-write small data area anchor |
ENUM |
BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM |
ENUMDOC |
- This is a 32 bit reloc for the microblaze to handle |
+ This is a 32 bit reloc for the microblaze to handle |
expressions of the form "Symbol Op Symbol" |
ENUM |
BFD_RELOC_MICROBLAZE_64_NONE |
ENUMDOC |
- This is a 64 bit reloc that stores the 32 bit pc relative |
- value in two words (with an imm instruction). No relocation is |
+ This is a 64 bit reloc that stores the 32 bit pc relative |
+ value in two words (with an imm instruction). No relocation is |
done here - only used for relaxing |
ENUM |
BFD_RELOC_MICROBLAZE_64_GOTPC |
ENUMDOC |
- This is a 64 bit reloc that stores the 32 bit pc relative |
+ This is a 64 bit reloc that stores the 32 bit pc relative |
value in two words (with an imm instruction). The relocation is |
PC-relative GOT offset |
ENUM |
BFD_RELOC_MICROBLAZE_64_GOT |
ENUMDOC |
- This is a 64 bit reloc that stores the 32 bit pc relative |
+ This is a 64 bit reloc that stores the 32 bit pc relative |
value in two words (with an imm instruction). The relocation is |
GOT offset |
ENUM |
BFD_RELOC_MICROBLAZE_64_PLT |
ENUMDOC |
- This is a 64 bit reloc that stores the 32 bit pc relative |
+ This is a 64 bit reloc that stores the 32 bit pc relative |
value in two words (with an imm instruction). The relocation is |
PC-relative offset into PLT |
ENUM |
BFD_RELOC_MICROBLAZE_64_GOTOFF |
ENUMDOC |
- This is a 64 bit reloc that stores the 32 bit GOT relative |
+ This is a 64 bit reloc that stores the 32 bit GOT relative |
value in two words (with an imm instruction). The relocation is |
relative offset from _GLOBAL_OFFSET_TABLE_ |
ENUM |
BFD_RELOC_MICROBLAZE_32_GOTOFF |
ENUMDOC |
- This is a 32 bit reloc that stores the 32 bit GOT relative |
- value in a word. The relocation is relative offset from |
+ This is a 32 bit reloc that stores the 32 bit GOT relative |
+ value in a word. The relocation is relative offset from |
_GLOBAL_OFFSET_TABLE_ |
ENUM |
BFD_RELOC_MICROBLAZE_COPY |
ENUMDOC |
This is used to tell the dynamic linker to copy the value out of |
the dynamic object into the runtime process image. |
+ENUM |
+ BFD_RELOC_MICROBLAZE_64_TLS |
+ENUMDOC |
+ Unused Reloc |
+ENUM |
+ BFD_RELOC_MICROBLAZE_64_TLSGD |
+ENUMDOC |
+ This is a 64 bit reloc that stores the 32 bit GOT relative value |
+ of the GOT TLS GD info entry in two words (with an imm instruction). The |
+ relocation is GOT offset. |
+ENUM |
+ BFD_RELOC_MICROBLAZE_64_TLSLD |
+ENUMDOC |
+ This is a 64 bit reloc that stores the 32 bit GOT relative value |
+ of the GOT TLS LD info entry in two words (with an imm instruction). The |
+ relocation is GOT offset. |
+ENUM |
+ BFD_RELOC_MICROBLAZE_32_TLSDTPMOD |
+ENUMDOC |
+ This is a 32 bit reloc that stores the Module ID to GOT(n). |
+ENUM |
+ BFD_RELOC_MICROBLAZE_32_TLSDTPREL |
+ENUMDOC |
+ This is a 32 bit reloc that stores TLS offset to GOT(n+1). |
+ENUM |
+ BFD_RELOC_MICROBLAZE_64_TLSDTPREL |
+ENUMDOC |
+ This is a 32 bit reloc for storing TLS offset to two words (uses imm |
+ instruction) |
+ENUM |
+ BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL |
+ENUMDOC |
+ This is a 64 bit reloc that stores 32-bit thread pointer relative offset |
+ to two words (uses imm instruction). |
+ENUM |
+ BFD_RELOC_MICROBLAZE_64_TLSTPREL |
+ENUMDOC |
+ This is a 64 bit reloc that stores 32-bit thread pointer relative offset |
+ to two words (uses imm instruction). |
+ |
+ENUM |
+ BFD_RELOC_AARCH64_RELOC_START |
+ENUMDOC |
+ AArch64 pseudo relocation code to mark the start of the AArch64 |
+ relocation enumerators. N.B. the order of the enumerators is |
+ important as several tables in the AArch64 bfd backend are indexed |
+ by these enumerators; make sure they are all synced. |
+ENUM |
+ BFD_RELOC_AARCH64_NONE |
+ENUMDOC |
+ AArch64 null relocation code. |
+ENUM |
+ BFD_RELOC_AARCH64_64 |
+ENUMX |
+ BFD_RELOC_AARCH64_32 |
+ENUMX |
+ BFD_RELOC_AARCH64_16 |
+ENUMDOC |
+ Basic absolute relocations of N bits. These are equivalent to |
+BFD_RELOC_N and they were added to assist the indexing of the howto |
+table. |
+ENUM |
+ BFD_RELOC_AARCH64_64_PCREL |
+ENUMX |
+ BFD_RELOC_AARCH64_32_PCREL |
+ENUMX |
+ BFD_RELOC_AARCH64_16_PCREL |
+ENUMDOC |
+ PC-relative relocations. These are equivalent to BFD_RELOC_N_PCREL |
+and they were added to assist the indexing of the howto table. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G0 |
+ENUMDOC |
+ AArch64 MOV[NZK] instruction with most significant bits 0 to 15 |
+ of an unsigned address/value. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G0_NC |
+ENUMDOC |
+ AArch64 MOV[NZK] instruction with less significant bits 0 to 15 of |
+ an address/value. No overflow checking. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G1 |
+ENUMDOC |
+ AArch64 MOV[NZK] instruction with most significant bits 16 to 31 |
+ of an unsigned address/value. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G1_NC |
+ENUMDOC |
+ AArch64 MOV[NZK] instruction with less significant bits 16 to 31 |
+ of an address/value. No overflow checking. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G2 |
+ENUMDOC |
+ AArch64 MOV[NZK] instruction with most significant bits 32 to 47 |
+ of an unsigned address/value. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G2_NC |
+ENUMDOC |
+ AArch64 MOV[NZK] instruction with less significant bits 32 to 47 |
+ of an address/value. No overflow checking. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G3 |
+ENUMDOC |
+ AArch64 MOV[NZK] instruction with most signficant bits 48 to 64 |
+ of a signed or unsigned address/value. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G0_S |
+ENUMDOC |
+ AArch64 MOV[NZ] instruction with most significant bits 0 to 15 |
+ of a signed value. Changes instruction to MOVZ or MOVN depending on the |
+ value's sign. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G1_S |
+ENUMDOC |
+ AArch64 MOV[NZ] instruction with most significant bits 16 to 31 |
+ of a signed value. Changes instruction to MOVZ or MOVN depending on the |
+ value's sign. |
+ENUM |
+ BFD_RELOC_AARCH64_MOVW_G2_S |
+ENUMDOC |
+ AArch64 MOV[NZ] instruction with most significant bits 32 to 47 |
+ of a signed value. Changes instruction to MOVZ or MOVN depending on the |
+ value's sign. |
+ENUM |
+ BFD_RELOC_AARCH64_LD_LO19_PCREL |
+ENUMDOC |
+ AArch64 Load Literal instruction, holding a 19 bit pc-relative word |
+ offset. The lowest two bits must be zero and are not stored in the |
+ instruction, giving a 21 bit signed byte offset. |
+ENUM |
+ BFD_RELOC_AARCH64_ADR_LO21_PCREL |
+ENUMDOC |
+ AArch64 ADR instruction, holding a simple 21 bit pc-relative byte offset. |
+ENUM |
+ BFD_RELOC_AARCH64_ADR_HI21_PCREL |
+ENUMDOC |
+ AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page |
+ offset, giving a 4KB aligned page base address. |
+ENUM |
+ BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL |
+ENUMDOC |
+ AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page |
+ offset, giving a 4KB aligned page base address, but with no overflow |
+ checking. |
+ENUM |
+ BFD_RELOC_AARCH64_ADD_LO12 |
+ENUMDOC |
+ AArch64 ADD immediate instruction, holding bits 0 to 11 of the address. |
+ Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. |
+ENUM |
+ BFD_RELOC_AARCH64_LDST8_LO12 |
+ENUMDOC |
+ AArch64 8-bit load/store instruction, holding bits 0 to 11 of the |
+ address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. |
+ENUM |
+ BFD_RELOC_AARCH64_TSTBR14 |
+ENUMDOC |
+ AArch64 14 bit pc-relative test bit and branch. |
+ The lowest two bits must be zero and are not stored in the instruction, |
+ giving a 16 bit signed byte offset. |
+ENUM |
+ BFD_RELOC_AARCH64_BRANCH19 |
+ENUMDOC |
+ AArch64 19 bit pc-relative conditional branch and compare & branch. |
+ The lowest two bits must be zero and are not stored in the instruction, |
+ giving a 21 bit signed byte offset. |
+ENUM |
+ BFD_RELOC_AARCH64_JUMP26 |
+ENUMDOC |
+ AArch64 26 bit pc-relative unconditional branch. |
+ The lowest two bits must be zero and are not stored in the instruction, |
+ giving a 28 bit signed byte offset. |
+ENUM |
+ BFD_RELOC_AARCH64_CALL26 |
+ENUMDOC |
+ AArch64 26 bit pc-relative unconditional branch and link. |
+ The lowest two bits must be zero and are not stored in the instruction, |
+ giving a 28 bit signed byte offset. |
+ENUM |
+ BFD_RELOC_AARCH64_LDST16_LO12 |
+ENUMDOC |
+ AArch64 16-bit load/store instruction, holding bits 0 to 11 of the |
+ address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. |
+ENUM |
+ BFD_RELOC_AARCH64_LDST32_LO12 |
+ENUMDOC |
+ AArch64 32-bit load/store instruction, holding bits 0 to 11 of the |
+ address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. |
+ENUM |
+ BFD_RELOC_AARCH64_LDST64_LO12 |
+ENUMDOC |
+ AArch64 64-bit load/store instruction, holding bits 0 to 11 of the |
+ address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. |
+ENUM |
+ BFD_RELOC_AARCH64_LDST128_LO12 |
+ENUMDOC |
+ AArch64 128-bit load/store instruction, holding bits 0 to 11 of the |
+ address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. |
+ENUM |
+ BFD_RELOC_AARCH64_GOT_LD_PREL19 |
+ENUMDOC |
+ AArch64 Load Literal instruction, holding a 19 bit PC relative word |
+ offset of the global offset table entry for a symbol. The lowest two |
+ bits must be zero and are not stored in the instruction, giving a 21 |
+ bit signed byte offset. This relocation type requires signed overflow |
+ checking. |
+ENUM |
+ BFD_RELOC_AARCH64_ADR_GOT_PAGE |
+ENUMDOC |
+ Get to the page base of the global offset table entry for a symbol as |
+ part of an ADRP instruction using a 21 bit PC relative value.Used in |
+ conjunction with BFD_RELOC_AARCH64_LD64_GOT_LO12_NC. |
+ENUM |
+ BFD_RELOC_AARCH64_LD64_GOT_LO12_NC |
+ENUMDOC |
+ Unsigned 12 bit byte offset for 64 bit load/store from the page of |
+ the GOT entry for this symbol. Used in conjunction with |
+ BFD_RELOC_AARCH64_ADR_GOTPAGE. Valid in LP64 ABI only. |
+ENUM |
+ BFD_RELOC_AARCH64_LD32_GOT_LO12_NC |
+ENUMDOC |
+ Unsigned 12 bit byte offset for 32 bit load/store from the page of |
+ the GOT entry for this symbol. Used in conjunction with |
+ BFD_RELOC_AARCH64_ADR_GOTPAGE. Valid in ILP32 ABI only. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21 |
+ENUMDOC |
+ Get to the page base of the global offset table entry for a symbols |
+ tls_index structure as part of an adrp instruction using a 21 bit PC |
+ relative value. Used in conjunction with |
+ BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC |
+ENUMDOC |
+ Unsigned 12 bit byte offset to global offset table entry for a symbols |
+ tls_index structure. Used in conjunction with |
+ BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1 |
+ENUMDOC |
+ AArch64 TLS INITIAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC |
+ENUMDOC |
+ AArch64 TLS INITIAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 |
+ENUMDOC |
+ AArch64 TLS INITIAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC |
+ENUMDOC |
+ AArch64 TLS INITIAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC |
+ENUMDOC |
+ AArch64 TLS INITIAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19 |
+ENUMDOC |
+ AArch64 TLS INITIAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2 |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1 |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0 |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12 |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12 |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC |
+ENUMDOC |
+ AArch64 TLS LOCAL EXEC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_LD_PREL19 |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21 |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21 |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_OFF_G1 |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_LDR |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_ADD |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_CALL |
+ENUMDOC |
+ AArch64 TLS DESC relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_COPY |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_GLOB_DAT |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_JUMP_SLOT |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_RELATIVE |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLS_DTPMOD |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLS_DTPREL |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLS_TPREL |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC |
+ENUMDOC |
+ AArch64 TLS relocation. |
+ENUM |
+ BFD_RELOC_AARCH64_IRELATIVE |
+ENUMDOC |
+ AArch64 support for STT_GNU_IFUNC. |
+ENUM |
+ BFD_RELOC_AARCH64_RELOC_END |
+ENUMDOC |
+ AArch64 pseudo relocation code to mark the end of the AArch64 |
+ relocation enumerators that have direct mapping to ELF reloc codes. |
+ There are a few more enumerators after this one; those are mainly |
+ used by the AArch64 assembler for the internal fixup or to select |
+ one of the above enumerators. |
+ENUM |
+ BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP |
+ENUMDOC |
+ AArch64 pseudo relocation code to be used internally by the AArch64 |
+ assembler and not (currently) written to any object files. |
+ENUM |
+ BFD_RELOC_AARCH64_LDST_LO12 |
+ENUMDOC |
+ AArch64 unspecified load/store instruction, holding bits 0 to 11 of the |
+ address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. |
+ENUM |
+ BFD_RELOC_AARCH64_LD_GOT_LO12_NC |
+ENUMDOC |
+ AArch64 pseudo relocation code to be used internally by the AArch64 |
+ assembler and not (currently) written to any object files. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC |
+ENUMDOC |
+ AArch64 pseudo relocation code to be used internally by the AArch64 |
+ assembler and not (currently) written to any object files. |
+ENUM |
+ BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC |
+ENUMDOC |
+ AArch64 pseudo relocation code to be used internally by the AArch64 |
+ assembler and not (currently) written to any object files. |
ENUM |
BFD_RELOC_TILEPRO_COPY |
@@ -6043,7 +6671,6 @@ ENUMX |
BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA |
ENUMDOC |
Tilera TILEPro Relocations. |
- |
ENUM |
BFD_RELOC_TILEGX_HW0 |
ENUMX |
@@ -6159,6 +6786,18 @@ ENUMX |
ENUMX |
BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT |
ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL |
+ENUMX |
BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT |
ENUMX |
BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT |
@@ -6167,6 +6806,10 @@ ENUMX |
ENUMX |
BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT |
ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL |
+ENUMX |
BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD |
ENUMX |
BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD |
@@ -6195,6 +6838,18 @@ ENUMX |
ENUMX |
BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE |
ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL |
+ENUMX |
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL |
+ENUMX |
BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE |
ENUMX |
BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE |
@@ -6236,7 +6891,6 @@ ENUMX |
BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD |
ENUMDOC |
Tilera TILE-Gx Relocations. |
- |
ENUM |
BFD_RELOC_EPIPHANY_SIMM8 |
ENUMDOC |