1 //===- ELF.cpp - ELF object file implementation -----------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "llvm/Object/ELF.h" 11 12 namespace llvm { 13 namespace object { 14 15 #define LLVM_ELF_SWITCH_RELOC_TYPE_NAME(enum) \ 16 case ELF::enum: \ 17 return #enum; \ 18 19 StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) { 20 switch (Machine) { 21 case ELF::EM_X86_64: 22 switch (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); 61 default: 62 break; 63 } 64 break; 65 case ELF::EM_386: 66 switch (Type) { 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); 107 default: 108 break; 109 } 110 break; 111 case ELF::EM_MIPS: 112 switch (Type) { 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_PC21_S2); 163 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC26_S2); 164 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC18_S3); 165 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC19_S2); 166 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCHI16); 167 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCLO16); 168 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_GOT16); 169 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_HI16); 170 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_LO16); 171 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_COPY); 172 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JUMP_SLOT); 173 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_26_S1); 174 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_HI16); 175 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_LO16); 176 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT16); 177 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_PC16_S1); 178 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_CALL16); 179 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_DISP); 180 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_PAGE); 181 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_OFST); 182 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_GD); 183 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_LDM); 184 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_HI16); 185 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_LO16); 186 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_HI16); 187 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_LO16); 188 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NUM); 189 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC32); 190 default: 191 break; 192 } 193 break; 194 case ELF::EM_AARCH64: 195 switch (Type) { 196 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_NONE); 197 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS64); 198 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS32); 199 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS16); 200 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL64); 201 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL32); 202 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL16); 203 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0); 204 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0_NC); 205 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1); 206 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1_NC); 207 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2); 208 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2_NC); 209 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G3); 210 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G0); 211 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G1); 212 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G2); 213 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD_PREL_LO19); 214 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_LO21); 215 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_PG_HI21); 216 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADD_ABS_LO12_NC); 217 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST8_ABS_LO12_NC); 218 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TSTBR14); 219 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CONDBR19); 220 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_JUMP26); 221 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CALL26); 222 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST16_ABS_LO12_NC); 223 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST32_ABS_LO12_NC); 224 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST64_ABS_LO12_NC); 225 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST128_ABS_LO12_NC); 226 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_GOTREL64); 227 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_GOTREL32); 228 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_GOT_PAGE); 229 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD64_GOT_LO12_NC); 230 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G2); 231 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1); 232 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC); 233 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0); 234 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC); 235 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_HI12); 236 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12); 237 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC); 238 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12); 239 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC); 240 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12); 241 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC); 242 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12); 243 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC); 244 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12); 245 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC); 246 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1); 247 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC); 248 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21); 249 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC); 250 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19); 251 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G2); 252 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1); 253 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC); 254 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0); 255 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC); 256 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_HI12); 257 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12); 258 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC); 259 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12); 260 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC); 261 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12); 262 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC); 263 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12); 264 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC); 265 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12); 266 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC); 267 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADR_PAGE); 268 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_LD64_LO12_NC); 269 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADD_LO12_NC); 270 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_CALL); 271 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_COPY); 272 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_GLOB_DAT); 273 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_JUMP_SLOT); 274 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_RELATIVE); 275 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLS_DTPREL64); 276 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLS_DTPMOD64); 277 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLS_TPREL64); 278 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC); 279 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_IRELATIVE); 280 default: 281 break; 282 } 283 break; 284 case ELF::EM_ARM: 285 switch (Type) { 286 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_NONE); 287 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PC24); 288 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32); 289 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32); 290 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G0); 291 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS16); 292 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS12); 293 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ABS5); 294 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS8); 295 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL32); 296 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_CALL); 297 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC8); 298 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BREL_ADJ); 299 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESC); 300 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_SWI8); 301 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_XPC25); 302 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_XPC22); 303 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPMOD32); 304 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPOFF32); 305 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_TPOFF32); 306 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_COPY); 307 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GLOB_DAT); 308 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP_SLOT); 309 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_RELATIVE); 310 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF32); 311 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_PREL); 312 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL); 313 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32); 314 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_CALL); 315 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP24); 316 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP24); 317 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_ABS); 318 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_7_0); 319 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_15_8); 320 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_23_15); 321 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SBREL_11_0_NC); 322 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_19_12_NC); 323 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_27_20_CK); 324 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET1); 325 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL31); 326 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_V4BX); 327 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET2); 328 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PREL31); 329 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_ABS_NC); 330 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_ABS); 331 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_PREL_NC); 332 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_PREL); 333 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_ABS_NC); 334 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_ABS); 335 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_PREL_NC); 336 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_PREL); 337 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP19); 338 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP6); 339 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ALU_PREL_11_0); 340 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC12); 341 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32_NOI); 342 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32_NOI); 343 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0_NC); 344 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0); 345 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1_NC); 346 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1); 347 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G2); 348 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G1); 349 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G2); 350 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G0); 351 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G1); 352 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G2); 353 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G0); 354 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G1); 355 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G2); 356 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0_NC); 357 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0); 358 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1_NC); 359 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1); 360 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G2); 361 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G0); 362 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G1); 363 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G2); 364 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G0); 365 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G1); 366 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G2); 367 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G0); 368 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G1); 369 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G2); 370 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL_NC); 371 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_BREL); 372 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL); 373 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL_NC); 374 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_BREL); 375 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL); 376 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GOTDESC); 377 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_CALL); 378 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESCSEQ); 379 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_CALL); 380 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32_ABS); 381 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_ABS); 382 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_PREL); 383 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL12); 384 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF12); 385 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTRELAX); 386 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTENTRY); 387 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTINHERIT); 388 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP11); 389 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP8); 390 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GD32); 391 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDM32); 392 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO32); 393 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE32); 394 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE32); 395 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO12); 396 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE12); 397 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE12GP); 398 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_0); 399 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_1); 400 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_2); 401 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_3); 402 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_4); 403 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_5); 404 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_6); 405 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_7); 406 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_8); 407 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_9); 408 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_10); 409 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_11); 410 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_12); 411 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_13); 412 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_14); 413 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_15); 414 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ME_TOO); 415 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ16); 416 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ32); 417 default: 418 break; 419 } 420 break; 421 case ELF::EM_HEXAGON: 422 switch (Type) { 423 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_NONE); 424 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL); 425 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL); 426 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL); 427 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_LO16); 428 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HI16); 429 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32); 430 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16); 431 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8); 432 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_0); 433 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_1); 434 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_2); 435 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_3); 436 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HL16); 437 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL); 438 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL); 439 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B32_PCREL_X); 440 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_6_X); 441 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL_X); 442 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL_X); 443 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL_X); 444 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL_X); 445 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL_X); 446 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16_X); 447 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_12_X); 448 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_11_X); 449 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_10_X); 450 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_9_X); 451 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8_X); 452 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_7_X); 453 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_X); 454 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_PCREL); 455 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_COPY); 456 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GLOB_DAT); 457 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_JMP_SLOT); 458 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_RELATIVE); 459 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_PLT_B22_PCREL); 460 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_LO16); 461 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_HI16); 462 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32); 463 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_LO16); 464 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_HI16); 465 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32); 466 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16); 467 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPMOD_32); 468 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_LO16); 469 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_HI16); 470 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32); 471 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16); 472 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_PLT_B22_PCREL); 473 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_LO16); 474 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_HI16); 475 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32); 476 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16); 477 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_LO16); 478 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_HI16); 479 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32); 480 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_LO16); 481 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_HI16); 482 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32); 483 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16); 484 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_LO16); 485 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_HI16); 486 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32); 487 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16); 488 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_PCREL_X); 489 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32_6_X); 490 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_16_X); 491 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_11_X); 492 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32_6_X); 493 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16_X); 494 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_11_X); 495 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32_6_X); 496 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16_X); 497 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_11_X); 498 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32_6_X); 499 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16_X); 500 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_11_X); 501 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32_6_X); 502 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_16_X); 503 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32_6_X); 504 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16_X); 505 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_11_X); 506 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32_6_X); 507 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16_X); 508 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_11_X); 509 default: 510 break; 511 } 512 break; 513 case ELF::EM_PPC: 514 switch (Type) { 515 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_NONE); 516 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR32); 517 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR24); 518 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16); 519 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_LO); 520 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HI); 521 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HA); 522 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14); 523 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRTAKEN); 524 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRNTAKEN); 525 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL24); 526 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14); 527 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRTAKEN); 528 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRNTAKEN); 529 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16); 530 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_LO); 531 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HI); 532 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HA); 533 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_PLTREL24); 534 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL32); 535 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLS); 536 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPMOD32); 537 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16); 538 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_LO); 539 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HI); 540 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HA); 541 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL32); 542 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16); 543 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_LO); 544 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HI); 545 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HA); 546 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL32); 547 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16); 548 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_LO); 549 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HI); 550 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HA); 551 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16); 552 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_LO); 553 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HI); 554 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HA); 555 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16); 556 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_LO); 557 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HI); 558 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HA); 559 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16); 560 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_LO); 561 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HI); 562 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HA); 563 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSGD); 564 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSLD); 565 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16); 566 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_LO); 567 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HI); 568 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HA); 569 default: 570 break; 571 } 572 break; 573 case ELF::EM_PPC64: 574 switch (Type) { 575 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_NONE); 576 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR32); 577 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR24); 578 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16); 579 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO); 580 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HI); 581 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HA); 582 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14); 583 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRTAKEN); 584 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRNTAKEN); 585 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL24); 586 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14); 587 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRTAKEN); 588 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRNTAKEN); 589 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16); 590 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO); 591 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HI); 592 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HA); 593 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL32); 594 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR64); 595 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHER); 596 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHERA); 597 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHEST); 598 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHESTA); 599 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL64); 600 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16); 601 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO); 602 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HI); 603 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HA); 604 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC); 605 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_DS); 606 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO_DS); 607 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_DS); 608 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO_DS); 609 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_DS); 610 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO_DS); 611 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLS); 612 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPMOD64); 613 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16); 614 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO); 615 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HI); 616 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HA); 617 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL64); 618 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16); 619 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO); 620 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HI); 621 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HA); 622 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL64); 623 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16); 624 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_LO); 625 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HI); 626 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HA); 627 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16); 628 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_LO); 629 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HI); 630 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HA); 631 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_DS); 632 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_LO_DS); 633 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HI); 634 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HA); 635 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_DS); 636 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_LO_DS); 637 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HI); 638 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HA); 639 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_DS); 640 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO_DS); 641 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHER); 642 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHERA); 643 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHEST); 644 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHESTA); 645 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_DS); 646 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO_DS); 647 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHER); 648 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHERA); 649 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHEST); 650 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHESTA); 651 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSGD); 652 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSLD); 653 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16); 654 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_LO); 655 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HI); 656 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HA); 657 default: 658 break; 659 } 660 break; 661 case ELF::EM_S390: 662 switch (Type) { 663 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_NONE); 664 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_8); 665 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_12); 666 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_16); 667 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_32); 668 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32); 669 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT12); 670 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT32); 671 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32); 672 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_COPY); 673 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GLOB_DAT); 674 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_JMP_SLOT); 675 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_RELATIVE); 676 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF); 677 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPC); 678 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT16); 679 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16); 680 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16DBL); 681 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT16DBL); 682 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32DBL); 683 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32DBL); 684 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPCDBL); 685 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_64); 686 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC64); 687 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT64); 688 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT64); 689 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTENT); 690 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF16); 691 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF64); 692 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT12); 693 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT16); 694 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT32); 695 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT64); 696 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLTENT); 697 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF16); 698 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF32); 699 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF64); 700 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LOAD); 701 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GDCALL); 702 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDCALL); 703 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD32); 704 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD64); 705 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE12); 706 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE32); 707 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE64); 708 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM32); 709 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM64); 710 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE32); 711 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE64); 712 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IEENT); 713 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE32); 714 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE64); 715 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO32); 716 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO64); 717 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPMOD); 718 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPOFF); 719 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_TPOFF); 720 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_20); 721 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT20); 722 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT20); 723 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE20); 724 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_IRELATIVE); 725 default: 726 break; 727 } 728 break; 729 case ELF::EM_SPARC: 730 case ELF::EM_SPARC32PLUS: 731 case ELF::EM_SPARCV9: 732 switch (Type) { 733 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_NONE); 734 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_8); 735 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_16); 736 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_32); 737 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP8); 738 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP16); 739 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP32); 740 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP30); 741 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP22); 742 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HI22); 743 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_22); 744 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_13); 745 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LO10); 746 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT10); 747 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT13); 748 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT22); 749 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC10); 750 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC22); 751 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WPLT30); 752 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_COPY); 753 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GLOB_DAT); 754 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_JMP_SLOT); 755 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_RELATIVE); 756 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA32); 757 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PLT32); 758 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HIPLT22); 759 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LOPLT10); 760 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT32); 761 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT22); 762 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT10); 763 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_10); 764 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_11); 765 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_64); 766 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_OLO10); 767 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HH22); 768 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HM10); 769 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LM22); 770 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_HH22); 771 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_HM10); 772 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_LM22); 773 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP16); 774 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP19); 775 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_7); 776 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_5); 777 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_6); 778 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP64); 779 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PLT64); 780 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HIX22); 781 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LOX10); 782 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_H44); 783 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_M44); 784 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_L44); 785 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_REGISTER); 786 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA64); 787 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA16); 788 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_HI22); 789 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_LO10); 790 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_ADD); 791 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_CALL); 792 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_HI22); 793 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_LO10); 794 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_ADD); 795 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_CALL); 796 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_HIX22); 797 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_LOX10); 798 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_ADD); 799 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_HI22); 800 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LO10); 801 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LD); 802 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LDX); 803 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_ADD); 804 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LE_HIX22); 805 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LE_LOX10); 806 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPMOD32); 807 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPMOD64); 808 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPOFF32); 809 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPOFF64); 810 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_TPOFF32); 811 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_TPOFF64); 812 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_HIX22); 813 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_LOX22); 814 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP_HIX22); 815 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP_LOX22); 816 LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP); 817 default: 818 break; 819 } 820 break; 821 default: 822 break; 823 } 824 return "Unknown"; 825 } 826 827 #undef LLVM_ELF_SWITCH_RELOC_TYPE_NAME 828 829 } // end namespace object 830 } // end namespace llvm 831