1 //===- ELF.cpp - ELF object file implementation -----------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "llvm/Object/ELF.h"
15 #define LLVM_ELF_SWITCH_RELOC_TYPE_NAME(enum) \
19 StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) {
23 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_NONE);
24 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_64);
25 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC32);
26 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOT32);
27 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PLT32);
28 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_COPY);
29 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GLOB_DAT);
30 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_JUMP_SLOT);
31 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_RELATIVE);
32 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPCREL);
33 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_32);
34 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_32S);
35 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_16);
36 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC16);
37 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_8);
38 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC8);
39 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPMOD64);
40 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPOFF64);
41 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TPOFF64);
42 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSGD);
43 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSLD);
44 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPOFF32);
45 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTTPOFF);
46 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TPOFF32);
47 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC64);
48 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTOFF64);
49 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC32);
50 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOT64);
51 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPCREL64);
52 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC64);
53 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPLT64);
54 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PLTOFF64);
55 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_SIZE32);
56 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_SIZE64);
57 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC32_TLSDESC);
58 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSDESC_CALL);
59 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSDESC);
60 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_IRELATIVE);
67 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_NONE);
68 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_32);
69 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC32);
70 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOT32);
71 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PLT32);
72 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_COPY);
73 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GLOB_DAT);
74 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_JUMP_SLOT);
75 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_RELATIVE);
76 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOTOFF);
77 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOTPC);
78 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_32PLT);
79 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_TPOFF);
80 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_IE);
81 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GOTIE);
82 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LE);
83 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD);
84 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM);
85 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_16);
86 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC16);
87 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_8);
88 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC8);
89 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_32);
90 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_PUSH);
91 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_CALL);
92 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_POP);
93 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_32);
94 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_PUSH);
95 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_CALL);
96 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_POP);
97 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDO_32);
98 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_IE_32);
99 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LE_32);
100 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DTPMOD32);
101 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DTPOFF32);
102 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_TPOFF32);
103 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GOTDESC);
104 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DESC_CALL);
105 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DESC);
106 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_IRELATIVE);
113 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NONE);
114 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_16);
115 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_32);
116 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL32);
117 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_26);
118 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HI16);
119 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LO16);
120 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL16);
121 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LITERAL);
122 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT16);
123 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC16);
124 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL16);
125 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL32);
126 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT5);
127 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT6);
128 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_64);
129 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_DISP);
130 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_PAGE);
131 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_OFST);
132 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_HI16);
133 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_LO16);
134 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SUB);
135 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_A);
136 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_B);
137 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_DELETE);
138 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHER);
139 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHEST);
140 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_HI16);
141 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_LO16);
142 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SCN_DISP);
143 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL16);
144 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_ADD_IMMEDIATE);
145 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PJUMP);
146 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_RELGOT);
147 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JALR);
148 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD32);
149 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL32);
150 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD64);
151 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL64);
152 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GD);
153 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_LDM);
154 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_HI16);
155 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_LO16);
156 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GOTTPREL);
157 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL32);
158 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL64);
159 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_HI16);
160 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_LO16);
161 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GLOB_DAT);
162 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_COPY);
163 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JUMP_SLOT);
164 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_26_S1);
165 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_HI16);
166 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_LO16);
167 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT16);
168 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_CALL16);
169 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_DISP);
170 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_PAGE);
171 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_OFST);
172 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_HI16);
173 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_LO16);
174 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_HI16);
175 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_LO16);
176 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NUM);
181 case ELF::EM_AARCH64:
183 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_NONE);
184 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS64);
185 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS32);
186 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS16);
187 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL64);
188 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL32);
189 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL16);
190 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0);
191 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0_NC);
192 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1);
193 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1_NC);
194 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2);
195 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2_NC);
196 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G3);
197 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G0);
198 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G1);
199 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G2);
200 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD_PREL_LO19);
201 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_LO21);
202 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_PG_HI21);
203 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADD_ABS_LO12_NC);
204 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST8_ABS_LO12_NC);
205 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TSTBR14);
206 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CONDBR19);
207 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_JUMP26);
208 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CALL26);
209 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST16_ABS_LO12_NC);
210 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST32_ABS_LO12_NC);
211 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST64_ABS_LO12_NC);
212 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST128_ABS_LO12_NC);
213 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_GOT_PAGE);
214 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD64_GOT_LO12_NC);
215 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G2);
216 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1);
217 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC);
218 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0);
219 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC);
220 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_HI12);
221 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12);
222 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC);
223 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12);
224 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC);
225 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12);
226 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC);
227 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12);
228 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC);
229 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12);
230 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC);
231 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1);
232 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC);
233 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21);
234 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC);
235 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19);
236 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G2);
237 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1);
238 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC);
239 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0);
240 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC);
241 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_HI12);
242 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12);
243 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC);
244 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12);
245 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC);
246 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12);
247 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC);
248 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12);
249 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC);
250 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12);
251 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC);
252 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADR_PAGE);
253 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_LD64_LO12_NC);
254 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADD_LO12_NC);
255 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_CALL);
262 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_NONE);
263 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PC24);
264 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32);
265 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32);
266 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G0);
267 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS16);
268 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS12);
269 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ABS5);
270 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS8);
271 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL32);
272 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_CALL);
273 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC8);
274 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BREL_ADJ);
275 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESC);
276 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_SWI8);
277 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_XPC25);
278 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_XPC22);
279 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPMOD32);
280 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPOFF32);
281 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_TPOFF32);
282 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_COPY);
283 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GLOB_DAT);
284 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP_SLOT);
285 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_RELATIVE);
286 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF32);
287 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_PREL);
288 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL);
289 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32);
290 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_CALL);
291 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP24);
292 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP24);
293 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_ABS);
294 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_7_0);
295 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_15_8);
296 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_23_15);
297 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SBREL_11_0_NC);
298 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_19_12_NC);
299 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_27_20_CK);
300 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET1);
301 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL31);
302 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_V4BX);
303 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET2);
304 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PREL31);
305 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_ABS_NC);
306 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_ABS);
307 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_PREL_NC);
308 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_PREL);
309 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_ABS_NC);
310 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_ABS);
311 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_PREL_NC);
312 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_PREL);
313 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP19);
314 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP6);
315 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ALU_PREL_11_0);
316 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC12);
317 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32_NOI);
318 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32_NOI);
319 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0_NC);
320 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0);
321 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1_NC);
322 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1);
323 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G2);
324 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G1);
325 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G2);
326 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G0);
327 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G1);
328 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G2);
329 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G0);
330 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G1);
331 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G2);
332 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0_NC);
333 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0);
334 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1_NC);
335 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1);
336 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G2);
337 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G0);
338 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G1);
339 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G2);
340 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G0);
341 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G1);
342 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G2);
343 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G0);
344 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G1);
345 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G2);
346 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL_NC);
347 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_BREL);
348 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL);
349 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL_NC);
350 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_BREL);
351 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL);
352 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GOTDESC);
353 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_CALL);
354 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESCSEQ);
355 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_CALL);
356 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32_ABS);
357 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_ABS);
358 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_PREL);
359 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL12);
360 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF12);
361 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTRELAX);
362 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTENTRY);
363 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTINHERIT);
364 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP11);
365 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP8);
366 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GD32);
367 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDM32);
368 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO32);
369 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE32);
370 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE32);
371 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO12);
372 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE12);
373 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE12GP);
374 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_0);
375 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_1);
376 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_2);
377 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_3);
378 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_4);
379 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_5);
380 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_6);
381 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_7);
382 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_8);
383 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_9);
384 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_10);
385 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_11);
386 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_12);
387 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_13);
388 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_14);
389 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_15);
390 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ME_TOO);
391 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ16);
392 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ32);
397 case ELF::EM_HEXAGON:
399 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_NONE);
400 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL);
401 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL);
402 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL);
403 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_LO16);
404 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HI16);
405 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32);
406 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16);
407 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8);
408 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_0);
409 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_1);
410 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_2);
411 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_3);
412 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HL16);
413 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL);
414 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL);
415 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B32_PCREL_X);
416 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_6_X);
417 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL_X);
418 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL_X);
419 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL_X);
420 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL_X);
421 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL_X);
422 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16_X);
423 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_12_X);
424 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_11_X);
425 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_10_X);
426 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_9_X);
427 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8_X);
428 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_7_X);
429 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_X);
430 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_PCREL);
431 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_COPY);
432 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GLOB_DAT);
433 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_JMP_SLOT);
434 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_RELATIVE);
435 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_PLT_B22_PCREL);
436 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_LO16);
437 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_HI16);
438 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32);
439 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_LO16);
440 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_HI16);
441 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32);
442 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16);
443 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPMOD_32);
444 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_LO16);
445 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_HI16);
446 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32);
447 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16);
448 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_PLT_B22_PCREL);
449 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_LO16);
450 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_HI16);
451 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32);
452 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16);
453 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_LO16);
454 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_HI16);
455 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32);
456 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_LO16);
457 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_HI16);
458 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32);
459 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16);
460 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_LO16);
461 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_HI16);
462 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32);
463 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16);
464 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_PCREL_X);
465 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32_6_X);
466 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_16_X);
467 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_11_X);
468 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32_6_X);
469 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16_X);
470 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_11_X);
471 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32_6_X);
472 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16_X);
473 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_11_X);
474 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32_6_X);
475 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16_X);
476 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_11_X);
477 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32_6_X);
478 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_16_X);
479 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32_6_X);
480 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16_X);
481 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_11_X);
482 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32_6_X);
483 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16_X);
484 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_11_X);
491 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_NONE);
492 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR32);
493 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR24);
494 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16);
495 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_LO);
496 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HI);
497 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HA);
498 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14);
499 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRTAKEN);
500 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRNTAKEN);
501 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL24);
502 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14);
503 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRTAKEN);
504 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRNTAKEN);
505 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16);
506 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_LO);
507 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HI);
508 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HA);
509 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL32);
510 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLS);
511 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPMOD32);
512 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16);
513 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_LO);
514 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HI);
515 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HA);
516 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL32);
517 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16);
518 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_LO);
519 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HI);
520 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HA);
521 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL32);
522 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16);
523 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_LO);
524 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HI);
525 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HA);
526 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16);
527 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_LO);
528 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HI);
529 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HA);
530 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16);
531 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_LO);
532 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HI);
533 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HA);
534 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16);
535 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_LO);
536 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HI);
537 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HA);
538 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSGD);
539 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSLD);
540 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16);
541 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_LO);
542 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HI);
543 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HA);
550 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_NONE);
551 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR32);
552 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR24);
553 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16);
554 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO);
555 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HI);
556 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HA);
557 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14);
558 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRTAKEN);
559 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRNTAKEN);
560 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL24);
561 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14);
562 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRTAKEN);
563 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRNTAKEN);
564 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16);
565 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO);
566 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HI);
567 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HA);
568 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL32);
569 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR64);
570 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHER);
571 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHERA);
572 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHEST);
573 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHESTA);
574 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL64);
575 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16);
576 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO);
577 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HI);
578 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HA);
579 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC);
580 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_DS);
581 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO_DS);
582 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_DS);
583 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO_DS);
584 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_DS);
585 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO_DS);
586 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLS);
587 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPMOD64);
588 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16);
589 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO);
590 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HI);
591 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HA);
592 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL64);
593 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16);
594 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO);
595 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HI);
596 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HA);
597 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL64);
598 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16);
599 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_LO);
600 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HI);
601 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HA);
602 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16);
603 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_LO);
604 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HI);
605 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HA);
606 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_DS);
607 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_LO_DS);
608 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HI);
609 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HA);
610 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_DS);
611 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_LO_DS);
612 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HI);
613 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HA);
614 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_DS);
615 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO_DS);
616 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHER);
617 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHERA);
618 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHEST);
619 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHESTA);
620 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_DS);
621 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO_DS);
622 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHER);
623 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHERA);
624 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHEST);
625 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHESTA);
626 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSGD);
627 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSLD);
628 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16);
629 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_LO);
630 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HI);
631 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HA);
638 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_NONE);
639 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_8);
640 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_12);
641 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_16);
642 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_32);
643 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32);
644 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT12);
645 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT32);
646 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32);
647 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_COPY);
648 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GLOB_DAT);
649 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_JMP_SLOT);
650 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_RELATIVE);
651 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF);
652 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPC);
653 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT16);
654 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16);
655 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16DBL);
656 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT16DBL);
657 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32DBL);
658 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32DBL);
659 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPCDBL);
660 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_64);
661 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC64);
662 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT64);
663 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT64);
664 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTENT);
665 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF16);
666 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF64);
667 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT12);
668 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT16);
669 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT32);
670 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT64);
671 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLTENT);
672 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF16);
673 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF32);
674 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF64);
675 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LOAD);
676 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GDCALL);
677 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDCALL);
678 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD32);
679 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD64);
680 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE12);
681 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE32);
682 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE64);
683 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM32);
684 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM64);
685 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE32);
686 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE64);
687 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IEENT);
688 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE32);
689 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE64);
690 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO32);
691 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO64);
692 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPMOD);
693 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPOFF);
694 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_TPOFF);
695 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_20);
696 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT20);
697 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT20);
698 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE20);
699 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_IRELATIVE);
710 #undef LLVM_ELF_SWITCH_RELOC_TYPE_NAME
712 } // end namespace object
713 } // end namespace llvm