ELF: Use ELF reloc .def files to reduce duplication

Tested with check-lld with no regressions.

llvm-svn: 223462
This commit is contained in:
Will Newton 2014-12-05 12:43:26 +00:00
parent 2876a67312
commit 0b7f842592
6 changed files with 32 additions and 330 deletions

View File

@ -43,87 +43,11 @@ std::unique_ptr<Writer> AArch64TargetHandler::getWriter() {
}
}
#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name),
const Registry::KindStrings AArch64TargetHandler::kindStrings[] = {
LLD_KIND_STRING_ENTRY(R_AARCH64_NONE),
LLD_KIND_STRING_ENTRY(R_AARCH64_ABS64),
LLD_KIND_STRING_ENTRY(R_AARCH64_ABS32),
LLD_KIND_STRING_ENTRY(R_AARCH64_ABS16),
LLD_KIND_STRING_ENTRY(R_AARCH64_PREL64),
LLD_KIND_STRING_ENTRY(R_AARCH64_PREL32),
LLD_KIND_STRING_ENTRY(R_AARCH64_PREL16),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_UABS_G0),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_UABS_G0_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_UABS_G1),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_UABS_G1_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_UABS_G2),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_UABS_G2_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_UABS_G3),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_SABS_G0),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_SABS_G1),
LLD_KIND_STRING_ENTRY(R_AARCH64_MOVW_SABS_G2),
LLD_KIND_STRING_ENTRY(R_AARCH64_LD_PREL_LO19),
LLD_KIND_STRING_ENTRY(R_AARCH64_ADR_PREL_LO21),
LLD_KIND_STRING_ENTRY(R_AARCH64_ADR_PREL_PG_HI21),
LLD_KIND_STRING_ENTRY(R_AARCH64_ADD_ABS_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_LDST8_ABS_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TSTBR14),
LLD_KIND_STRING_ENTRY(R_AARCH64_CONDBR19),
LLD_KIND_STRING_ENTRY(R_AARCH64_JUMP26),
LLD_KIND_STRING_ENTRY(R_AARCH64_CALL26),
LLD_KIND_STRING_ENTRY(R_AARCH64_LDST16_ABS_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_LDST32_ABS_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_LDST64_ABS_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_LDST128_ABS_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_ADR_GOT_PAGE),
LLD_KIND_STRING_ENTRY(R_AARCH64_LD64_GOT_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_MOVW_DTPREL_G2),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_MOVW_DTPREL_G1),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_MOVW_DTPREL_G0),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_ADD_DTPREL_HI12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_ADD_DTPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST8_DTPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST16_DTPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST32_DTPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST64_DTPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_MOVW_TPREL_G2),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_MOVW_TPREL_G1),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_MOVW_TPREL_G0),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_ADD_TPREL_HI12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_ADD_TPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST8_TPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST16_TPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST32_TPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST64_TPREL_LO12),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSDESC_ADR_PAGE21),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSDESC_LD64_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSDESC_ADD_LO12_NC),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSDESC_CALL),
LLD_KIND_STRING_ENTRY(R_AARCH64_COPY),
LLD_KIND_STRING_ENTRY(R_AARCH64_GLOB_DAT),
LLD_KIND_STRING_ENTRY(R_AARCH64_JUMP_SLOT),
LLD_KIND_STRING_ENTRY(R_AARCH64_RELATIVE),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLS_DTPREL64),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLS_DTPMOD64),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLS_TPREL64),
LLD_KIND_STRING_ENTRY(R_AARCH64_TLSDESC),
LLD_KIND_STRING_ENTRY(R_AARCH64_IRELATIVE),
LLD_KIND_STRING_END};
#include "llvm/Support/ELFRelocs/AArch64.def"
LLD_KIND_STRING_END
};
#undef ELF_RELOC

View File

@ -328,98 +328,11 @@ void HexagonTargetHandler::registerRelocationNames(Registry &registry) {
Reference::KindArch::Hexagon, kindStrings);
}
#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name),
const Registry::KindStrings HexagonTargetHandler::kindStrings[] = {
LLD_KIND_STRING_ENTRY(R_HEX_NONE),
LLD_KIND_STRING_ENTRY(R_HEX_B22_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_B15_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_B7_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_32),
LLD_KIND_STRING_ENTRY(R_HEX_16),
LLD_KIND_STRING_ENTRY(R_HEX_8),
LLD_KIND_STRING_ENTRY(R_HEX_GPREL16_0),
LLD_KIND_STRING_ENTRY(R_HEX_GPREL16_1),
LLD_KIND_STRING_ENTRY(R_HEX_GPREL16_2),
LLD_KIND_STRING_ENTRY(R_HEX_GPREL16_3),
LLD_KIND_STRING_ENTRY(R_HEX_HL16),
LLD_KIND_STRING_ENTRY(R_HEX_B13_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_B9_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_B32_PCREL_X),
LLD_KIND_STRING_ENTRY(R_HEX_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_B22_PCREL_X),
LLD_KIND_STRING_ENTRY(R_HEX_B15_PCREL_X),
LLD_KIND_STRING_ENTRY(R_HEX_B13_PCREL_X),
LLD_KIND_STRING_ENTRY(R_HEX_B9_PCREL_X),
LLD_KIND_STRING_ENTRY(R_HEX_B7_PCREL_X),
LLD_KIND_STRING_ENTRY(R_HEX_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_12_X),
LLD_KIND_STRING_ENTRY(R_HEX_11_X),
LLD_KIND_STRING_ENTRY(R_HEX_10_X),
LLD_KIND_STRING_ENTRY(R_HEX_9_X),
LLD_KIND_STRING_ENTRY(R_HEX_8_X),
LLD_KIND_STRING_ENTRY(R_HEX_7_X),
LLD_KIND_STRING_ENTRY(R_HEX_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_32_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_COPY),
LLD_KIND_STRING_ENTRY(R_HEX_GLOB_DAT),
LLD_KIND_STRING_ENTRY(R_HEX_JMP_SLOT),
LLD_KIND_STRING_ENTRY(R_HEX_RELATIVE),
LLD_KIND_STRING_ENTRY(R_HEX_PLT_B22_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_GOTREL_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_GOTREL_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_GOTREL_32),
LLD_KIND_STRING_ENTRY(R_HEX_GOT_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_GOT_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_GOT_32),
LLD_KIND_STRING_ENTRY(R_HEX_GOT_16),
LLD_KIND_STRING_ENTRY(R_HEX_DTPMOD_32),
LLD_KIND_STRING_ENTRY(R_HEX_DTPREL_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_DTPREL_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_DTPREL_32),
LLD_KIND_STRING_ENTRY(R_HEX_DTPREL_16),
LLD_KIND_STRING_ENTRY(R_HEX_GD_PLT_B22_PCREL),
LLD_KIND_STRING_ENTRY(R_HEX_GD_GOT_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_GD_GOT_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_GD_GOT_32),
LLD_KIND_STRING_ENTRY(R_HEX_GD_GOT_16),
LLD_KIND_STRING_ENTRY(R_HEX_IE_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_IE_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_IE_32),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_32),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_16),
LLD_KIND_STRING_ENTRY(R_HEX_TPREL_LO16),
LLD_KIND_STRING_ENTRY(R_HEX_TPREL_HI16),
LLD_KIND_STRING_ENTRY(R_HEX_TPREL_32),
LLD_KIND_STRING_ENTRY(R_HEX_TPREL_16),
LLD_KIND_STRING_ENTRY(R_HEX_6_PCREL_X),
LLD_KIND_STRING_ENTRY(R_HEX_GOTREL_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_GOTREL_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_GOTREL_11_X),
LLD_KIND_STRING_ENTRY(R_HEX_GOT_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_GOT_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_GOT_11_X),
LLD_KIND_STRING_ENTRY(R_HEX_DTPREL_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_DTPREL_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_DTPREL_11_X),
LLD_KIND_STRING_ENTRY(R_HEX_GD_GOT_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_GD_GOT_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_GD_GOT_11_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_11_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_IE_GOT_11_X),
LLD_KIND_STRING_ENTRY(R_HEX_TPREL_32_6_X),
LLD_KIND_STRING_ENTRY(R_HEX_TPREL_16_X),
LLD_KIND_STRING_ENTRY(R_HEX_TPREL_11_X),
#include "llvm/Support/ELFRelocs/Hexagon.def"
LLD_KIND_STRING_END
};
#undef ELF_RELOC

View File

@ -45,30 +45,10 @@ void MipsTargetHandler::registerRelocationNames(Registry &registry) {
Reference::KindArch::Mips, kindStrings);
}
#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name),
const Registry::KindStrings MipsTargetHandler::kindStrings[] = {
LLD_KIND_STRING_ENTRY(R_MIPS_NONE),
LLD_KIND_STRING_ENTRY(R_MIPS_32),
LLD_KIND_STRING_ENTRY(R_MIPS_REL32),
LLD_KIND_STRING_ENTRY(R_MIPS_26),
LLD_KIND_STRING_ENTRY(R_MIPS_HI16),
LLD_KIND_STRING_ENTRY(R_MIPS_LO16),
LLD_KIND_STRING_ENTRY(R_MIPS_GOT16),
LLD_KIND_STRING_ENTRY(R_MIPS_CALL16),
LLD_KIND_STRING_ENTRY(R_MIPS_GPREL32),
LLD_KIND_STRING_ENTRY(R_MIPS_JALR),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_DTPMOD32),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_DTPREL32),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_GD),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_LDM),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_GOTTPREL),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_TPREL32),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_DTPREL_HI16),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_DTPREL_LO16),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_TPREL_HI16),
LLD_KIND_STRING_ENTRY(R_MIPS_TLS_TPREL_LO16),
LLD_KIND_STRING_ENTRY(R_MIPS_COPY),
LLD_KIND_STRING_ENTRY(R_MIPS_JUMP_SLOT),
LLD_KIND_STRING_ENTRY(R_MIPS_PC32),
#include "llvm/Support/ELFRelocs/Mips.def"
LLD_KIND_STRING_ENTRY(LLD_R_MIPS_GLOBAL_GOT),
LLD_KIND_STRING_ENTRY(LLD_R_MIPS_32_HI16),
LLD_KIND_STRING_ENTRY(LLD_R_MIPS_GLOBAL_26),
@ -77,3 +57,5 @@ const Registry::KindStrings MipsTargetHandler::kindStrings[] = {
LLD_KIND_STRING_ENTRY(LLD_R_MIPS_STO_PLT),
LLD_KIND_STRING_END
};
#undef ELF_RELOC

View File

@ -89,59 +89,11 @@ std::unique_ptr<Writer> PPCTargetHandler::getWriter() {
}
}
#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name),
const Registry::KindStrings PPCTargetHandler::kindStrings[] = {
LLD_KIND_STRING_ENTRY(R_PPC_NONE),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR32),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR24),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR16),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR14),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR14_BRTAKEN),
LLD_KIND_STRING_ENTRY(R_PPC_ADDR14_BRNTAKEN),
LLD_KIND_STRING_ENTRY(R_PPC_REL24),
LLD_KIND_STRING_ENTRY(R_PPC_REL14),
LLD_KIND_STRING_ENTRY(R_PPC_REL14_BRTAKEN),
LLD_KIND_STRING_ENTRY(R_PPC_REL14_BRNTAKEN),
LLD_KIND_STRING_ENTRY(R_PPC_GOT16),
LLD_KIND_STRING_ENTRY(R_PPC_GOT16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_GOT16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_GOT16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_REL32),
LLD_KIND_STRING_ENTRY(R_PPC_TLS),
LLD_KIND_STRING_ENTRY(R_PPC_DTPMOD32),
LLD_KIND_STRING_ENTRY(R_PPC_TPREL16),
LLD_KIND_STRING_ENTRY(R_PPC_TPREL16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_TPREL16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_TPREL16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_TPREL32),
LLD_KIND_STRING_ENTRY(R_PPC_DTPREL16),
LLD_KIND_STRING_ENTRY(R_PPC_DTPREL16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_DTPREL16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_DTPREL16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_DTPREL32),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSGD16),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSGD16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSGD16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSGD16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSLD16),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSLD16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSLD16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TLSLD16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TPREL16),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TPREL16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TPREL16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_TPREL16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_DTPREL16),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_DTPREL16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_DTPREL16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_GOT_DTPREL16_HA),
LLD_KIND_STRING_ENTRY(R_PPC_TLSGD),
LLD_KIND_STRING_ENTRY(R_PPC_TLSLD),
LLD_KIND_STRING_ENTRY(R_PPC_REL16),
LLD_KIND_STRING_ENTRY(R_PPC_REL16_LO),
LLD_KIND_STRING_ENTRY(R_PPC_REL16_HI),
LLD_KIND_STRING_ENTRY(R_PPC_REL16_HA),
#include "llvm/Support/ELFRelocs/PowerPC.def"
LLD_KIND_STRING_END
};
#undef ELF_RELOC

View File

@ -33,51 +33,15 @@ std::unique_ptr<Writer> X86TargetHandler::getWriter() {
}
}
#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name),
const Registry::KindStrings X86TargetHandler::kindStrings[] = {
LLD_KIND_STRING_ENTRY(R_386_NONE),
LLD_KIND_STRING_ENTRY(R_386_32),
LLD_KIND_STRING_ENTRY(R_386_PC32),
LLD_KIND_STRING_ENTRY(R_386_GOT32),
LLD_KIND_STRING_ENTRY(R_386_PLT32),
LLD_KIND_STRING_ENTRY(R_386_COPY),
LLD_KIND_STRING_ENTRY(R_386_GLOB_DAT),
LLD_KIND_STRING_ENTRY(R_386_JUMP_SLOT),
LLD_KIND_STRING_ENTRY(R_386_RELATIVE),
LLD_KIND_STRING_ENTRY(R_386_GOTOFF),
LLD_KIND_STRING_ENTRY(R_386_GOTPC),
LLD_KIND_STRING_ENTRY(R_386_32PLT),
LLD_KIND_STRING_ENTRY(R_386_TLS_TPOFF),
LLD_KIND_STRING_ENTRY(R_386_TLS_IE),
LLD_KIND_STRING_ENTRY(R_386_TLS_GOTIE),
LLD_KIND_STRING_ENTRY(R_386_TLS_LE),
LLD_KIND_STRING_ENTRY(R_386_TLS_GD),
LLD_KIND_STRING_ENTRY(R_386_TLS_LDM),
LLD_KIND_STRING_ENTRY(R_386_16),
LLD_KIND_STRING_ENTRY(R_386_PC16),
LLD_KIND_STRING_ENTRY(R_386_8),
LLD_KIND_STRING_ENTRY(R_386_PC8),
LLD_KIND_STRING_ENTRY(R_386_TLS_GD_32),
LLD_KIND_STRING_ENTRY(R_386_TLS_GD_PUSH),
LLD_KIND_STRING_ENTRY(R_386_TLS_GD_CALL),
LLD_KIND_STRING_ENTRY(R_386_TLS_GD_POP),
LLD_KIND_STRING_ENTRY(R_386_TLS_LDM_32),
LLD_KIND_STRING_ENTRY(R_386_TLS_LDM_PUSH),
LLD_KIND_STRING_ENTRY(R_386_TLS_LDM_CALL),
LLD_KIND_STRING_ENTRY(R_386_TLS_LDM_POP),
LLD_KIND_STRING_ENTRY(R_386_TLS_LDO_32),
LLD_KIND_STRING_ENTRY(R_386_TLS_IE_32),
LLD_KIND_STRING_ENTRY(R_386_TLS_LE_32),
LLD_KIND_STRING_ENTRY(R_386_TLS_DTPMOD32),
LLD_KIND_STRING_ENTRY(R_386_TLS_DTPOFF32),
LLD_KIND_STRING_ENTRY(R_386_TLS_TPOFF32),
LLD_KIND_STRING_ENTRY(R_386_TLS_GOTDESC),
LLD_KIND_STRING_ENTRY(R_386_TLS_DESC_CALL),
LLD_KIND_STRING_ENTRY(R_386_TLS_DESC),
LLD_KIND_STRING_ENTRY(R_386_IRELATIVE),
LLD_KIND_STRING_ENTRY(R_386_NUM),
#include "llvm/Support/ELFRelocs/i386.def"
LLD_KIND_STRING_END
};
#undef ELF_RELOC
void X86TargetHandler::registerRelocationNames(Registry &registry) {
registry.addKindTable(Reference::KindNamespace::ELF, Reference::KindArch::x86,
kindStrings);

View File

@ -43,45 +43,12 @@ std::unique_ptr<Writer> X86_64TargetHandler::getWriter() {
}
}
#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name),
const Registry::KindStrings X86_64TargetHandler::kindStrings[] = {
LLD_KIND_STRING_ENTRY(R_X86_64_NONE),
LLD_KIND_STRING_ENTRY(R_X86_64_64),
LLD_KIND_STRING_ENTRY(R_X86_64_PC32),
LLD_KIND_STRING_ENTRY(R_X86_64_GOT32),
LLD_KIND_STRING_ENTRY(R_X86_64_PLT32),
LLD_KIND_STRING_ENTRY(R_X86_64_COPY),
LLD_KIND_STRING_ENTRY(R_X86_64_GLOB_DAT),
LLD_KIND_STRING_ENTRY(R_X86_64_JUMP_SLOT),
LLD_KIND_STRING_ENTRY(R_X86_64_RELATIVE),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTPCREL),
LLD_KIND_STRING_ENTRY(R_X86_64_32),
LLD_KIND_STRING_ENTRY(R_X86_64_32S),
LLD_KIND_STRING_ENTRY(R_X86_64_16),
LLD_KIND_STRING_ENTRY(R_X86_64_PC16),
LLD_KIND_STRING_ENTRY(R_X86_64_8),
LLD_KIND_STRING_ENTRY(R_X86_64_PC8),
LLD_KIND_STRING_ENTRY(R_X86_64_DTPMOD64),
LLD_KIND_STRING_ENTRY(R_X86_64_DTPOFF64),
LLD_KIND_STRING_ENTRY(R_X86_64_TPOFF64),
LLD_KIND_STRING_ENTRY(R_X86_64_TLSGD),
LLD_KIND_STRING_ENTRY(R_X86_64_TLSLD),
LLD_KIND_STRING_ENTRY(R_X86_64_DTPOFF32),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTTPOFF),
LLD_KIND_STRING_ENTRY(R_X86_64_TPOFF32),
LLD_KIND_STRING_ENTRY(R_X86_64_PC64),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTOFF64),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTPC32),
LLD_KIND_STRING_ENTRY(R_X86_64_GOT64),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTPCREL64),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTPC64),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTPLT64),
LLD_KIND_STRING_ENTRY(R_X86_64_PLTOFF64),
LLD_KIND_STRING_ENTRY(R_X86_64_SIZE32),
LLD_KIND_STRING_ENTRY(R_X86_64_SIZE64),
LLD_KIND_STRING_ENTRY(R_X86_64_GOTPC32_TLSDESC),
LLD_KIND_STRING_ENTRY(R_X86_64_TLSDESC_CALL),
LLD_KIND_STRING_ENTRY(R_X86_64_TLSDESC),
LLD_KIND_STRING_ENTRY(R_X86_64_IRELATIVE),
#include "llvm/Support/ELFRelocs/x86_64.def"
LLD_KIND_STRING_ENTRY(LLD_R_X86_64_GOTRELINDEX),
LLD_KIND_STRING_END
};
#undef ELF_RELOC