diff options
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 |