1
2#ifndef ELF_RELOC
3#error "ELF_RELOC must be defined"
4#endif
5
6// Meets 2.09 ABI Specs.
7ELF_RELOC(R_ARM_NONE, 0x00)
8ELF_RELOC(R_ARM_PC24, 0x01)
9ELF_RELOC(R_ARM_ABS32, 0x02)
10ELF_RELOC(R_ARM_REL32, 0x03)
11ELF_RELOC(R_ARM_LDR_PC_G0, 0x04)
12ELF_RELOC(R_ARM_ABS16, 0x05)
13ELF_RELOC(R_ARM_ABS12, 0x06)
14ELF_RELOC(R_ARM_THM_ABS5, 0x07)
15ELF_RELOC(R_ARM_ABS8, 0x08)
16ELF_RELOC(R_ARM_SBREL32, 0x09)
17ELF_RELOC(R_ARM_THM_CALL, 0x0a)
18ELF_RELOC(R_ARM_THM_PC8, 0x0b)
19ELF_RELOC(R_ARM_BREL_ADJ, 0x0c)
20ELF_RELOC(R_ARM_TLS_DESC, 0x0d)
21ELF_RELOC(R_ARM_THM_SWI8, 0x0e)
22ELF_RELOC(R_ARM_XPC25, 0x0f)
23ELF_RELOC(R_ARM_THM_XPC22, 0x10)
24ELF_RELOC(R_ARM_TLS_DTPMOD32, 0x11)
25ELF_RELOC(R_ARM_TLS_DTPOFF32, 0x12)
26ELF_RELOC(R_ARM_TLS_TPOFF32, 0x13)
27ELF_RELOC(R_ARM_COPY, 0x14)
28ELF_RELOC(R_ARM_GLOB_DAT, 0x15)
29ELF_RELOC(R_ARM_JUMP_SLOT, 0x16)
30ELF_RELOC(R_ARM_RELATIVE, 0x17)
31ELF_RELOC(R_ARM_GOTOFF32, 0x18)
32ELF_RELOC(R_ARM_BASE_PREL, 0x19)
33ELF_RELOC(R_ARM_GOT_BREL, 0x1a)
34ELF_RELOC(R_ARM_PLT32, 0x1b)
35ELF_RELOC(R_ARM_CALL, 0x1c)
36ELF_RELOC(R_ARM_JUMP24, 0x1d)
37ELF_RELOC(R_ARM_THM_JUMP24, 0x1e)
38ELF_RELOC(R_ARM_BASE_ABS, 0x1f)
39ELF_RELOC(R_ARM_ALU_PCREL_7_0, 0x20)
40ELF_RELOC(R_ARM_ALU_PCREL_15_8, 0x21)
41ELF_RELOC(R_ARM_ALU_PCREL_23_15, 0x22)
42ELF_RELOC(R_ARM_LDR_SBREL_11_0_NC, 0x23)
43ELF_RELOC(R_ARM_ALU_SBREL_19_12_NC, 0x24)
44ELF_RELOC(R_ARM_ALU_SBREL_27_20_CK, 0x25)
45ELF_RELOC(R_ARM_TARGET1, 0x26)
46ELF_RELOC(R_ARM_SBREL31, 0x27)
47ELF_RELOC(R_ARM_V4BX, 0x28)
48ELF_RELOC(R_ARM_TARGET2, 0x29)
49ELF_RELOC(R_ARM_PREL31, 0x2a)
50ELF_RELOC(R_ARM_MOVW_ABS_NC, 0x2b)
51ELF_RELOC(R_ARM_MOVT_ABS, 0x2c)
52ELF_RELOC(R_ARM_MOVW_PREL_NC, 0x2d)
53ELF_RELOC(R_ARM_MOVT_PREL, 0x2e)
54ELF_RELOC(R_ARM_THM_MOVW_ABS_NC, 0x2f)
55ELF_RELOC(R_ARM_THM_MOVT_ABS, 0x30)
56ELF_RELOC(R_ARM_THM_MOVW_PREL_NC, 0x31)
57ELF_RELOC(R_ARM_THM_MOVT_PREL, 0x32)
58ELF_RELOC(R_ARM_THM_JUMP19, 0x33)
59ELF_RELOC(R_ARM_THM_JUMP6, 0x34)
60ELF_RELOC(R_ARM_THM_ALU_PREL_11_0, 0x35)
61ELF_RELOC(R_ARM_THM_PC12, 0x36)
62ELF_RELOC(R_ARM_ABS32_NOI, 0x37)
63ELF_RELOC(R_ARM_REL32_NOI, 0x38)
64ELF_RELOC(R_ARM_ALU_PC_G0_NC, 0x39)
65ELF_RELOC(R_ARM_ALU_PC_G0, 0x3a)
66ELF_RELOC(R_ARM_ALU_PC_G1_NC, 0x3b)
67ELF_RELOC(R_ARM_ALU_PC_G1, 0x3c)
68ELF_RELOC(R_ARM_ALU_PC_G2, 0x3d)
69ELF_RELOC(R_ARM_LDR_PC_G1, 0x3e)
70ELF_RELOC(R_ARM_LDR_PC_G2, 0x3f)
71ELF_RELOC(R_ARM_LDRS_PC_G0, 0x40)
72ELF_RELOC(R_ARM_LDRS_PC_G1, 0x41)
73ELF_RELOC(R_ARM_LDRS_PC_G2, 0x42)
74ELF_RELOC(R_ARM_LDC_PC_G0, 0x43)
75ELF_RELOC(R_ARM_LDC_PC_G1, 0x44)
76ELF_RELOC(R_ARM_LDC_PC_G2, 0x45)
77ELF_RELOC(R_ARM_ALU_SB_G0_NC, 0x46)
78ELF_RELOC(R_ARM_ALU_SB_G0, 0x47)
79ELF_RELOC(R_ARM_ALU_SB_G1_NC, 0x48)
80ELF_RELOC(R_ARM_ALU_SB_G1, 0x49)
81ELF_RELOC(R_ARM_ALU_SB_G2, 0x4a)
82ELF_RELOC(R_ARM_LDR_SB_G0, 0x4b)
83ELF_RELOC(R_ARM_LDR_SB_G1, 0x4c)
84ELF_RELOC(R_ARM_LDR_SB_G2, 0x4d)
85ELF_RELOC(R_ARM_LDRS_SB_G0, 0x4e)
86ELF_RELOC(R_ARM_LDRS_SB_G1, 0x4f)
87ELF_RELOC(R_ARM_LDRS_SB_G2, 0x50)
88ELF_RELOC(R_ARM_LDC_SB_G0, 0x51)
89ELF_RELOC(R_ARM_LDC_SB_G1, 0x52)
90ELF_RELOC(R_ARM_LDC_SB_G2, 0x53)
91ELF_RELOC(R_ARM_MOVW_BREL_NC, 0x54)
92ELF_RELOC(R_ARM_MOVT_BREL, 0x55)
93ELF_RELOC(R_ARM_MOVW_BREL, 0x56)
94ELF_RELOC(R_ARM_THM_MOVW_BREL_NC, 0x57)
95ELF_RELOC(R_ARM_THM_MOVT_BREL, 0x58)
96ELF_RELOC(R_ARM_THM_MOVW_BREL, 0x59)
97ELF_RELOC(R_ARM_TLS_GOTDESC, 0x5a)
98ELF_RELOC(R_ARM_TLS_CALL, 0x5b)
99ELF_RELOC(R_ARM_TLS_DESCSEQ, 0x5c)
100ELF_RELOC(R_ARM_THM_TLS_CALL, 0x5d)
101ELF_RELOC(R_ARM_PLT32_ABS, 0x5e)
102ELF_RELOC(R_ARM_GOT_ABS, 0x5f)
103ELF_RELOC(R_ARM_GOT_PREL, 0x60)
104ELF_RELOC(R_ARM_GOT_BREL12, 0x61)
105ELF_RELOC(R_ARM_GOTOFF12, 0x62)
106ELF_RELOC(R_ARM_GOTRELAX, 0x63)
107ELF_RELOC(R_ARM_GNU_VTENTRY, 0x64)
108ELF_RELOC(R_ARM_GNU_VTINHERIT, 0x65)
109ELF_RELOC(R_ARM_THM_JUMP11, 0x66)
110ELF_RELOC(R_ARM_THM_JUMP8, 0x67)
111ELF_RELOC(R_ARM_TLS_GD32, 0x68)
112ELF_RELOC(R_ARM_TLS_LDM32, 0x69)
113ELF_RELOC(R_ARM_TLS_LDO32, 0x6a)
114ELF_RELOC(R_ARM_TLS_IE32, 0x6b)
115ELF_RELOC(R_ARM_TLS_LE32, 0x6c)
116ELF_RELOC(R_ARM_TLS_LDO12, 0x6d)
117ELF_RELOC(R_ARM_TLS_LE12, 0x6e)
118ELF_RELOC(R_ARM_TLS_IE12GP, 0x6f)
119ELF_RELOC(R_ARM_PRIVATE_0, 0x70)
120ELF_RELOC(R_ARM_PRIVATE_1, 0x71)
121ELF_RELOC(R_ARM_PRIVATE_2, 0x72)
122ELF_RELOC(R_ARM_PRIVATE_3, 0x73)
123ELF_RELOC(R_ARM_PRIVATE_4, 0x74)
124ELF_RELOC(R_ARM_PRIVATE_5, 0x75)
125ELF_RELOC(R_ARM_PRIVATE_6, 0x76)
126ELF_RELOC(R_ARM_PRIVATE_7, 0x77)
127ELF_RELOC(R_ARM_PRIVATE_8, 0x78)
128ELF_RELOC(R_ARM_PRIVATE_9, 0x79)
129ELF_RELOC(R_ARM_PRIVATE_10, 0x7a)
130ELF_RELOC(R_ARM_PRIVATE_11, 0x7b)
131ELF_RELOC(R_ARM_PRIVATE_12, 0x7c)
132ELF_RELOC(R_ARM_PRIVATE_13, 0x7d)
133ELF_RELOC(R_ARM_PRIVATE_14, 0x7e)
134ELF_RELOC(R_ARM_PRIVATE_15, 0x7f)
135ELF_RELOC(R_ARM_ME_TOO, 0x80)
136ELF_RELOC(R_ARM_THM_TLS_DESCSEQ16, 0x81)
137ELF_RELOC(R_ARM_THM_TLS_DESCSEQ32, 0x82)
138ELF_RELOC(R_ARM_THM_ALU_ABS_G0_NC, 0x84)
139ELF_RELOC(R_ARM_THM_ALU_ABS_G1_NC, 0x85)
140ELF_RELOC(R_ARM_THM_ALU_ABS_G2_NC, 0x86)
141ELF_RELOC(R_ARM_THM_ALU_ABS_G3, 0x87)
142ELF_RELOC(R_ARM_THM_BF16, 0x88)
143ELF_RELOC(R_ARM_THM_BF12, 0x89)
144ELF_RELOC(R_ARM_THM_BF18, 0x8a)
145ELF_RELOC(R_ARM_IRELATIVE, 0xa0)
146

source code of llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def