diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-02-28 00:10:58 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-02-28 00:10:58 +0000 |
commit | 3a4d0a7c17d90d78d299122b44576576da7d9311 (patch) | |
tree | b86319c5dc6c1b39e9a6530121a446be615af0ad /lld/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp | |
parent | 985ff20a9caff5091ade54ddc2e21dd8ef016194 (diff) | |
download | bcm5719-llvm-3a4d0a7c17d90d78d299122b44576576da7d9311.tar.gz bcm5719-llvm-3a4d0a7c17d90d78d299122b44576576da7d9311.zip |
Remove the old ELF linker.
I think it is clear by now that the new linker is viable.
llvm-svn: 262158
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/lld/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp b/lld/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp deleted file mode 100644 index 74905b47820..00000000000 --- a/lld/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp +++ /dev/null @@ -1,64 +0,0 @@ -//===--------- lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp -------------===// -// -// The LLVM Linker -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "ARMLinkingContext.h" -#include "ARMRelocationPass.h" -#include "ARMTargetHandler.h" - -namespace lld { -namespace elf { - -std::unique_ptr<ELFLinkingContext> -createARMLinkingContext(llvm::Triple triple) { - if (triple.getArch() == llvm::Triple::arm) - return llvm::make_unique<ARMLinkingContext>(triple); - return nullptr; -} - -ARMLinkingContext::ARMLinkingContext(llvm::Triple triple) - : ELFLinkingContext(triple, llvm::make_unique<ARMTargetHandler>(*this)) {} - -void ARMLinkingContext::addPasses(PassManager &pm) { - auto pass = createARMRelocationPass(*this); - if (pass) - pm.add(std::move(pass)); - ELFLinkingContext::addPasses(pm); -} - -bool isARMCode(const DefinedAtom *atom) { - return isARMCode(atom->codeModel()); -} - -bool isARMCode(DefinedAtom::CodeModel codeModel) { - return !isThumbCode(codeModel); -} - -bool isThumbCode(const DefinedAtom *atom) { - return isThumbCode(atom->codeModel()); -} - -bool isThumbCode(DefinedAtom::CodeModel codeModel) { - return codeModel == DefinedAtom::codeARMThumb || - codeModel == DefinedAtom::codeARM_t; -} - -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 ARMLinkingContext::registerRelocationNames(Registry ®istry) { - registry.addKindTable(Reference::KindNamespace::ELF, Reference::KindArch::ARM, - kindStrings); -} - -} // namespace elf -} // namespace lld |