diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp b/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp index eb98e4ba4041..ef0f19a78571 100644 --- a/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp +++ b/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/ELF.cpp @@ -14,6 +14,8 @@ #include "llvm/BinaryFormat/ELF.h" #include "llvm/ExecutionEngine/JITLink/ELF_aarch64.h" +#include "llvm/ExecutionEngine/JITLink/ELF_i386.h" +#include "llvm/ExecutionEngine/JITLink/ELF_loongarch.h" #include "llvm/ExecutionEngine/JITLink/ELF_riscv.h" #include "llvm/ExecutionEngine/JITLink/ELF_x86_64.h" #include "llvm/Object/ELF.h" @@ -67,10 +69,14 @@ createLinkGraphFromELFObject(MemoryBufferRef ObjectBuffer) { switch (*TargetMachineArch) { case ELF::EM_AARCH64: return createLinkGraphFromELFObject_aarch64(ObjectBuffer); + case ELF::EM_LOONGARCH: + return createLinkGraphFromELFObject_loongarch(ObjectBuffer); case ELF::EM_RISCV: return createLinkGraphFromELFObject_riscv(ObjectBuffer); case ELF::EM_X86_64: return createLinkGraphFromELFObject_x86_64(ObjectBuffer); + case ELF::EM_386: + return createLinkGraphFromELFObject_i386(ObjectBuffer); default: return make_error<JITLinkError>( "Unsupported target machine architecture in ELF object " + @@ -84,6 +90,10 @@ void link_ELF(std::unique_ptr<LinkGraph> G, case Triple::aarch64: link_ELF_aarch64(std::move(G), std::move(Ctx)); return; + case Triple::loongarch32: + case Triple::loongarch64: + link_ELF_loongarch(std::move(G), std::move(Ctx)); + return; case Triple::riscv32: case Triple::riscv64: link_ELF_riscv(std::move(G), std::move(Ctx)); @@ -91,6 +101,9 @@ void link_ELF(std::unique_ptr<LinkGraph> G, case Triple::x86_64: link_ELF_x86_64(std::move(G), std::move(Ctx)); return; + case Triple::x86: + link_ELF_i386(std::move(G), std::move(Ctx)); + return; default: Ctx->notifyFailed(make_error<JITLinkError>( "Unsupported target machine architecture in ELF link graph " + |
