[compiler-rt] Handle non-canonical triples with new runtime lib layout
authorRainer Orth <ro@gcc.gnu.org>
Sun, 11 Sep 2022 09:25:53 +0000 (11:25 +0200)
committerRainer Orth <ro@gcc.gnu.org>
Sun, 11 Sep 2022 09:25:53 +0000 (11:25 +0200)
As described in Issue #54196
<https://github.com/llvm/llvm-project/issues/54196>, the ideas of `clang`
and `compiler-rt` where runtime libs are located with
`-DLLVM_ENABLE_RUNTIMES` can differ.  This is the `compiler-rt` side of the
patch I've used to get them in sync for the `amd64-pc-solaris2.11` and
`sparc64-unknown-linux-gnu` release builds.

Tested on  `amd64-pc-solaris2.11` and `sparc64-unknown-linux-gnu`.

Differential Revision: https://reviews.llvm.org/D133406

compiler-rt/cmake/Modules/CompilerRTUtils.cmake

index debd8a5..9c9024c 100644 (file)
@@ -484,6 +484,10 @@ function(get_compiler_rt_target arch variable)
     set(target "${COMPILER_RT_DEFAULT_TARGET_TRIPLE}")
   elseif(ANDROID AND ${arch} STREQUAL "i386")
     set(target "i686${triple_suffix}")
+  elseif(${arch} STREQUAL "amd64")
+    set(target "x86_64${triple_suffix}")
+  elseif(${arch} STREQUAL "sparc64")
+    set(target "sparcv9${triple_suffix}")
   else()
     set(target "${arch}${triple_suffix}")
   endif()