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