Add ARM relocation constants to elf/elf.h.

This commit is contained in:
Petr Machata 2013-02-20 16:19:04 +00:00 committed by Joseph Myers
parent f6432d898e
commit 08cbd996d3
2 changed files with 167 additions and 18 deletions

View File

@ -1,3 +1,51 @@
2013-02-20 Petr Machata <pmachata@redhat.com>
* elf/elf.h (R_ARM_TARGET1): New macro.
(R_ARM_SBREL31, R_ARM_V4BX, R_ARM_TARGET2): Likewise.
(R_ARM_PREL31, R_ARM_MOVW_ABS_NC, R_ARM_MOVT_ABS): Likewise.
(R_ARM_MOVW_PREL_NC, R_ARM_MOVT_PREL): Likewise.
(R_ARM_THM_MOVW_ABS_NC, R_ARM_THM_MOVT_ABS): Likewise.
(R_ARM_THM_MOVW_PREL_NC, R_ARM_THM_MOVT_PREL): Likewise.
(R_ARM_THM_JUMP19, R_ARM_THM_JUMP6): Likewise.
(R_ARM_THM_ALU_PREL_11_0, R_ARM_THM_PC12): Likewise.
(R_ARM_ABS32_NOI, R_ARM_REL32_NOI): Likewise.
(R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0): Likewise.
(R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1): Likewise.
(R_ARM_ALU_PC_G2, R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2): Likewise.
(R_ARM_LDRS_PC_G0, R_ARM_LDRS_PC_G1): Likewise.
(R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0): Likewise.
(R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2): Likewise.
(R_ARM_ALU_SB_G0_NC, R_ARM_ALU_SB_G0): Likewise.
(R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1): Likewise.
(R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1): Likewise.
(R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0): Likewise.
(R_ARM_LDRS_SB_G1, R_ARM_LDRS_SB_G2): Likewise.
(R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1, R_ARM_LDC_SB_G2): Likewise.
(R_ARM_MOVW_BREL_NC, R_ARM_MOVT_BREL): Likewise.
(R_ARM_MOVW_BREL, R_ARM_THM_MOVW_BREL_NC): Likewise.
(R_ARM_THM_MOVT_BREL, R_ARM_THM_MOVW_BREL): Likewise.
(R_ARM_PLT32_ABS, R_ARM_GOT_ABS, R_ARM_GOT_PREL): Likewise.
(R_ARM_GOT_BREL12, R_ARM_GOTOFF12, R_ARM_GOTRELAX): Likewise.
(R_ARM_TLS_LDO12, R_ARM_TLS_LE12, R_ARM_TLS_IE12GP): Likewise.
(R_ARM_PRIVATE_0, R_ARM_PRIVATE_1, R_ARM_PRIVATE_2): Likewise.
(R_ARM_PRIVATE_3, R_ARM_PRIVATE_4, R_ARM_PRIVATE_5): Likewise.
(R_ARM_PRIVATE_6, R_ARM_PRIVATE_7, R_ARM_PRIVATE_8): Likewise.
(R_ARM_PRIVATE_9, R_ARM_PRIVATE_10): Likewise.
(R_ARM_PRIVATE_11, R_ARM_PRIVATE_12): Likewise.
(R_ARM_PRIVATE_13, R_ARM_PRIVATE_14): Likewise.
(R_ARM_PRIVATE_15, R_ARM_ME_TOO): Likewise.
(R_ARM_THM_TLS_DESCSEQ16, R_ARM_THM_TLS_DESCSEQ32): Likewise.
(R_ARM_THM_GOT_BREL12): Likewise.
(R_ARM_PC24, R_ARM_PLT32): Updated a comment at this macro.
(R_ARM_THM_PC11, R_ARM_THM_PC9): Likewise.
(R_ARM_THM_ABS5, R_ARM_THM_PC22): Added a comment to this macro.
(R_ARM_THM_PC8, R_ARM_THM_SWI8, R_ARM_XPC25): Likewise.
(R_ARM_THM_XPC22, R_ARM_ALU_PCREL_7_0): Likewise.
(R_ARM_ALU_PCREL_15_8, R_ARM_ALU_PCREL_23_15): Likewise.
(R_ARM_LDR_SBREL_11_0, R_ARM_ALU_SBREL_19_12): Likewise.
(R_ARM_ALU_SBREL_27_20, R_ARM_TLS_DESCSEQ): Likewise.
(R_ARM_THM_TLS_DESCSEQ): Fixed whitespace.
2013-02-20 Thomas Schwinge <thomas@codesourcery.com>
* sysdeps/ieee754/bits/nan.h [!__GNUC__] (__nan_union): Change

137
elf/elf.h
View File

@ -2343,23 +2343,25 @@ typedef Elf32_Addr Elf32_Conflict;
/* ARM relocs. */
#define R_ARM_NONE 0 /* No reloc */
#define R_ARM_PC24 1 /* PC relative 26 bit branch */
#define R_ARM_PC24 1 /* Deprecated PC relative 26
bit branch. */
#define R_ARM_ABS32 2 /* Direct 32 bit */
#define R_ARM_REL32 3 /* PC relative 32 bit */
#define R_ARM_PC13 4
#define R_ARM_ABS16 5 /* Direct 16 bit */
#define R_ARM_ABS12 6 /* Direct 12 bit */
#define R_ARM_THM_ABS5 7
#define R_ARM_THM_ABS5 7 /* Direct & 0x7C (LDR, STR). */
#define R_ARM_ABS8 8 /* Direct 8 bit */
#define R_ARM_SBREL32 9
#define R_ARM_THM_PC22 10
#define R_ARM_THM_PC8 11
#define R_ARM_THM_PC22 10 /* PC relative 24 bit (Thumb32 BL). */
#define R_ARM_THM_PC8 11 /* PC relative & 0x3FC
(Thumb16 LDR, ADD, ADR). */
#define R_ARM_AMP_VCALL9 12
#define R_ARM_SWI24 13 /* Obsolete static relocation. */
#define R_ARM_TLS_DESC 13 /* Dynamic relocation. */
#define R_ARM_THM_SWI8 14
#define R_ARM_XPC25 15
#define R_ARM_THM_XPC22 16
#define R_ARM_THM_SWI8 14 /* Reserved. */
#define R_ARM_XPC25 15 /* Reserved. */
#define R_ARM_THM_XPC22 16 /* Reserved. */
#define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */
#define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */
#define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */
@ -2370,21 +2372,109 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_ARM_GOTOFF 24 /* 32 bit offset to GOT */
#define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
#define R_ARM_GOT32 26 /* 32 bit GOT entry */
#define R_ARM_PLT32 27 /* 32 bit PLT address */
#define R_ARM_ALU_PCREL_7_0 32
#define R_ARM_ALU_PCREL_15_8 33
#define R_ARM_ALU_PCREL_23_15 34
#define R_ARM_LDR_SBREL_11_0 35
#define R_ARM_ALU_SBREL_19_12 36
#define R_ARM_ALU_SBREL_27_20 37
#define R_ARM_PLT32 27 /* Deprecated, 32 bit PLT address. */
#define R_ARM_CALL 28 /* PC relative 24 bit (BL, BLX). */
#define R_ARM_JUMP24 29 /* PC relative 24 bit
(B, BL<cond>). */
#define R_ARM_THM_JUMP24 30 /* PC relative 24 bit (Thumb32 B.W). */
#define R_ARM_BASE_ABS 31 /* Adjust by program base. */
#define R_ARM_ALU_PCREL_7_0 32 /* Obsolete. */
#define R_ARM_ALU_PCREL_15_8 33 /* Obsolete. */
#define R_ARM_ALU_PCREL_23_15 34 /* Obsolete. */
#define R_ARM_LDR_SBREL_11_0 35 /* Deprecated, prog. base relative. */
#define R_ARM_ALU_SBREL_19_12 36 /* Deprecated, prog. base relative. */
#define R_ARM_ALU_SBREL_27_20 37 /* Deprecated, prog. base relative. */
#define R_ARM_TARGET1 38
#define R_ARM_SBREL31 39 /* Program base relative. */
#define R_ARM_V4BX 40
#define R_ARM_TARGET2 41
#define R_ARM_PREL31 42 /* 32 bit PC relative. */
#define R_ARM_MOVW_ABS_NC 43 /* Direct 16-bit (MOVW). */
#define R_ARM_MOVT_ABS 44 /* Direct high 16-bit (MOVT). */
#define R_ARM_MOVW_PREL_NC 45 /* PC relative 16-bit (MOVW). */
#define R_ARM_MOVT_PREL 46 /* PC relative (MOVT). */
#define R_ARM_THM_MOVW_ABS_NC 47 /* Direct 16 bit (Thumb32 MOVW). */
#define R_ARM_THM_MOVT_ABS 48 /* Direct high 16 bit
(Thumb32 MOVT). */
#define R_ARM_THM_MOVW_PREL_NC 49 /* PC relative 16 bit
(Thumb32 MOVW). */
#define R_ARM_THM_MOVT_PREL 50 /* PC relative high 16 bit
(Thumb32 MOVT). */
#define R_ARM_THM_JUMP19 51 /* PC relative 20 bit
(Thumb32 B<cond>.W). */
#define R_ARM_THM_JUMP6 52 /* PC relative X & 0x7E
(Thumb16 CBZ, CBNZ). */
#define R_ARM_THM_ALU_PREL_11_0 53 /* PC relative 12 bit
(Thumb32 ADR.W). */
#define R_ARM_THM_PC12 54 /* PC relative 12 bit
(Thumb32 LDR{D,SB,H,SH}). */
#define R_ARM_ABS32_NOI 55 /* Direct 32-bit. */
#define R_ARM_REL32_NOI 56 /* PC relative 32-bit. */
#define R_ARM_ALU_PC_G0_NC 57 /* PC relative (ADD, SUB). */
#define R_ARM_ALU_PC_G0 58 /* PC relative (ADD, SUB). */
#define R_ARM_ALU_PC_G1_NC 59 /* PC relative (ADD, SUB). */
#define R_ARM_ALU_PC_G1 60 /* PC relative (ADD, SUB). */
#define R_ARM_ALU_PC_G2 61 /* PC relative (ADD, SUB). */
#define R_ARM_LDR_PC_G1 62 /* PC relative (LDR,STR,LDRB,STRB). */
#define R_ARM_LDR_PC_G2 63 /* PC relative (LDR,STR,LDRB,STRB). */
#define R_ARM_LDRS_PC_G0 64 /* PC relative (STR{D,H},
LDR{D,SB,H,SH}). */
#define R_ARM_LDRS_PC_G1 65 /* PC relative (STR{D,H},
LDR{D,SB,H,SH}). */
#define R_ARM_LDRS_PC_G2 66 /* PC relative (STR{D,H},
LDR{D,SB,H,SH}). */
#define R_ARM_LDC_PC_G0 67 /* PC relative (LDC, STC). */
#define R_ARM_LDC_PC_G1 68 /* PC relative (LDC, STC). */
#define R_ARM_LDC_PC_G2 69 /* PC relative (LDC, STC). */
#define R_ARM_ALU_SB_G0_NC 70 /* Program base relative (ADD,SUB). */
#define R_ARM_ALU_SB_G0 71 /* Program base relative (ADD,SUB). */
#define R_ARM_ALU_SB_G1_NC 72 /* Program base relative (ADD,SUB). */
#define R_ARM_ALU_SB_G1 73 /* Program base relative (ADD,SUB). */
#define R_ARM_ALU_SB_G2 74 /* Program base relative (ADD,SUB). */
#define R_ARM_LDR_SB_G0 75 /* Program base relative (LDR,
STR, LDRB, STRB). */
#define R_ARM_LDR_SB_G1 76 /* Program base relative
(LDR, STR, LDRB, STRB). */
#define R_ARM_LDR_SB_G2 77 /* Program base relative
(LDR, STR, LDRB, STRB). */
#define R_ARM_LDRS_SB_G0 78 /* Program base relative
(LDR, STR, LDRB, STRB). */
#define R_ARM_LDRS_SB_G1 79 /* Program base relative
(LDR, STR, LDRB, STRB). */
#define R_ARM_LDRS_SB_G2 80 /* Program base relative
(LDR, STR, LDRB, STRB). */
#define R_ARM_LDC_SB_G0 81 /* Program base relative (LDC,STC). */
#define R_ARM_LDC_SB_G1 82 /* Program base relative (LDC,STC). */
#define R_ARM_LDC_SB_G2 83 /* Program base relative (LDC,STC). */
#define R_ARM_MOVW_BREL_NC 84 /* Program base relative 16
bit (MOVW). */
#define R_ARM_MOVT_BREL 85 /* Program base relative high
16 bit (MOVT). */
#define R_ARM_MOVW_BREL 86 /* Program base relative 16
bit (MOVW). */
#define R_ARM_THM_MOVW_BREL_NC 87 /* Program base relative 16
bit (Thumb32 MOVW). */
#define R_ARM_THM_MOVT_BREL 88 /* Program base relative high
16 bit (Thumb32 MOVT). */
#define R_ARM_THM_MOVW_BREL 89 /* Program base relative 16
bit (Thumb32 MOVW). */
#define R_ARM_TLS_GOTDESC 90
#define R_ARM_TLS_CALL 91
#define R_ARM_TLS_DESCSEQ 92
#define R_ARM_TLS_DESCSEQ 92 /* TLS relaxation. */
#define R_ARM_THM_TLS_CALL 93
#define R_ARM_PLT32_ABS 94
#define R_ARM_GOT_ABS 95 /* GOT entry. */
#define R_ARM_GOT_PREL 96 /* PC relative GOT entry. */
#define R_ARM_GOT_BREL12 97 /* GOT entry relative to GOT
origin (LDR). */
#define R_ARM_GOTOFF12 98 /* 12 bit, GOT entry relative
to GOT origin (LDR, STR). */
#define R_ARM_GOTRELAX 99
#define R_ARM_GNU_VTENTRY 100
#define R_ARM_GNU_VTINHERIT 101
#define R_ARM_THM_PC11 102 /* thumb unconditional branch */
#define R_ARM_THM_PC9 103 /* thumb conditional branch */
#define R_ARM_THM_PC11 102 /* PC relative & 0xFFE (Thumb16 B). */
#define R_ARM_THM_PC9 103 /* PC relative & 0x1FE
(Thumb16 B/B<cond>). */
#define R_ARM_TLS_GD32 104 /* PC-rel 32 bit for global dynamic
thread local data */
#define R_ARM_TLS_LDM32 105 /* PC-rel 32 bit for local dynamic
@ -2395,7 +2485,18 @@ typedef Elf32_Addr Elf32_Conflict;
static TLS block offset */
#define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static
TLS block */
#define R_ARM_THM_TLS_DESCSEQ 129
#define R_ARM_TLS_LDO12 109 /* 12 bit relative to TLS
block (LDR, STR). */
#define R_ARM_TLS_LE12 110 /* 12 bit relative to static
TLS block (LDR, STR). */
#define R_ARM_TLS_IE12GP 111 /* 12 bit GOT entry relative
to GOT origin (LDR). */
#define R_ARM_ME_TOO 128 /* Obsolete. */
#define R_ARM_THM_TLS_DESCSEQ 129
#define R_ARM_THM_TLS_DESCSEQ16 129
#define R_ARM_THM_TLS_DESCSEQ32 130
#define R_ARM_THM_GOT_BREL12 131 /* GOT entry relative to GOT
origin, 12 bit (Thumb32 LDR). */
#define R_ARM_IRELATIVE 160
#define R_ARM_RXPC25 249
#define R_ARM_RSBREL32 250