[clang] [compiler-rt] [llvm] [SPARC] Properly handle CC for long double on sparc32 (PR #162226)

via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 30 00:46:05 PST 2025


================
@@ -1009,9 +1009,10 @@ else ()
         list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
       endif()
 
-      # For RISCV32, we must force enable int128 for compiling long
+      # For RISCV32 and 32-bit SPARC, we must force enable int128 for compiling long
       # double routines.
-      if(COMPILER_RT_ENABLE_SOFTWARE_INT128 OR "${arch}" STREQUAL "riscv32")
+      if (COMPILER_RT_ENABLE_SOFTWARE_INT128 OR ("${arch}" MATCHES "riscv32|sparc$"
----------------
koachan wrote:

>From [this comment](https://github.com/llvm/llvm-project/pull/162226#issuecomment-3591836224):
> LLVM Buildbot has detected a new failure on builder `clang-solaris11-sparcv9` running on `solaris11-sparcv9` while building `clang,compiler-rt,llvm` at step 5 "ninja check 1".
> 
> Full details are available at: https://lab.llvm.org/buildbot/#/builders/13/builds/10834
> Here is the relevant piece of the build log for the reference

The errors seem to be about missing symbols for 128-bit ops like `__fixunstfdi`, `__multc3`, and friends.
Solaris seems to use `sparcv9` for the arch, so I guess I'll add it too.

https://github.com/llvm/llvm-project/pull/162226


More information about the cfe-commits mailing list