diff options
author | Jacek Caban <jacek@codeweavers.com> | 2023-10-12 12:49:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-12 12:49:16 +0200 |
commit | bf0534e8702a10c9085720711fde0cbbc532ac87 (patch) | |
tree | 37d0e5d7bbf70ea8d1099b82982533ec33de8eb6 /llvm/lib/Object/ArchiveWriter.cpp | |
parent | 6cf41ada44c812cbd58f5907f15df8a8ce1f3a74 (diff) | |
download | llvm-bf0534e8702a10c9085720711fde0cbbc532ac87.zip llvm-bf0534e8702a10c9085720711fde0cbbc532ac87.tar.gz llvm-bf0534e8702a10c9085720711fde0cbbc532ac87.tar.bz2 |
[llvm-lib] [Object] Use ECSYMBOLS section for ARM64EC importlib symbols. (#68328)
Diffstat (limited to 'llvm/lib/Object/ArchiveWriter.cpp')
-rw-r--r-- | llvm/lib/Object/ArchiveWriter.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Object/ArchiveWriter.cpp b/llvm/lib/Object/ArchiveWriter.cpp index aa74a2f..a67c657 100644 --- a/llvm/lib/Object/ArchiveWriter.cpp +++ b/llvm/lib/Object/ArchiveWriter.cpp @@ -18,6 +18,7 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/Object/Archive.h" #include "llvm/Object/COFF.h" +#include "llvm/Object/COFFImportFile.h" #include "llvm/Object/Error.h" #include "llvm/Object/IRObjectFile.h" #include "llvm/Object/MachO.h" @@ -659,6 +660,10 @@ static bool isECObject(object::SymbolicFile &Obj) { return cast<llvm::object::COFFObjectFile>(&Obj)->getMachine() != COFF::IMAGE_FILE_MACHINE_ARM64; + if (Obj.isCOFFImportFile()) + return cast<llvm::object::COFFImportFile>(&Obj)->getMachine() != + COFF::IMAGE_FILE_MACHINE_ARM64; + if (Obj.isIR()) { Expected<std::string> TripleStr = getBitcodeTargetTriple(Obj.getMemoryBufferRef()); |