1 | |
2 | #ifndef ELF_RELOC |
3 | #error "ELF_RELOC must be defined" |
4 | #endif |
5 | |
6 | // glibc's PowerPC asm/sigcontext.h, when compiling for PPC64, has the |
7 | // unfortunate behavior of including asm/elf.h, which defines R_PPC_NONE, etc. |
8 | // to their corresponding integer values. As a result, we need to undef them |
9 | // here before continuing. |
10 | |
11 | #undef R_PPC64_NONE |
12 | #undef R_PPC64_ADDR32 |
13 | #undef R_PPC64_ADDR24 |
14 | #undef R_PPC64_ADDR16 |
15 | #undef R_PPC64_ADDR16_LO |
16 | #undef R_PPC64_ADDR16_HI |
17 | #undef R_PPC64_ADDR16_HA |
18 | #undef R_PPC64_ADDR14 |
19 | #undef R_PPC64_ADDR14_BRTAKEN |
20 | #undef R_PPC64_ADDR14_BRNTAKEN |
21 | #undef R_PPC64_REL24 |
22 | #undef R_PPC64_REL14 |
23 | #undef R_PPC64_REL14_BRTAKEN |
24 | #undef R_PPC64_REL14_BRNTAKEN |
25 | #undef R_PPC64_GOT16 |
26 | #undef R_PPC64_GOT16_LO |
27 | #undef R_PPC64_GOT16_HI |
28 | #undef R_PPC64_GOT16_HA |
29 | #undef R_PPC64_COPY |
30 | #undef R_PPC64_GLOB_DAT |
31 | #undef R_PPC64_JMP_SLOT |
32 | #undef R_PPC64_RELATIVE |
33 | #undef R_PPC64_REL32 |
34 | #undef R_PPC64_ADDR64 |
35 | #undef R_PPC64_ADDR16_HIGHER |
36 | #undef R_PPC64_ADDR16_HIGHERA |
37 | #undef R_PPC64_ADDR16_HIGHEST |
38 | #undef R_PPC64_ADDR16_HIGHESTA |
39 | #undef R_PPC64_REL64 |
40 | #undef R_PPC64_TOC16 |
41 | #undef R_PPC64_TOC16_LO |
42 | #undef R_PPC64_TOC16_HI |
43 | #undef R_PPC64_TOC16_HA |
44 | #undef R_PPC64_TOC |
45 | #undef R_PPC64_ADDR16_DS |
46 | #undef R_PPC64_ADDR16_LO_DS |
47 | #undef R_PPC64_GOT16_DS |
48 | #undef R_PPC64_GOT16_LO_DS |
49 | #undef R_PPC64_TOC16_DS |
50 | #undef R_PPC64_TOC16_LO_DS |
51 | #undef R_PPC64_TLS |
52 | #undef R_PPC64_DTPMOD64 |
53 | #undef R_PPC64_TPREL16 |
54 | #undef R_PPC64_TPREL16_LO |
55 | #undef R_PPC64_TPREL16_HI |
56 | #undef R_PPC64_TPREL16_HA |
57 | #undef R_PPC64_TPREL64 |
58 | #undef R_PPC64_DTPREL16 |
59 | #undef R_PPC64_DTPREL16_LO |
60 | #undef R_PPC64_DTPREL16_HI |
61 | #undef R_PPC64_DTPREL16_HA |
62 | #undef R_PPC64_DTPREL64 |
63 | #undef R_PPC64_GOT_TLSGD16 |
64 | #undef R_PPC64_GOT_TLSGD16_LO |
65 | #undef R_PPC64_GOT_TLSGD16_HI |
66 | #undef R_PPC64_GOT_TLSGD16_HA |
67 | #undef R_PPC64_GOT_TLSLD16 |
68 | #undef R_PPC64_GOT_TLSLD16_LO |
69 | #undef R_PPC64_GOT_TLSLD16_HI |
70 | #undef R_PPC64_GOT_TLSLD16_HA |
71 | #undef R_PPC64_GOT_TPREL16_DS |
72 | #undef R_PPC64_GOT_TPREL16_LO_DS |
73 | #undef R_PPC64_GOT_TPREL16_HI |
74 | #undef R_PPC64_GOT_TPREL16_HA |
75 | #undef R_PPC64_GOT_DTPREL16_DS |
76 | #undef R_PPC64_GOT_DTPREL16_LO_DS |
77 | #undef R_PPC64_GOT_DTPREL16_HI |
78 | #undef R_PPC64_GOT_DTPREL16_HA |
79 | #undef R_PPC64_TPREL16_DS |
80 | #undef R_PPC64_TPREL16_LO_DS |
81 | #undef R_PPC64_TPREL16_HIGHER |
82 | #undef R_PPC64_TPREL16_HIGHERA |
83 | #undef R_PPC64_TPREL16_HIGHEST |
84 | #undef R_PPC64_TPREL16_HIGHESTA |
85 | #undef R_PPC64_DTPREL16_DS |
86 | #undef R_PPC64_DTPREL16_LO_DS |
87 | #undef R_PPC64_DTPREL16_HIGHER |
88 | #undef R_PPC64_DTPREL16_HIGHERA |
89 | #undef R_PPC64_DTPREL16_HIGHEST |
90 | #undef R_PPC64_DTPREL16_HIGHESTA |
91 | #undef R_PPC64_TLSGD |
92 | #undef R_PPC64_TLSLD |
93 | #undef R_PPC64_ADDR16_HIGH |
94 | #undef R_PPC64_ADDR16_HIGHA |
95 | #undef R_PPC64_TPREL16_HIGH |
96 | #undef R_PPC64_TPREL16_HIGHA |
97 | #undef R_PPC64_DTPREL16_HIGH |
98 | #undef R_PPC64_DTPREL16_HIGHA |
99 | #undef R_PPC64_REL24_NOTOC |
100 | #undef R_PPC64_PCREL_OPT |
101 | #undef R_PPC64_PCREL34 |
102 | #undef R_PPC64_GOT_PCREL34 |
103 | #undef R_PPC64_TPREL34 |
104 | #undef R_PPC64_DTPREL34 |
105 | #undef R_PPC64_GOT_TLSGD_PCREL34 |
106 | #undef R_PPC64_GOT_TLSLD_PCREL34 |
107 | #undef R_PPC64_GOT_TPREL_PCREL34 |
108 | #undef R_PPC64_IRELATIVE |
109 | #undef R_PPC64_REL16 |
110 | #undef R_PPC64_REL16_LO |
111 | #undef R_PPC64_REL16_HI |
112 | #undef R_PPC64_REL16_HA |
113 | |
114 | ELF_RELOC(R_PPC64_NONE, 0) |
115 | ELF_RELOC(R_PPC64_ADDR32, 1) |
116 | ELF_RELOC(R_PPC64_ADDR24, 2) |
117 | ELF_RELOC(R_PPC64_ADDR16, 3) |
118 | ELF_RELOC(R_PPC64_ADDR16_LO, 4) |
119 | ELF_RELOC(R_PPC64_ADDR16_HI, 5) |
120 | ELF_RELOC(R_PPC64_ADDR16_HA, 6) |
121 | ELF_RELOC(R_PPC64_ADDR14, 7) |
122 | ELF_RELOC(R_PPC64_ADDR14_BRTAKEN, 8) |
123 | ELF_RELOC(R_PPC64_ADDR14_BRNTAKEN, 9) |
124 | ELF_RELOC(R_PPC64_REL24, 10) |
125 | ELF_RELOC(R_PPC64_REL14, 11) |
126 | ELF_RELOC(R_PPC64_REL14_BRTAKEN, 12) |
127 | ELF_RELOC(R_PPC64_REL14_BRNTAKEN, 13) |
128 | ELF_RELOC(R_PPC64_GOT16, 14) |
129 | ELF_RELOC(R_PPC64_GOT16_LO, 15) |
130 | ELF_RELOC(R_PPC64_GOT16_HI, 16) |
131 | ELF_RELOC(R_PPC64_GOT16_HA, 17) |
132 | ELF_RELOC(R_PPC64_COPY, 19) |
133 | ELF_RELOC(R_PPC64_GLOB_DAT, 20) |
134 | ELF_RELOC(R_PPC64_JMP_SLOT, 21) |
135 | ELF_RELOC(R_PPC64_RELATIVE, 22) |
136 | ELF_RELOC(R_PPC64_REL32, 26) |
137 | ELF_RELOC(R_PPC64_ADDR64, 38) |
138 | ELF_RELOC(R_PPC64_ADDR16_HIGHER, 39) |
139 | ELF_RELOC(R_PPC64_ADDR16_HIGHERA, 40) |
140 | ELF_RELOC(R_PPC64_ADDR16_HIGHEST, 41) |
141 | ELF_RELOC(R_PPC64_ADDR16_HIGHESTA, 42) |
142 | ELF_RELOC(R_PPC64_REL64, 44) |
143 | ELF_RELOC(R_PPC64_TOC16, 47) |
144 | ELF_RELOC(R_PPC64_TOC16_LO, 48) |
145 | ELF_RELOC(R_PPC64_TOC16_HI, 49) |
146 | ELF_RELOC(R_PPC64_TOC16_HA, 50) |
147 | ELF_RELOC(R_PPC64_TOC, 51) |
148 | ELF_RELOC(R_PPC64_ADDR16_DS, 56) |
149 | ELF_RELOC(R_PPC64_ADDR16_LO_DS, 57) |
150 | ELF_RELOC(R_PPC64_GOT16_DS, 58) |
151 | ELF_RELOC(R_PPC64_GOT16_LO_DS, 59) |
152 | ELF_RELOC(R_PPC64_TOC16_DS, 63) |
153 | ELF_RELOC(R_PPC64_TOC16_LO_DS, 64) |
154 | ELF_RELOC(R_PPC64_TLS, 67) |
155 | ELF_RELOC(R_PPC64_DTPMOD64, 68) |
156 | ELF_RELOC(R_PPC64_TPREL16, 69) |
157 | ELF_RELOC(R_PPC64_TPREL16_LO, 70) |
158 | ELF_RELOC(R_PPC64_TPREL16_HI, 71) |
159 | ELF_RELOC(R_PPC64_TPREL16_HA, 72) |
160 | ELF_RELOC(R_PPC64_TPREL64, 73) |
161 | ELF_RELOC(R_PPC64_DTPREL16, 74) |
162 | ELF_RELOC(R_PPC64_DTPREL16_LO, 75) |
163 | ELF_RELOC(R_PPC64_DTPREL16_HI, 76) |
164 | ELF_RELOC(R_PPC64_DTPREL16_HA, 77) |
165 | ELF_RELOC(R_PPC64_DTPREL64, 78) |
166 | ELF_RELOC(R_PPC64_GOT_TLSGD16, 79) |
167 | ELF_RELOC(R_PPC64_GOT_TLSGD16_LO, 80) |
168 | ELF_RELOC(R_PPC64_GOT_TLSGD16_HI, 81) |
169 | ELF_RELOC(R_PPC64_GOT_TLSGD16_HA, 82) |
170 | ELF_RELOC(R_PPC64_GOT_TLSLD16, 83) |
171 | ELF_RELOC(R_PPC64_GOT_TLSLD16_LO, 84) |
172 | ELF_RELOC(R_PPC64_GOT_TLSLD16_HI, 85) |
173 | ELF_RELOC(R_PPC64_GOT_TLSLD16_HA, 86) |
174 | ELF_RELOC(R_PPC64_GOT_TPREL16_DS, 87) |
175 | ELF_RELOC(R_PPC64_GOT_TPREL16_LO_DS, 88) |
176 | ELF_RELOC(R_PPC64_GOT_TPREL16_HI, 89) |
177 | ELF_RELOC(R_PPC64_GOT_TPREL16_HA, 90) |
178 | ELF_RELOC(R_PPC64_GOT_DTPREL16_DS, 91) |
179 | ELF_RELOC(R_PPC64_GOT_DTPREL16_LO_DS, 92) |
180 | ELF_RELOC(R_PPC64_GOT_DTPREL16_HI, 93) |
181 | ELF_RELOC(R_PPC64_GOT_DTPREL16_HA, 94) |
182 | ELF_RELOC(R_PPC64_TPREL16_DS, 95) |
183 | ELF_RELOC(R_PPC64_TPREL16_LO_DS, 96) |
184 | ELF_RELOC(R_PPC64_TPREL16_HIGHER, 97) |
185 | ELF_RELOC(R_PPC64_TPREL16_HIGHERA, 98) |
186 | ELF_RELOC(R_PPC64_TPREL16_HIGHEST, 99) |
187 | ELF_RELOC(R_PPC64_TPREL16_HIGHESTA, 100) |
188 | ELF_RELOC(R_PPC64_DTPREL16_DS, 101) |
189 | ELF_RELOC(R_PPC64_DTPREL16_LO_DS, 102) |
190 | ELF_RELOC(R_PPC64_DTPREL16_HIGHER, 103) |
191 | ELF_RELOC(R_PPC64_DTPREL16_HIGHERA, 104) |
192 | ELF_RELOC(R_PPC64_DTPREL16_HIGHEST, 105) |
193 | ELF_RELOC(R_PPC64_DTPREL16_HIGHESTA, 106) |
194 | ELF_RELOC(R_PPC64_TLSGD, 107) |
195 | ELF_RELOC(R_PPC64_TLSLD, 108) |
196 | ELF_RELOC(R_PPC64_ADDR16_HIGH, 110) |
197 | ELF_RELOC(R_PPC64_ADDR16_HIGHA, 111) |
198 | ELF_RELOC(R_PPC64_TPREL16_HIGH, 112) |
199 | ELF_RELOC(R_PPC64_TPREL16_HIGHA, 113) |
200 | ELF_RELOC(R_PPC64_DTPREL16_HIGH, 114) |
201 | ELF_RELOC(R_PPC64_DTPREL16_HIGHA, 115) |
202 | ELF_RELOC(R_PPC64_REL24_NOTOC, 116) |
203 | ELF_RELOC(R_PPC64_PCREL_OPT, 123) |
204 | ELF_RELOC(R_PPC64_PCREL34, 132) |
205 | ELF_RELOC(R_PPC64_GOT_PCREL34, 133) |
206 | ELF_RELOC(R_PPC64_TPREL34, 146) |
207 | ELF_RELOC(R_PPC64_DTPREL34, 147) |
208 | ELF_RELOC(R_PPC64_GOT_TLSGD_PCREL34, 148) |
209 | ELF_RELOC(R_PPC64_GOT_TLSLD_PCREL34, 149) |
210 | ELF_RELOC(R_PPC64_GOT_TPREL_PCREL34, 150) |
211 | ELF_RELOC(R_PPC64_IRELATIVE, 248) |
212 | ELF_RELOC(R_PPC64_REL16, 249) |
213 | ELF_RELOC(R_PPC64_REL16_LO, 250) |
214 | ELF_RELOC(R_PPC64_REL16_HI, 251) |
215 | ELF_RELOC(R_PPC64_REL16_HA, 252) |
216 | |