1081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer//===- ELF.cpp - ELF object file implementation -----------------*- C++ -*-===// 2081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer// 3081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer// The LLVM Compiler Infrastructure 4081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer// 5081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer// This file is distributed under the University of Illinois Open Source 6081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer// License. See LICENSE.TXT for details. 7081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer// 8081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer//===----------------------------------------------------------------------===// 9081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer 10081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer#include "llvm/Object/ELF.h" 11081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer 12081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencernamespace llvm { 13081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencernamespace object { 14081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer 15081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer#define LLVM_ELF_SWITCH_RELOC_TYPE_NAME(enum) \ 16081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::enum: \ 17081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer return #enum; \ 18081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer 19081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. SpencerStringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) { 20081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Machine) { 21081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_X86_64: 22081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 23081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_NONE); 24081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_64); 25081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC32); 26081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOT32); 27081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PLT32); 28081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_COPY); 29081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GLOB_DAT); 30081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_JUMP_SLOT); 31081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_RELATIVE); 32081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPCREL); 33081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_32); 34081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_32S); 35081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_16); 36081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC16); 37081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_8); 38081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC8); 39081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPMOD64); 40081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPOFF64); 41081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TPOFF64); 42081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSGD); 43081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSLD); 44081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_DTPOFF32); 45081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTTPOFF); 46081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TPOFF32); 47081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PC64); 48081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTOFF64); 49081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC32); 50081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOT64); 51081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPCREL64); 52081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC64); 53081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPLT64); 54081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_PLTOFF64); 55081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_SIZE32); 56081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_SIZE64); 57081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_GOTPC32_TLSDESC); 58081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSDESC_CALL); 59081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_TLSDESC); 60081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_X86_64_IRELATIVE); 61081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 62081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 63081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 64081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 65081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_386: 66081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 67081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_NONE); 68081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_32); 69081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC32); 70081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOT32); 71081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PLT32); 72081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_COPY); 73081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GLOB_DAT); 74081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_JUMP_SLOT); 75081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_RELATIVE); 76081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOTOFF); 77081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_GOTPC); 78081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_32PLT); 79081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_TPOFF); 80081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_IE); 81081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GOTIE); 82081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LE); 83081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD); 84081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM); 85081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_16); 86081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC16); 87081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_8); 88081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_PC8); 89081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_32); 90081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_PUSH); 91081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_CALL); 92081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GD_POP); 93081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_32); 94081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_PUSH); 95081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_CALL); 96081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDM_POP); 97081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LDO_32); 98081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_IE_32); 99081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_LE_32); 100081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DTPMOD32); 101081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DTPOFF32); 102081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_TPOFF32); 103081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_GOTDESC); 104081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DESC_CALL); 105081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_TLS_DESC); 106081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_386_IRELATIVE); 107081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 108081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 109081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 110081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 111081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_MIPS: 112081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 113081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NONE); 114081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_16); 115081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_32); 116081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL32); 117081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_26); 118081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HI16); 119081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LO16); 120081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL16); 121081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_LITERAL); 122081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT16); 123081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC16); 124081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL16); 125081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GPREL32); 126081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT5); 127081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SHIFT6); 128081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_64); 129081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_DISP); 130081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_PAGE); 131081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_OFST); 132081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_HI16); 133081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GOT_LO16); 134081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SUB); 135081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_A); 136081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_INSERT_B); 137081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_DELETE); 138081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHER); 139081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_HIGHEST); 140081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_HI16); 141081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_CALL_LO16); 142081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_SCN_DISP); 143081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_REL16); 144081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_ADD_IMMEDIATE); 145081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PJUMP); 146081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_RELGOT); 147081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JALR); 148081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD32); 149081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL32); 150081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPMOD64); 151081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL64); 152081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GD); 153081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_LDM); 154081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_HI16); 155081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_DTPREL_LO16); 156081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_GOTTPREL); 157081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL32); 158081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL64); 159081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_HI16); 160081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_LO16); 161081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GLOB_DAT); 162dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC21_S2); 163dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC26_S2); 164dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC18_S3); 165dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC19_S2); 166dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCHI16); 167dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCLO16); 168dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_GOT16); 169dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_HI16); 170dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_LO16); 171081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_COPY); 172081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JUMP_SLOT); 1731aaf43c2a2ec0fd4c8dbfe56558237219c5f8af7Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_26_S1); 1740082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_HI16); 1750082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_LO16); 1760082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT16); 1775c042162beb3c2dd556e00aab84c4278a69cd5b1Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_PC16_S1); 1780082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_CALL16); 1790082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_DISP); 1800082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_PAGE); 1810082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_GOT_OFST); 18236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_GD); 18336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_LDM); 1840082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_HI16); 1850082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_DTPREL_LO16); 1860082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_HI16); 1870082717cb537e2d1424f755a49510fa9f9e67071Zoran Jovanovic LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_LO16); 188081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NUM); 189dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC32); 190081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 191081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 192081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 193081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 194081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_AARCH64: 195081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 196081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_NONE); 197081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS64); 198081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS32); 199081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ABS16); 200081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL64); 201081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL32); 202081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_PREL16); 203081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0); 204081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G0_NC); 205081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1); 206081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G1_NC); 207081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2); 208081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G2_NC); 209081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_UABS_G3); 210081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G0); 211081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G1); 212081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_MOVW_SABS_G2); 213081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD_PREL_LO19); 214081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_LO21); 215081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_PREL_PG_HI21); 216081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADD_ABS_LO12_NC); 217081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST8_ABS_LO12_NC); 218081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TSTBR14); 219081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CONDBR19); 220081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_JUMP26); 221081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_CALL26); 222081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST16_ABS_LO12_NC); 223081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST32_ABS_LO12_NC); 224081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST64_ABS_LO12_NC); 225081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LDST128_ABS_LO12_NC); 226081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_ADR_GOT_PAGE); 227081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_LD64_GOT_LO12_NC); 228081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G2); 229081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1); 230081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC); 231081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0); 232081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC); 233081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_HI12); 234081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12); 235081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC); 236081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12); 237081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC); 238081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12); 239081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC); 240081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12); 241081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC); 242081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12); 243081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC); 244081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1); 245081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC); 246081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21); 247081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC); 248081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19); 249081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G2); 250081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1); 251081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC); 252081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0); 253081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC); 254081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_HI12); 255081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12); 256081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC); 257081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12); 258081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC); 259081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12); 260081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC); 261081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12); 262081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC); 263081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12); 264081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC); 265081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADR_PAGE); 266081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_LD64_LO12_NC); 267081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_ADD_LO12_NC); 268081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_AARCH64_TLSDESC_CALL); 269081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 270081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 271081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 272081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 273081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_ARM: 274081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 275081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_NONE); 276081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PC24); 277081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32); 278081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32); 279081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G0); 280081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS16); 281081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS12); 282081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ABS5); 283081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS8); 284081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL32); 285081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_CALL); 286081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC8); 287081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BREL_ADJ); 288081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESC); 289081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_SWI8); 290081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_XPC25); 291081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_XPC22); 292081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPMOD32); 293081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DTPOFF32); 294081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_TPOFF32); 295081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_COPY); 296081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GLOB_DAT); 297081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP_SLOT); 298081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_RELATIVE); 299081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF32); 300081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_PREL); 301081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL); 302081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32); 303081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_CALL); 304081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_JUMP24); 305081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP24); 306081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_BASE_ABS); 307081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_7_0); 308081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_15_8); 309081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PCREL_23_15); 310081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SBREL_11_0_NC); 311081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_19_12_NC); 312081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SBREL_27_20_CK); 313081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET1); 314081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_SBREL31); 315081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_V4BX); 316081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TARGET2); 317081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PREL31); 318081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_ABS_NC); 319081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_ABS); 320081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_PREL_NC); 321081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_PREL); 322081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_ABS_NC); 323081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_ABS); 324081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_PREL_NC); 325081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_PREL); 326081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP19); 327081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP6); 328081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_ALU_PREL_11_0); 329081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_PC12); 330081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ABS32_NOI); 331081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_REL32_NOI); 332081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0_NC); 333081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G0); 334081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1_NC); 335081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G1); 336081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_PC_G2); 337081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G1); 338081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_PC_G2); 339081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G0); 340081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G1); 341081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_PC_G2); 342081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G0); 343081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G1); 344081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_PC_G2); 345081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0_NC); 346081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G0); 347081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1_NC); 348081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G1); 349081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ALU_SB_G2); 350081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G0); 351081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G1); 352081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDR_SB_G2); 353081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G0); 354081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G1); 355081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDRS_SB_G2); 356081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G0); 357081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G1); 358081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_LDC_SB_G2); 359081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL_NC); 360081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVT_BREL); 361081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_MOVW_BREL); 362081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL_NC); 363081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVT_BREL); 364081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_MOVW_BREL); 365081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GOTDESC); 366081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_CALL); 367081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_DESCSEQ); 368081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_CALL); 369081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PLT32_ABS); 370081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_ABS); 371081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_PREL); 372081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOT_BREL12); 373081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTOFF12); 374081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GOTRELAX); 375081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTENTRY); 376081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_GNU_VTINHERIT); 377081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP11); 378081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_JUMP8); 379081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_GD32); 380081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDM32); 381081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO32); 382081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE32); 383081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE32); 384081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LDO12); 385081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_LE12); 386081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_TLS_IE12GP); 387081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_0); 388081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_1); 389081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_2); 390081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_3); 391081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_4); 392081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_5); 393081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_6); 394081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_7); 395081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_8); 396081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_9); 397081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_10); 398081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_11); 399081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_12); 400081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_13); 401081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_14); 402081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_PRIVATE_15); 403081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_ME_TOO); 404081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ16); 405081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_ARM_THM_TLS_DESCSEQ32); 406081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 407081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 408081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 409081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 410081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_HEXAGON: 411081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 412081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_NONE); 413081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL); 414081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL); 415081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL); 416081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_LO16); 417081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HI16); 418081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32); 419081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16); 420081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8); 421081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_0); 422081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_1); 423081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_2); 424081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GPREL16_3); 425081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_HL16); 426081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL); 427081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL); 428081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B32_PCREL_X); 429081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_6_X); 430081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B22_PCREL_X); 431081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B15_PCREL_X); 432081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B13_PCREL_X); 433081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B9_PCREL_X); 434081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_B7_PCREL_X); 435081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_16_X); 436081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_12_X); 437081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_11_X); 438081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_10_X); 439081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_9_X); 440081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_8_X); 441081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_7_X); 442081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_X); 443081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_32_PCREL); 444081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_COPY); 445081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GLOB_DAT); 446081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_JMP_SLOT); 447081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_RELATIVE); 448081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_PLT_B22_PCREL); 449081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_LO16); 450081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_HI16); 451081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32); 452081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_LO16); 453081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_HI16); 454081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32); 455081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16); 456081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPMOD_32); 457081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_LO16); 458081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_HI16); 459081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32); 460081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16); 461081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_PLT_B22_PCREL); 462081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_LO16); 463081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_HI16); 464081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32); 465081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16); 466081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_LO16); 467081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_HI16); 468081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32); 469081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_LO16); 470081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_HI16); 471081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32); 472081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16); 473081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_LO16); 474081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_HI16); 475081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32); 476081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16); 477081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_6_PCREL_X); 478081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_32_6_X); 479081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_16_X); 480081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOTREL_11_X); 481081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_32_6_X); 482081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_16_X); 483081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GOT_11_X); 484081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_32_6_X); 485081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_16_X); 486081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_DTPREL_11_X); 487081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_32_6_X); 488081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_16_X); 489081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_GD_GOT_11_X); 490081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_32_6_X); 491081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_16_X); 492081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_32_6_X); 493081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_16_X); 494081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_IE_GOT_11_X); 495081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_32_6_X); 496081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_16_X); 497081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_HEX_TPREL_11_X); 498081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 499081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 500081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 501081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 502081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_PPC: 503081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 504081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_NONE); 505081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR32); 506081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR24); 507081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16); 508081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_LO); 509081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HI); 510081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HA); 511081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14); 512081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRTAKEN); 513081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRNTAKEN); 514081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL24); 515081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14); 516081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRTAKEN); 517081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRNTAKEN); 518d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16); 519d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_LO); 520d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HI); 521d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HA); 522081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL32); 523d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLS); 524d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPMOD32); 525d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16); 526081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_LO); 527d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HI); 528081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HA); 529d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL32); 530d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16); 531d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_LO); 532d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HI); 533d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HA); 534d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL32); 535d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16); 536d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_LO); 537d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HI); 538d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HA); 539d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16); 540d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_LO); 541d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HI); 542d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HA); 543d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16); 544d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_LO); 545d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HI); 546d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HA); 547d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16); 548d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_LO); 549d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HI); 550d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HA); 551d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSGD); 552d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSLD); 553d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16); 554d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_LO); 555d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HI); 556d25fed9827c60c18707464b911518360a301b8c6Ulrich Weigand LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HA); 557081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 558081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 559081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 560081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 561081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_PPC64: 562081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 563081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_NONE); 564081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR32); 565081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR24); 566081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16); 567081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO); 568081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HI); 569081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HA); 570081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14); 571081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRTAKEN); 572081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRNTAKEN); 573081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL24); 574081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14); 575081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRTAKEN); 576081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRNTAKEN); 577f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16); 578f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO); 579f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HI); 580f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HA); 581081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL32); 582081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR64); 583081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHER); 584f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHERA); 585081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHEST); 586f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHESTA); 587081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL64); 588081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16); 589081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO); 590f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HI); 591081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HA); 592081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC); 593081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_DS); 594081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO_DS); 595f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_DS); 596f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO_DS); 597081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_DS); 598081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO_DS); 599081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLS); 600f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPMOD64); 601f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16); 602081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO); 603f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HI); 604081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HA); 605f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL64); 606f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16); 607081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO); 608f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HI); 609081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HA); 610f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL64); 611f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16); 612081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_LO); 613f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HI); 614081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HA); 615f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16); 616081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_LO); 617f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HI); 618081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HA); 619f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_DS); 620081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_LO_DS); 621f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HI); 622081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HA); 623f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_DS); 624f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_LO_DS); 625f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HI); 626f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HA); 627f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_DS); 628f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO_DS); 629f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHER); 630f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHERA); 631f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHEST); 632f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHESTA); 633f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_DS); 634f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO_DS); 635f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHER); 636f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHERA); 637f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHEST); 638f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHESTA); 639081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSGD); 640081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSLD); 641f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16); 642f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_LO); 643f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HI); 644f5539a356c55126b5d519d0594b424bdcdeab647Michael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HA); 645081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 646081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 647081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 648081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 649081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer case ELF::EM_S390: 650081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer switch (Type) { 651081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_NONE); 652081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_8); 653081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_12); 654081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_16); 655081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_32); 656081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32); 657081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT12); 658081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT32); 659081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32); 660081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_COPY); 661081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GLOB_DAT); 662081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_JMP_SLOT); 663081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_RELATIVE); 664081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF); 665081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPC); 666081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT16); 667081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16); 668081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC16DBL); 669081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT16DBL); 670081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC32DBL); 671081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT32DBL); 672081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPCDBL); 673081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_64); 674081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PC64); 675081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT64); 676081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLT64); 677081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTENT); 678081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF16); 679081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTOFF64); 680081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT12); 681081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT16); 682081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT32); 683081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT64); 684081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLTENT); 685081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF16); 686081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF32); 687081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_PLTOFF64); 688081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LOAD); 689081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GDCALL); 690081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDCALL); 691081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD32); 692081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GD64); 693081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE12); 694081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE32); 695081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE64); 696081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM32); 697081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDM64); 698081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE32); 699081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IE64); 700081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_IEENT); 701081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE32); 702081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LE64); 703081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO32); 704081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_LDO64); 705081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPMOD); 706081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_DTPOFF); 707081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_TPOFF); 708081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_20); 709081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOT20); 710081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_GOTPLT20); 711081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_TLS_GOTIE20); 712081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_390_IRELATIVE); 713081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 714081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 715081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 716081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 71736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines case ELF::EM_SPARC: 71836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines case ELF::EM_SPARC32PLUS: 71936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines case ELF::EM_SPARCV9: 72036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines switch (Type) { 72136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_NONE); 72236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_8); 72336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_16); 72436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_32); 72536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP8); 72636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP16); 72736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP32); 72836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP30); 72936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP22); 73036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HI22); 73136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_22); 73236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_13); 73336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LO10); 73436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT10); 73536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT13); 73636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOT22); 73736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC10); 73836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC22); 73936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WPLT30); 74036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_COPY); 74136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GLOB_DAT); 74236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_JMP_SLOT); 74336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_RELATIVE); 74436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA32); 74536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PLT32); 74636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HIPLT22); 74736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LOPLT10); 74836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT32); 74936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT22); 75036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PCPLT10); 75136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_10); 75236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_11); 75336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_64); 75436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_OLO10); 75536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HH22); 75636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HM10); 75736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LM22); 75836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_HH22); 75936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_HM10); 76036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PC_LM22); 76136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP16); 76236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_WDISP19); 76336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_7); 76436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_5); 76536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_6); 76636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_DISP64); 76736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_PLT64); 76836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_HIX22); 76936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_LOX10); 77036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_H44); 77136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_M44); 77236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_L44); 77336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_REGISTER); 77436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA64); 77536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_UA16); 77636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_HI22); 77736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_LO10); 77836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_ADD); 77936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_GD_CALL); 78036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_HI22); 78136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_LO10); 78236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_ADD); 78336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDM_CALL); 78436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_HIX22); 78536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_LOX10); 78636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LDO_ADD); 78736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_HI22); 78836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LO10); 78936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LD); 79036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_LDX); 79136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_IE_ADD); 79236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LE_HIX22); 79336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_LE_LOX10); 79436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPMOD32); 79536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPMOD64); 79636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPOFF32); 79736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_DTPOFF64); 79836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_TPOFF32); 79936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_TLS_TPOFF64); 80036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_HIX22); 80136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_LOX22); 80236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP_HIX22); 80336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP_LOX22); 80436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_SPARC_GOTDATA_OP); 80536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines default: 80636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines break; 80736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines } 80836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines break; 809081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer default: 810081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer break; 811081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer } 812081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer return "Unknown"; 813081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer} 814081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer 815081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer#undef LLVM_ELF_SWITCH_RELOC_TYPE_NAME 816081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer 817081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer} // end namespace object 818081a1941b595f6294e4ce678fd61ef56a2ceb51eMichael J. Spencer} // end namespace llvm 819