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