[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