[lld] 3a12001 - [lld][ELF] Recognize sparcv9 bitcode (#72609)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 17 13:16:24 PST 2023
Author: Brad Smith
Date: 2023-11-17T16:16:20-05:00
New Revision: 3a120019259c9ae44f41471de9072e721c859e7b
URL: https://github.com/llvm/llvm-project/commit/3a120019259c9ae44f41471de9072e721c859e7b
DIFF: https://github.com/llvm/llvm-project/commit/3a120019259c9ae44f41471de9072e721c859e7b.diff
LOG: [lld][ELF] Recognize sparcv9 bitcode (#72609)
Added:
lld/test/ELF/lto/sparcv9.ll
Modified:
lld/ELF/InputFiles.cpp
Removed:
################################################################################
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index e83cca31105d489..7ac737dab0519a8 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -1607,6 +1607,8 @@ static uint16_t getBitcodeMachineKind(StringRef path, const Triple &t) {
case Triple::riscv32:
case Triple::riscv64:
return EM_RISCV;
+ case Triple::sparcv9:
+ return EM_SPARCV9;
case Triple::x86:
return t.isOSIAMCU() ? EM_IAMCU : EM_386;
case Triple::x86_64:
diff --git a/lld/test/ELF/lto/sparcv9.ll b/lld/test/ELF/lto/sparcv9.ll
new file mode 100644
index 000000000000000..a4cdc6eafa4036a
--- /dev/null
+++ b/lld/test/ELF/lto/sparcv9.ll
@@ -0,0 +1,17 @@
+; REQUIRES: sparc
+;; Test we can infer the e_machine value EM_SPARCV9 from a bitcode file.
+
+; RUN: llvm-as %s -o %t.bc
+; RUN: ld.lld %t.bc -o %t
+; RUN: llvm-readobj -h %t | FileCheck %s
+
+; CHECK Class: 64-bit
+; CHECK: DataEncoding: BigEndian
+; CHECK: Machine: EM_SPARCV9
+
+target datalayout = "E-m:e-i64:64-n32:64-S128"
+target triple = "sparc64-unknown-elf"
+
+define void @_start() {
+ ret void
+}
More information about the llvm-commits
mailing list