121
|
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_GLOB_DAT
|
|
30 #undef R_PPC64_JMP_SLOT
|
|
31 #undef R_PPC64_RELATIVE
|
|
32 #undef R_PPC64_REL32
|
|
33 #undef R_PPC64_ADDR64
|
|
34 #undef R_PPC64_ADDR16_HIGHER
|
|
35 #undef R_PPC64_ADDR16_HIGHERA
|
|
36 #undef R_PPC64_ADDR16_HIGHEST
|
|
37 #undef R_PPC64_ADDR16_HIGHESTA
|
|
38 #undef R_PPC64_REL64
|
|
39 #undef R_PPC64_TOC16
|
|
40 #undef R_PPC64_TOC16_LO
|
|
41 #undef R_PPC64_TOC16_HI
|
|
42 #undef R_PPC64_TOC16_HA
|
|
43 #undef R_PPC64_TOC
|
|
44 #undef R_PPC64_ADDR16_DS
|
|
45 #undef R_PPC64_ADDR16_LO_DS
|
|
46 #undef R_PPC64_GOT16_DS
|
|
47 #undef R_PPC64_GOT16_LO_DS
|
|
48 #undef R_PPC64_TOC16_DS
|
|
49 #undef R_PPC64_TOC16_LO_DS
|
|
50 #undef R_PPC64_TLS
|
|
51 #undef R_PPC64_DTPMOD64
|
|
52 #undef R_PPC64_TPREL16
|
|
53 #undef R_PPC64_TPREL16_LO
|
|
54 #undef R_PPC64_TPREL16_HI
|
|
55 #undef R_PPC64_TPREL16_HA
|
|
56 #undef R_PPC64_TPREL64
|
|
57 #undef R_PPC64_DTPREL16
|
|
58 #undef R_PPC64_DTPREL16_LO
|
|
59 #undef R_PPC64_DTPREL16_HI
|
|
60 #undef R_PPC64_DTPREL16_HA
|
|
61 #undef R_PPC64_DTPREL64
|
|
62 #undef R_PPC64_GOT_TLSGD16
|
|
63 #undef R_PPC64_GOT_TLSGD16_LO
|
|
64 #undef R_PPC64_GOT_TLSGD16_HI
|
|
65 #undef R_PPC64_GOT_TLSGD16_HA
|
|
66 #undef R_PPC64_GOT_TLSLD16
|
|
67 #undef R_PPC64_GOT_TLSLD16_LO
|
|
68 #undef R_PPC64_GOT_TLSLD16_HI
|
|
69 #undef R_PPC64_GOT_TLSLD16_HA
|
|
70 #undef R_PPC64_GOT_TPREL16_DS
|
|
71 #undef R_PPC64_GOT_TPREL16_LO_DS
|
|
72 #undef R_PPC64_GOT_TPREL16_HI
|
|
73 #undef R_PPC64_GOT_TPREL16_HA
|
|
74 #undef R_PPC64_GOT_DTPREL16_DS
|
|
75 #undef R_PPC64_GOT_DTPREL16_LO_DS
|
|
76 #undef R_PPC64_GOT_DTPREL16_HI
|
|
77 #undef R_PPC64_GOT_DTPREL16_HA
|
|
78 #undef R_PPC64_TPREL16_DS
|
|
79 #undef R_PPC64_TPREL16_LO_DS
|
|
80 #undef R_PPC64_TPREL16_HIGHER
|
|
81 #undef R_PPC64_TPREL16_HIGHERA
|
|
82 #undef R_PPC64_TPREL16_HIGHEST
|
|
83 #undef R_PPC64_TPREL16_HIGHESTA
|
|
84 #undef R_PPC64_DTPREL16_DS
|
|
85 #undef R_PPC64_DTPREL16_LO_DS
|
|
86 #undef R_PPC64_DTPREL16_HIGHER
|
|
87 #undef R_PPC64_DTPREL16_HIGHERA
|
|
88 #undef R_PPC64_DTPREL16_HIGHEST
|
|
89 #undef R_PPC64_DTPREL16_HIGHESTA
|
|
90 #undef R_PPC64_TLSGD
|
|
91 #undef R_PPC64_TLSLD
|
147
|
92 #undef R_PPC64_ADDR16_HIGH
|
|
93 #undef R_PPC64_ADDR16_HIGHA
|
|
94 #undef R_PPC64_TPREL16_HIGH
|
|
95 #undef R_PPC64_TPREL16_HIGHA
|
|
96 #undef R_PPC64_DTPREL16_HIGH
|
|
97 #undef R_PPC64_DTPREL16_HIGHA
|
|
98 #undef R_PPC64_IRELATIVE
|
121
|
99 #undef R_PPC64_REL16
|
|
100 #undef R_PPC64_REL16_LO
|
|
101 #undef R_PPC64_REL16_HI
|
|
102 #undef R_PPC64_REL16_HA
|
|
103
|
|
104 ELF_RELOC(R_PPC64_NONE, 0)
|
|
105 ELF_RELOC(R_PPC64_ADDR32, 1)
|
|
106 ELF_RELOC(R_PPC64_ADDR24, 2)
|
|
107 ELF_RELOC(R_PPC64_ADDR16, 3)
|
|
108 ELF_RELOC(R_PPC64_ADDR16_LO, 4)
|
|
109 ELF_RELOC(R_PPC64_ADDR16_HI, 5)
|
|
110 ELF_RELOC(R_PPC64_ADDR16_HA, 6)
|
|
111 ELF_RELOC(R_PPC64_ADDR14, 7)
|
|
112 ELF_RELOC(R_PPC64_ADDR14_BRTAKEN, 8)
|
|
113 ELF_RELOC(R_PPC64_ADDR14_BRNTAKEN, 9)
|
|
114 ELF_RELOC(R_PPC64_REL24, 10)
|
|
115 ELF_RELOC(R_PPC64_REL14, 11)
|
|
116 ELF_RELOC(R_PPC64_REL14_BRTAKEN, 12)
|
|
117 ELF_RELOC(R_PPC64_REL14_BRNTAKEN, 13)
|
|
118 ELF_RELOC(R_PPC64_GOT16, 14)
|
|
119 ELF_RELOC(R_PPC64_GOT16_LO, 15)
|
|
120 ELF_RELOC(R_PPC64_GOT16_HI, 16)
|
|
121 ELF_RELOC(R_PPC64_GOT16_HA, 17)
|
|
122 ELF_RELOC(R_PPC64_GLOB_DAT, 20)
|
|
123 ELF_RELOC(R_PPC64_JMP_SLOT, 21)
|
|
124 ELF_RELOC(R_PPC64_RELATIVE, 22)
|
|
125 ELF_RELOC(R_PPC64_REL32, 26)
|
|
126 ELF_RELOC(R_PPC64_ADDR64, 38)
|
|
127 ELF_RELOC(R_PPC64_ADDR16_HIGHER, 39)
|
|
128 ELF_RELOC(R_PPC64_ADDR16_HIGHERA, 40)
|
|
129 ELF_RELOC(R_PPC64_ADDR16_HIGHEST, 41)
|
|
130 ELF_RELOC(R_PPC64_ADDR16_HIGHESTA, 42)
|
|
131 ELF_RELOC(R_PPC64_REL64, 44)
|
|
132 ELF_RELOC(R_PPC64_TOC16, 47)
|
|
133 ELF_RELOC(R_PPC64_TOC16_LO, 48)
|
|
134 ELF_RELOC(R_PPC64_TOC16_HI, 49)
|
|
135 ELF_RELOC(R_PPC64_TOC16_HA, 50)
|
|
136 ELF_RELOC(R_PPC64_TOC, 51)
|
|
137 ELF_RELOC(R_PPC64_ADDR16_DS, 56)
|
|
138 ELF_RELOC(R_PPC64_ADDR16_LO_DS, 57)
|
|
139 ELF_RELOC(R_PPC64_GOT16_DS, 58)
|
|
140 ELF_RELOC(R_PPC64_GOT16_LO_DS, 59)
|
|
141 ELF_RELOC(R_PPC64_TOC16_DS, 63)
|
|
142 ELF_RELOC(R_PPC64_TOC16_LO_DS, 64)
|
|
143 ELF_RELOC(R_PPC64_TLS, 67)
|
|
144 ELF_RELOC(R_PPC64_DTPMOD64, 68)
|
|
145 ELF_RELOC(R_PPC64_TPREL16, 69)
|
|
146 ELF_RELOC(R_PPC64_TPREL16_LO, 70)
|
|
147 ELF_RELOC(R_PPC64_TPREL16_HI, 71)
|
|
148 ELF_RELOC(R_PPC64_TPREL16_HA, 72)
|
|
149 ELF_RELOC(R_PPC64_TPREL64, 73)
|
|
150 ELF_RELOC(R_PPC64_DTPREL16, 74)
|
|
151 ELF_RELOC(R_PPC64_DTPREL16_LO, 75)
|
|
152 ELF_RELOC(R_PPC64_DTPREL16_HI, 76)
|
|
153 ELF_RELOC(R_PPC64_DTPREL16_HA, 77)
|
|
154 ELF_RELOC(R_PPC64_DTPREL64, 78)
|
|
155 ELF_RELOC(R_PPC64_GOT_TLSGD16, 79)
|
|
156 ELF_RELOC(R_PPC64_GOT_TLSGD16_LO, 80)
|
|
157 ELF_RELOC(R_PPC64_GOT_TLSGD16_HI, 81)
|
|
158 ELF_RELOC(R_PPC64_GOT_TLSGD16_HA, 82)
|
|
159 ELF_RELOC(R_PPC64_GOT_TLSLD16, 83)
|
|
160 ELF_RELOC(R_PPC64_GOT_TLSLD16_LO, 84)
|
|
161 ELF_RELOC(R_PPC64_GOT_TLSLD16_HI, 85)
|
|
162 ELF_RELOC(R_PPC64_GOT_TLSLD16_HA, 86)
|
|
163 ELF_RELOC(R_PPC64_GOT_TPREL16_DS, 87)
|
|
164 ELF_RELOC(R_PPC64_GOT_TPREL16_LO_DS, 88)
|
|
165 ELF_RELOC(R_PPC64_GOT_TPREL16_HI, 89)
|
|
166 ELF_RELOC(R_PPC64_GOT_TPREL16_HA, 90)
|
|
167 ELF_RELOC(R_PPC64_GOT_DTPREL16_DS, 91)
|
|
168 ELF_RELOC(R_PPC64_GOT_DTPREL16_LO_DS, 92)
|
|
169 ELF_RELOC(R_PPC64_GOT_DTPREL16_HI, 93)
|
|
170 ELF_RELOC(R_PPC64_GOT_DTPREL16_HA, 94)
|
|
171 ELF_RELOC(R_PPC64_TPREL16_DS, 95)
|
|
172 ELF_RELOC(R_PPC64_TPREL16_LO_DS, 96)
|
|
173 ELF_RELOC(R_PPC64_TPREL16_HIGHER, 97)
|
|
174 ELF_RELOC(R_PPC64_TPREL16_HIGHERA, 98)
|
|
175 ELF_RELOC(R_PPC64_TPREL16_HIGHEST, 99)
|
|
176 ELF_RELOC(R_PPC64_TPREL16_HIGHESTA, 100)
|
|
177 ELF_RELOC(R_PPC64_DTPREL16_DS, 101)
|
|
178 ELF_RELOC(R_PPC64_DTPREL16_LO_DS, 102)
|
|
179 ELF_RELOC(R_PPC64_DTPREL16_HIGHER, 103)
|
|
180 ELF_RELOC(R_PPC64_DTPREL16_HIGHERA, 104)
|
|
181 ELF_RELOC(R_PPC64_DTPREL16_HIGHEST, 105)
|
|
182 ELF_RELOC(R_PPC64_DTPREL16_HIGHESTA, 106)
|
|
183 ELF_RELOC(R_PPC64_TLSGD, 107)
|
|
184 ELF_RELOC(R_PPC64_TLSLD, 108)
|
147
|
185 ELF_RELOC(R_PPC64_ADDR16_HIGH, 110)
|
|
186 ELF_RELOC(R_PPC64_ADDR16_HIGHA, 111)
|
|
187 ELF_RELOC(R_PPC64_TPREL16_HIGH, 112)
|
|
188 ELF_RELOC(R_PPC64_TPREL16_HIGHA, 113)
|
|
189 ELF_RELOC(R_PPC64_DTPREL16_HIGH, 114)
|
|
190 ELF_RELOC(R_PPC64_DTPREL16_HIGHA, 115)
|
|
191 ELF_RELOC(R_PPC64_IRELATIVE, 248)
|
121
|
192 ELF_RELOC(R_PPC64_REL16, 249)
|
|
193 ELF_RELOC(R_PPC64_REL16_LO, 250)
|
|
194 ELF_RELOC(R_PPC64_REL16_HI, 251)
|
|
195 ELF_RELOC(R_PPC64_REL16_HA, 252)
|