diff options
author | Rui Ueyama <ruiu@google.com> | 2015-04-01 23:55:10 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2015-04-01 23:55:10 +0000 |
commit | 4507003622ecb757340ba97a8049319a2ddd249c (patch) | |
tree | 4bf090811bb5cdd66ff42ef4c0e42e80e8dac226 | |
parent | 56f84515a25d6b0de2dac94c4a3cd4a291fc7416 (diff) | |
download | bcm5719-llvm-4507003622ecb757340ba97a8049319a2ddd249c.tar.gz bcm5719-llvm-4507003622ecb757340ba97a8049319a2ddd249c.zip |
ELF: Remove <Arch>TargetHandler::kindString.
<Arch>TargetHandler::kindString is a static member variable
containg a list of names of relocation types.
The member is used only by one function, registerRelocationNames,
so they don't have to be a static member.
This patch makes the visibility of the data narrower by making
them file-scoped variables in small files.
llvm-svn: 233867
12 files changed, 36 insertions, 53 deletions
diff --git a/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp b/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp index bc7b8744fa2..1062367b1ee 100644 --- a/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp +++ b/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp @@ -21,6 +21,13 @@ AArch64TargetHandler::AArch64TargetHandler(AArch64LinkingContext &ctx) _aarch64TargetLayout(new AArch64TargetLayout<AArch64ELFType>(ctx)), _aarch64RelocationHandler(new AArch64TargetRelocationHandler()) {} +static const Registry::KindStrings kindStrings[] = { +#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), +#include "llvm/Support/ELFRelocs/AArch64.def" +#undef ELF_RELOC + LLD_KIND_STRING_END +}; + void AArch64TargetHandler::registerRelocationNames(Registry ®istry) { registry.addKindTable(Reference::KindNamespace::ELF, Reference::KindArch::AArch64, kindStrings); @@ -40,12 +47,3 @@ std::unique_ptr<Writer> AArch64TargetHandler::getWriter() { llvm_unreachable("unsupported output type"); } } - -#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), - -const Registry::KindStrings AArch64TargetHandler::kindStrings[] = { -#include "llvm/Support/ELFRelocs/AArch64.def" - LLD_KIND_STRING_END -}; - -#undef ELF_RELOC diff --git a/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h b/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h index cbbe672467c..0d84fa07efc 100644 --- a/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h +++ b/lld/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h @@ -46,7 +46,6 @@ public: std::unique_ptr<Writer> getWriter() override; private: - static const Registry::KindStrings kindStrings[]; AArch64LinkingContext &_ctx; std::unique_ptr<AArch64TargetLayout<AArch64ELFType>> _aarch64TargetLayout; std::unique_ptr<AArch64TargetRelocationHandler> _aarch64RelocationHandler; diff --git a/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.cpp b/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.cpp index c9deacb7378..be64563a1e4 100644 --- a/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.cpp +++ b/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.cpp @@ -20,6 +20,13 @@ ARMTargetHandler::ARMTargetHandler(ARMLinkingContext &ctx) _armRelocationHandler( new ARMTargetRelocationHandler(*_armTargetLayout.get())) {} +static const Registry::KindStrings kindStrings[] = { +#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), +#include "llvm/Support/ELFRelocs/ARM.def" +#undef ELF_RELOC + LLD_KIND_STRING_END +}; + void ARMTargetHandler::registerRelocationNames(Registry ®istry) { registry.addKindTable(Reference::KindNamespace::ELF, Reference::KindArch::ARM, kindStrings); @@ -34,10 +41,3 @@ std::unique_ptr<Writer> ARMTargetHandler::getWriter() { llvm_unreachable("unsupported output type"); } } - -#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), - -const Registry::KindStrings ARMTargetHandler::kindStrings[] = { -#include "llvm/Support/ELFRelocs/ARM.def" - LLD_KIND_STRING_END -}; diff --git a/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h b/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h index d8bd0b70fb0..61b405f775c 100644 --- a/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h +++ b/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h @@ -78,7 +78,6 @@ public: std::unique_ptr<Writer> getWriter() override; private: - static const Registry::KindStrings kindStrings[]; ARMLinkingContext &_ctx; std::unique_ptr<ARMTargetLayout<ARMELFType>> _armTargetLayout; std::unique_ptr<ARMTargetRelocationHandler> _armRelocationHandler; diff --git a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp index 48032c3d30e..2c19ac9ebce 100644 --- a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp +++ b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp @@ -314,16 +314,14 @@ void elf::HexagonLinkingContext::addPasses(PassManager &pm) { ELFLinkingContext::addPasses(pm); } -void HexagonTargetHandler::registerRelocationNames(Registry ®istry) { - registry.addKindTable(Reference::KindNamespace::ELF, - Reference::KindArch::Hexagon, kindStrings); -} - +static const Registry::KindStrings kindStrings[] = { #define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), - -const Registry::KindStrings HexagonTargetHandler::kindStrings[] = { #include "llvm/Support/ELFRelocs/Hexagon.def" +#undef ELF_RELOC LLD_KIND_STRING_END }; -#undef ELF_RELOC +void HexagonTargetHandler::registerRelocationNames(Registry ®istry) { + registry.addKindTable(Reference::KindNamespace::ELF, + Reference::KindArch::Hexagon, kindStrings); +} diff --git a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h index ba00699f6c1..22c502c4c70 100644 --- a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h +++ b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h @@ -117,7 +117,6 @@ public: std::unique_ptr<Writer> getWriter() override; private: - static const Registry::KindStrings kindStrings[]; HexagonLinkingContext &_ctx; std::unique_ptr<HexagonRuntimeFile<HexagonELFType>> _runtimeFile; std::unique_ptr<HexagonTargetLayout<HexagonELFType>> _targetLayout; diff --git a/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp b/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp index f60ab63c6af..0391011ab30 100644 --- a/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp +++ b/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp @@ -12,15 +12,10 @@ using namespace lld; using namespace elf; -void MipsRelocationStringTable::registerTable(Registry ®istry) { - registry.addKindTable(Reference::KindNamespace::ELF, - Reference::KindArch::Mips, kindStrings); -} - +const Registry::KindStrings kindStrings[] = { #define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), - -const Registry::KindStrings MipsRelocationStringTable::kindStrings[] = { #include "llvm/Support/ELFRelocs/Mips.def" +#undef ELF_RELOC 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_64_HI16), @@ -32,4 +27,7 @@ const Registry::KindStrings MipsRelocationStringTable::kindStrings[] = { LLD_KIND_STRING_END }; -#undef ELF_RELOC +void MipsRelocationStringTable::registerTable(Registry ®istry) { + registry.addKindTable(Reference::KindNamespace::ELF, + Reference::KindArch::Mips, kindStrings); +} diff --git a/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h b/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h index 3b979051c38..a1491b60e6d 100644 --- a/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h +++ b/lld/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h @@ -92,8 +92,6 @@ public: /// \brief Auxiliary class holds relocation's names table. class MipsRelocationStringTable { - static const Registry::KindStrings kindStrings[]; - public: static void registerTable(Registry ®istry); }; diff --git a/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp b/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp index bf9fed63e9d..05cbc224596 100644 --- a/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp +++ b/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp @@ -33,15 +33,13 @@ std::unique_ptr<Writer> X86TargetHandler::getWriter() { } } +static const Registry::KindStrings kindStrings[] = { #define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), - -const Registry::KindStrings X86TargetHandler::kindStrings[] = { #include "llvm/Support/ELFRelocs/i386.def" +#undef ELF_RELOC LLD_KIND_STRING_END }; -#undef ELF_RELOC - void X86TargetHandler::registerRelocationNames(Registry ®istry) { registry.addKindTable(Reference::KindNamespace::ELF, Reference::KindArch::x86, kindStrings); diff --git a/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.h b/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.h index 7d712a71729..5b0af78d3d2 100644 --- a/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.h +++ b/lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.h @@ -46,7 +46,6 @@ public: std::unique_ptr<Writer> getWriter() override; protected: - static const Registry::KindStrings kindStrings[]; X86LinkingContext &_ctx; std::unique_ptr<X86TargetLayout<X86ELFType>> _x86TargetLayout; std::unique_ptr<X86TargetRelocationHandler> _x86RelocationHandler; diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp index 5c0b13b7535..558754c6e88 100644 --- a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp +++ b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp @@ -21,6 +21,14 @@ X86_64TargetHandler::X86_64TargetHandler(X86_64LinkingContext &ctx) _x86_64RelocationHandler( new X86_64TargetRelocationHandler(*_x86_64TargetLayout.get())) {} +static const Registry::KindStrings kindStrings[] = { +#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), +#include "llvm/Support/ELFRelocs/x86_64.def" +#undef ELF_RELOC + LLD_KIND_STRING_ENTRY(LLD_R_X86_64_GOTRELINDEX), + LLD_KIND_STRING_END +}; + void X86_64TargetHandler::registerRelocationNames(Registry ®istry) { registry.addKindTable(Reference::KindNamespace::ELF, Reference::KindArch::x86_64, kindStrings); @@ -40,13 +48,3 @@ std::unique_ptr<Writer> X86_64TargetHandler::getWriter() { llvm_unreachable("unsupported output type"); } } - -#define ELF_RELOC(name, value) LLD_KIND_STRING_ENTRY(name), - -const Registry::KindStrings X86_64TargetHandler::kindStrings[] = { -#include "llvm/Support/ELFRelocs/x86_64.def" - LLD_KIND_STRING_ENTRY(LLD_R_X86_64_GOTRELINDEX), - LLD_KIND_STRING_END -}; - -#undef ELF_RELOC diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h index 4968ac31032..2870aa77fd4 100644 --- a/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h +++ b/lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h @@ -50,7 +50,6 @@ public: std::unique_ptr<Writer> getWriter() override; protected: - static const Registry::KindStrings kindStrings[]; X86_64LinkingContext &_ctx; std::unique_ptr<X86_64TargetLayout> _x86_64TargetLayout; std::unique_ptr<X86_64TargetRelocationHandler> _x86_64RelocationHandler; |