| 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
|
|
|