LLVM API Documentation
00001 //===- ELF.cpp - ELF object file implementation -----------------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 00010 #include "llvm/Object/ELF.h" 00011 00012 namespace llvm { 00013 namespace object { 00014 00015 #define LLVM_ELF_SWITCH_RELOC_TYPE_NAME(enum) \ 00016 case ELF::enum: \ 00017 return #enum; \ 00018 00019 StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) { 00020 switch (Machine) { 00021 case ELF::EM_X86_64: 00022 switch (Type) { 00023 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_NONE); 00024 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_64); 00025 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC32); 00026 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOT32); 00027 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PLT32); 00028 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_COPY); 00029 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GLOB_DAT); 00030 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_JUMP_SLOT); 00031 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_RELATIVE); 00032 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPCREL); 00033 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_32); 00034 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_32S); 00035 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_16); 00036 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC16); 00037 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_8); 00038 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC8); 00039 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPMOD64); 00040 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPOFF64); 00041 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TPOFF64); 00042 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSGD); 00043 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSLD); 00044 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPOFF32); 00045 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTTPOFF); 00046 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TPOFF32); 00047 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC64); 00048 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTOFF64); 00049 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC32); 00050 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOT64); 00051 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPCREL64); 00052 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC64); 00053 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPLT64); 00054 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PLTOFF64); 00055 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_SIZE32); 00056 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_SIZE64); 00057 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC32_TLSDESC); 00058 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSDESC_CALL); 00059 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSDESC); 00060 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_IRELATIVE); 00061 default: 00062 break; 00063 } 00064 break; 00065 case ELF::EM_386: 00066 switch (Type) { 00067 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_NONE); 00068 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_32); 00069 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC32); 00070 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOT32); 00071 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PLT32); 00072 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_COPY); 00073 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GLOB_DAT); 00074 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_JUMP_SLOT); 00075 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_RELATIVE); 00076 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOTOFF); 00077 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOTPC); 00078 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_32PLT); 00079 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_TPOFF); 00080 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_IE); 00081 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GOTIE); 00082 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LE); 00083 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD); 00084 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM); 00085 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_16); 00086 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC16); 00087 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_8); 00088 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC8); 00089 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_32); 00090 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_PUSH); 00091 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_CALL); 00092 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_POP); 00093 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_32); 00094 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_PUSH); 00095 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_CALL); 00096 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_POP); 00097 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDO_32); 00098 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_IE_32); 00099 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LE_32); 00100 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DTPMOD32); 00101 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DTPOFF32); 00102 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_TPOFF32); 00103 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GOTDESC); 00104 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DESC_CALL); 00105 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DESC); 00106 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_IRELATIVE); 00107 default: 00108 break; 00109 } 00110 break; 00111 case ELF::EM_MIPS: 00112 switch (Type) { 00113 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NONE); 00114 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_16); 00115 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_32); 00116 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL32); 00117 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_26); 00118 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HI16); 00119 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LO16); 00120 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL16); 00121 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LITERAL); 00122 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT16); 00123 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC16); 00124 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL16); 00125 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL32); 00126 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT5); 00127 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT6); 00128 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_64); 00129 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_DISP); 00130 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_PAGE); 00131 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_OFST); 00132 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_HI16); 00133 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_LO16); 00134 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SUB); 00135 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_A); 00136 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_B); 00137 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_DELETE); 00138 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHER); 00139 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHEST); 00140 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_HI16); 00141 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_LO16); 00142 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SCN_DISP); 00143 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL16); 00144 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_ADD_IMMEDIATE); 00145 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PJUMP); 00146 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_RELGOT); 00147 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JALR); 00148 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD32); 00149 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL32); 00150 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD64); 00151 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL64); 00152 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GD); 00153 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_LDM); 00154 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_HI16); 00155 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_LO16); 00156 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GOTTPREL); 00157 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL32); 00158 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL64); 00159 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_HI16); 00160 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_LO16); 00161 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GLOB_DAT); 00162 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC21_S2); 00163 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC26_S2); 00164 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC18_S3); 00165 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC19_S2); 00166 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCHI16); 00167 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCLO16); 00168 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_GOT16); 00169 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_HI16); 00170 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_LO16); 00171 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_COPY); 00172 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JUMP_SLOT); 00173 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_26_S1); 00174 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_HI16); 00175 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_LO16); 00176 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT16); 00177 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_PC16_S1); 00178 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_CALL16); 00179 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_DISP); 00180 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_PAGE); 00181 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_OFST); 00182 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_GD); 00183 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_LDM); 00184 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_HI16); 00185 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_LO16); 00186 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_HI16); 00187 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_LO16); 00188 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NUM); 00189 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC32); 00190 default: 00191 break; 00192 } 00193 break; 00194 case ELF::EM_AARCH64: 00195 switch (Type) { 00196 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_NONE); 00197 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS64); 00198 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS32); 00199 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS16); 00200 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL64); 00201 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL32); 00202 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL16); 00203 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0); 00204 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0_NC); 00205 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1); 00206 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1_NC); 00207 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2); 00208 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2_NC); 00209 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G3); 00210 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G0); 00211 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G1); 00212 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G2); 00213 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD_PREL_LO19); 00214 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_LO21); 00215 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_PG_HI21); 00216 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADD_ABS_LO12_NC); 00217 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST8_ABS_LO12_NC); 00218 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TSTBR14); 00219 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CONDBR19); 00220 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_JUMP26); 00221 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CALL26); 00222 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST16_ABS_LO12_NC); 00223 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST32_ABS_LO12_NC); 00224 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST64_ABS_LO12_NC); 00225 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST128_ABS_LO12_NC); 00226 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_GOTREL64); 00227 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_GOTREL32); 00228 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_GOT_PAGE); 00229 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD64_GOT_LO12_NC); 00230 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G2); 00231 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1); 00232 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC); 00233 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0); 00234 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC); 00235 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_HI12); 00236 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12); 00237 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC); 00238 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12); 00239 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC); 00240 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12); 00241 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC); 00242 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12); 00243 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC); 00244 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12); 00245 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC); 00246 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1); 00247 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC); 00248 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21); 00249 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC); 00250 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19); 00251 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G2); 00252 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1); 00253 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC); 00254 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0); 00255 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC); 00256 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_HI12); 00257 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12); 00258 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC); 00259 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12); 00260 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC); 00261 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12); 00262 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC); 00263 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12); 00264 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC); 00265 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12); 00266 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC); 00267 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADR_PAGE); 00268 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_LD64_LO12_NC); 00269 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADD_LO12_NC); 00270 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_CALL); 00271 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_COPY); 00272 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_GLOB_DAT); 00273 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_JUMP_SLOT); 00274 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_RELATIVE); 00275 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLS_DTPREL64); 00276 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLS_DTPMOD64); 00277 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLS_TPREL64); 00278 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC); 00279 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_IRELATIVE); 00280 default: 00281 break; 00282 } 00283 break; 00284 case ELF::EM_ARM: 00285 switch (Type) { 00286 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_NONE); 00287 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PC24); 00288 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32); 00289 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32); 00290 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G0); 00291 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS16); 00292 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS12); 00293 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ABS5); 00294 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS8); 00295 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL32); 00296 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_CALL); 00297 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC8); 00298 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BREL_ADJ); 00299 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESC); 00300 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_SWI8); 00301 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_XPC25); 00302 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_XPC22); 00303 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPMOD32); 00304 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPOFF32); 00305 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_TPOFF32); 00306 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_COPY); 00307 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GLOB_DAT); 00308 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP_SLOT); 00309 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_RELATIVE); 00310 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF32); 00311 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_PREL); 00312 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL); 00313 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32); 00314 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_CALL); 00315 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP24); 00316 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP24); 00317 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_ABS); 00318 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_7_0); 00319 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_15_8); 00320 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_23_15); 00321 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SBREL_11_0_NC); 00322 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_19_12_NC); 00323 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_27_20_CK); 00324 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET1); 00325 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL31); 00326 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_V4BX); 00327 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET2); 00328 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PREL31); 00329 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_ABS_NC); 00330 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_ABS); 00331 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_PREL_NC); 00332 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_PREL); 00333 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_ABS_NC); 00334 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_ABS); 00335 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_PREL_NC); 00336 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_PREL); 00337 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP19); 00338 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP6); 00339 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ALU_PREL_11_0); 00340 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC12); 00341 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32_NOI); 00342 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32_NOI); 00343 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0_NC); 00344 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0); 00345 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1_NC); 00346 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1); 00347 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G2); 00348 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G1); 00349 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G2); 00350 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G0); 00351 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G1); 00352 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G2); 00353 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G0); 00354 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G1); 00355 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G2); 00356 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0_NC); 00357 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0); 00358 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1_NC); 00359 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1); 00360 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G2); 00361 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G0); 00362 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G1); 00363 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G2); 00364 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G0); 00365 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G1); 00366 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G2); 00367 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G0); 00368 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G1); 00369 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G2); 00370 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL_NC); 00371 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_BREL); 00372 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL); 00373 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL_NC); 00374 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_BREL); 00375 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL); 00376 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GOTDESC); 00377 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_CALL); 00378 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESCSEQ); 00379 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_CALL); 00380 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32_ABS); 00381 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_ABS); 00382 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_PREL); 00383 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL12); 00384 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF12); 00385 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTRELAX); 00386 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTENTRY); 00387 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTINHERIT); 00388 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP11); 00389 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP8); 00390 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GD32); 00391 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDM32); 00392 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO32); 00393 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE32); 00394 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE32); 00395 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO12); 00396 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE12); 00397 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE12GP); 00398 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_0); 00399 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_1); 00400 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_2); 00401 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_3); 00402 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_4); 00403 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_5); 00404 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_6); 00405 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_7); 00406 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_8); 00407 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_9); 00408 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_10); 00409 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_11); 00410 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_12); 00411 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_13); 00412 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_14); 00413 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_15); 00414 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ME_TOO); 00415 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ16); 00416 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ32); 00417 default: 00418 break; 00419 } 00420 break; 00421 case ELF::EM_HEXAGON: 00422 switch (Type) { 00423 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_NONE); 00424 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL); 00425 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL); 00426 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL); 00427 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_LO16); 00428 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HI16); 00429 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32); 00430 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16); 00431 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8); 00432 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_0); 00433 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_1); 00434 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_2); 00435 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_3); 00436 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HL16); 00437 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL); 00438 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL); 00439 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B32_PCREL_X); 00440 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_6_X); 00441 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL_X); 00442 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL_X); 00443 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL_X); 00444 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL_X); 00445 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL_X); 00446 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16_X); 00447 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_12_X); 00448 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_11_X); 00449 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_10_X); 00450 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_9_X); 00451 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8_X); 00452 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_7_X); 00453 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_X); 00454 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_PCREL); 00455 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_COPY); 00456 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GLOB_DAT); 00457 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_JMP_SLOT); 00458 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_RELATIVE); 00459 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_PLT_B22_PCREL); 00460 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_LO16); 00461 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_HI16); 00462 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32); 00463 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_LO16); 00464 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_HI16); 00465 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32); 00466 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16); 00467 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPMOD_32); 00468 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_LO16); 00469 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_HI16); 00470 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32); 00471 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16); 00472 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_PLT_B22_PCREL); 00473 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_LO16); 00474 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_HI16); 00475 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32); 00476 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16); 00477 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_LO16); 00478 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_HI16); 00479 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32); 00480 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_LO16); 00481 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_HI16); 00482 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32); 00483 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16); 00484 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_LO16); 00485 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_HI16); 00486 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32); 00487 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16); 00488 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_PCREL_X); 00489 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32_6_X); 00490 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_16_X); 00491 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_11_X); 00492 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32_6_X); 00493 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16_X); 00494 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_11_X); 00495 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32_6_X); 00496 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16_X); 00497 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_11_X); 00498 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32_6_X); 00499 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16_X); 00500 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_11_X); 00501 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32_6_X); 00502 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_16_X); 00503 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32_6_X); 00504 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16_X); 00505 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_11_X); 00506 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32_6_X); 00507 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16_X); 00508 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_11_X); 00509 default: 00510 break; 00511 } 00512 break; 00513 case ELF::EM_PPC: 00514 switch (Type) { 00515 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_NONE); 00516 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR32); 00517 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR24); 00518 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16); 00519 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_LO); 00520 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HI); 00521 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HA); 00522 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14); 00523 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRTAKEN); 00524 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRNTAKEN); 00525 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL24); 00526 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14); 00527 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRTAKEN); 00528 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRNTAKEN); 00529 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16); 00530 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_LO); 00531 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HI); 00532 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HA); 00533 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_PLTREL24); 00534 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL32); 00535 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLS); 00536 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPMOD32); 00537 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16); 00538 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_LO); 00539 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HI); 00540 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HA); 00541 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL32); 00542 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16); 00543 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_LO); 00544 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HI); 00545 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HA); 00546 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL32); 00547 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16); 00548 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_LO); 00549 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HI); 00550 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HA); 00551 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16); 00552 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_LO); 00553 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HI); 00554 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HA); 00555 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16); 00556 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_LO); 00557 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HI); 00558 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HA); 00559 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16); 00560 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_LO); 00561 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HI); 00562 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HA); 00563 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSGD); 00564 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSLD); 00565 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16); 00566 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_LO); 00567 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HI); 00568 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HA); 00569 default: 00570 break; 00571 } 00572 break; 00573 case ELF::EM_PPC64: 00574 switch (Type) { 00575 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_NONE); 00576 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR32); 00577 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR24); 00578 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16); 00579 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO); 00580 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HI); 00581 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HA); 00582 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14); 00583 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRTAKEN); 00584 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRNTAKEN); 00585 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL24); 00586 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14); 00587 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRTAKEN); 00588 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRNTAKEN); 00589 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16); 00590 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO); 00591 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HI); 00592 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HA); 00593 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL32); 00594 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR64); 00595 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHER); 00596 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHERA); 00597 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHEST); 00598 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHESTA); 00599 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL64); 00600 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16); 00601 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO); 00602 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HI); 00603 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HA); 00604 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC); 00605 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_DS); 00606 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO_DS); 00607 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_DS); 00608 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO_DS); 00609 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_DS); 00610 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO_DS); 00611 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLS); 00612 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPMOD64); 00613 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16); 00614 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO); 00615 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HI); 00616 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HA); 00617 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL64); 00618 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16); 00619 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO); 00620 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HI); 00621 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HA); 00622 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL64); 00623 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16); 00624 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_LO); 00625 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HI); 00626 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HA); 00627 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16); 00628 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_LO); 00629 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HI); 00630 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HA); 00631 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_DS); 00632 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_LO_DS); 00633 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HI); 00634 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HA); 00635 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_DS); 00636 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_LO_DS); 00637 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HI); 00638 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HA); 00639 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_DS); 00640 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO_DS); 00641 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHER); 00642 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHERA); 00643 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHEST); 00644 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHESTA); 00645 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_DS); 00646 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO_DS); 00647 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHER); 00648 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHERA); 00649 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHEST); 00650 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHESTA); 00651 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSGD); 00652 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSLD); 00653 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16); 00654 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_LO); 00655 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HI); 00656 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HA); 00657 default: 00658 break; 00659 } 00660 break; 00661 case ELF::EM_S390: 00662 switch (Type) { 00663 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_NONE); 00664 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_8); 00665 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_12); 00666 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_16); 00667 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_32); 00668 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32); 00669 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT12); 00670 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT32); 00671 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32); 00672 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_COPY); 00673 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GLOB_DAT); 00674 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_JMP_SLOT); 00675 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_RELATIVE); 00676 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF); 00677 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPC); 00678 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT16); 00679 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16); 00680 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16DBL); 00681 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT16DBL); 00682 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32DBL); 00683 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32DBL); 00684 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPCDBL); 00685 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_64); 00686 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC64); 00687 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT64); 00688 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT64); 00689 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTENT); 00690 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF16); 00691 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF64); 00692 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT12); 00693 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT16); 00694 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT32); 00695 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT64); 00696 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLTENT); 00697 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF16); 00698 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF32); 00699 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF64); 00700 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LOAD); 00701 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GDCALL); 00702 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDCALL); 00703 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD32); 00704 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD64); 00705 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE12); 00706 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE32); 00707 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE64); 00708 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM32); 00709 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM64); 00710 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE32); 00711 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE64); 00712 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IEENT); 00713 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE32); 00714 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE64); 00715 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO32); 00716 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO64); 00717 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPMOD); 00718 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPOFF); 00719 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_TPOFF); 00720 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_20); 00721 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT20); 00722 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT20); 00723 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE20); 00724 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_IRELATIVE); 00725 default: 00726 break; 00727 } 00728 break; 00729 case ELF::EM_SPARC: 00730 case ELF::EM_SPARC32PLUS: 00731 case ELF::EM_SPARCV9: 00732 switch (Type) { 00733 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_NONE); 00734 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_8); 00735 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_16); 00736 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_32); 00737 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP8); 00738 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP16); 00739 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP32); 00740 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP30); 00741 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP22); 00742 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HI22); 00743 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_22); 00744 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_13); 00745 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LO10); 00746 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT10); 00747 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT13); 00748 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT22); 00749 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC10); 00750 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC22); 00751 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WPLT30); 00752 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_COPY); 00753 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GLOB_DAT); 00754 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_JMP_SLOT); 00755 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_RELATIVE); 00756 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA32); 00757 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PLT32); 00758 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HIPLT22); 00759 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LOPLT10); 00760 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT32); 00761 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT22); 00762 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT10); 00763 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_10); 00764 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_11); 00765 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_64); 00766 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_OLO10); 00767 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HH22); 00768 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HM10); 00769 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LM22); 00770 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_HH22); 00771 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_HM10); 00772 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_LM22); 00773 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP16); 00774 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP19); 00775 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_7); 00776 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_5); 00777 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_6); 00778 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP64); 00779 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PLT64); 00780 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HIX22); 00781 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LOX10); 00782 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_H44); 00783 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_M44); 00784 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_L44); 00785 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_REGISTER); 00786 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA64); 00787 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA16); 00788 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_HI22); 00789 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_LO10); 00790 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_ADD); 00791 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_CALL); 00792 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_HI22); 00793 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_LO10); 00794 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_ADD); 00795 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_CALL); 00796 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_HIX22); 00797 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_LOX10); 00798 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_ADD); 00799 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_HI22); 00800 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LO10); 00801 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LD); 00802 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LDX); 00803 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_ADD); 00804 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LE_HIX22); 00805 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LE_LOX10); 00806 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPMOD32); 00807 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPMOD64); 00808 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPOFF32); 00809 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPOFF64); 00810 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_TPOFF32); 00811 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_TPOFF64); 00812 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_HIX22); 00813 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_LOX22); 00814 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP_HIX22); 00815 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP_LOX22); 00816 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP); 00817 default: 00818 break; 00819 } 00820 break; 00821 default: 00822 break; 00823 } 00824 return "Unknown"; 00825 } 00826 00827 #undef LLVM_ELF_SWITCH_RELOC_TYPE_NAME 00828 00829 } // end namespace object 00830 } // end namespace llvm