diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2015-07-13 09:11:35 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2015-07-13 09:11:35 +0000 |
commit | b34a080701942dc6e9ab3dac7e9eb220022bad46 (patch) | |
tree | c212d81aff47096b24d8fb535e13a565fecf2241 /lld/lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp | |
parent | f8f780ccc5ad5f26e6473ffbbca71b4d7f98d255 (diff) | |
download | bcm5719-llvm-b34a080701942dc6e9ab3dac7e9eb220022bad46.tar.gz bcm5719-llvm-b34a080701942dc6e9ab3dac7e9eb220022bad46.zip |
[Mips] Support MIPS big-endian 32/64-bits targets
llvm-svn: 242014
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp b/lld/lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp index 0124b7b737c..b905fa5f3ab 100644 --- a/lld/lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp +++ b/lld/lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp @@ -18,7 +18,9 @@ using namespace lld::elf; std::unique_ptr<ELFLinkingContext> elf::createMipsLinkingContext(llvm::Triple triple) { - if (triple.getArch() == llvm::Triple::mipsel || + if (triple.getArch() == llvm::Triple::mips || + triple.getArch() == llvm::Triple::mipsel || + triple.getArch() == llvm::Triple::mips64 || triple.getArch() == llvm::Triple::mips64el) return llvm::make_unique<MipsLinkingContext>(triple); return nullptr; @@ -27,8 +29,12 @@ elf::createMipsLinkingContext(llvm::Triple triple) { static std::unique_ptr<TargetHandler> createTarget(llvm::Triple triple, MipsLinkingContext &ctx) { switch (triple.getArch()) { + case llvm::Triple::mips: + return llvm::make_unique<MipsTargetHandler<ELF32BE>>(ctx); case llvm::Triple::mipsel: return llvm::make_unique<MipsTargetHandler<ELF32LE>>(ctx); + case llvm::Triple::mips64: + return llvm::make_unique<MipsTargetHandler<ELF64BE>>(ctx); case llvm::Triple::mips64el: return llvm::make_unique<MipsTargetHandler<ELF64LE>>(ctx); default: |