[lld] r223462 - ELF: Use ELF reloc .def files to reduce duplication

Will Newton will.newton at linaro.org
Fri Dec 5 04:43:27 PST 2014


Author: wnewton
Date: Fri Dec  5 06:43:26 2014
New Revision: 223462

URL: http://llvm.org/viewvc/llvm-project?rev=223462&view=rev
Log:
ELF: Use ELF reloc .def files to reduce duplication

Tested with check-lld with no regressions.

Modified:
    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp
    lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
    lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp
    lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTargetHandler.cpp
    lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp
    lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp

Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp?rev=223462&r1=223461&r2=223462&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp Fri Dec  5 06:43:26 2014
@@ -43,87 +43,11 @@ std::unique_ptr<Writer> AArch64TargetHan
   }
 }
 
+#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

Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp?rev=223462&r1=223461&r2=223462&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp Fri Dec  5 06:43:26 2014
@@ -328,98 +328,11 @@ void HexagonTargetHandler::registerReloc
                         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

Modified: lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp?rev=223462&r1=223461&r2=223462&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp Fri Dec  5 06:43:26 2014
@@ -45,30 +45,10 @@ void MipsTargetHandler::registerRelocati
                         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 MipsTargetHa
   LLD_KIND_STRING_ENTRY(LLD_R_MIPS_STO_PLT),
   LLD_KIND_STRING_END
 };
+
+#undef ELF_RELOC

Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTargetHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTargetHandler.cpp?rev=223462&r1=223461&r2=223462&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTargetHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTargetHandler.cpp Fri Dec  5 06:43:26 2014
@@ -89,59 +89,11 @@ std::unique_ptr<Writer> PPCTargetHandler
   }
 }
 
+#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

Modified: lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp?rev=223462&r1=223461&r2=223462&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp Fri Dec  5 06:43:26 2014
@@ -33,51 +33,15 @@ std::unique_ptr<Writer> X86TargetHandler
   }
 }
 
+#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);

Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp?rev=223462&r1=223461&r2=223462&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp Fri Dec  5 06:43:26 2014
@@ -43,45 +43,12 @@ std::unique_ptr<Writer> X86_64TargetHand
   }
 }
 
+#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





More information about the llvm-commits mailing list