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_BF16,               0x88)
139ELF_RELOC(R_ARM_THM_BF12,               0x89)
140ELF_RELOC(R_ARM_THM_BF18,               0x8a)
141ELF_RELOC(R_ARM_IRELATIVE,              0xa0)
142