aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ArchiveWriter.cpp
diff options
context:
space:
mode:
authorJacek Caban <jacek@codeweavers.com>2023-10-12 12:49:16 +0200
committerGitHub <noreply@github.com>2023-10-12 12:49:16 +0200
commitbf0534e8702a10c9085720711fde0cbbc532ac87 (patch)
tree37d0e5d7bbf70ea8d1099b82982533ec33de8eb6 /llvm/lib/Object/ArchiveWriter.cpp
parent6cf41ada44c812cbd58f5907f15df8a8ce1f3a74 (diff)
downloadllvm-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.cpp5
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());