llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang

@llvm/pr-subscribers-backend-hexagon

Author: None (quic-k)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/154530.diff


4 Files Affected:

- (modified) clang/lib/Driver/ToolChains/Hexagon.cpp (+7-6) 
- (modified) clang/test/Driver/hexagon-toolchain-linux.c (+5-5) 
- (modified) compiler-rt/cmake/caches/hexagon-linux-builtins.cmake (+1-1) 
- (modified) compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake (+1-2) 


``````````diff
diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp 
b/clang/lib/Driver/ToolChains/Hexagon.cpp
index 9f8b676fc7dc2..b47d5e371f9c0 100644
--- a/clang/lib/Driver/ToolChains/Hexagon.cpp
+++ b/clang/lib/Driver/ToolChains/Hexagon.cpp
@@ -380,7 +380,8 @@ constructHexagonLinkArgs(Compilation &C, const JobAction 
&JA,
 
       if (!Args.hasArg(options::OPT_nolibc))
         CmdArgs.push_back("-lc");
-      CmdArgs.push_back("-lclang_rt.builtins-hexagon");
+
+      CmdArgs.push_back("-lclang_rt.builtins");
     }
     if (D.CCCIsCXX()) {
       if (HTC.ShouldLinkCXXStdlib(Args))
@@ -547,11 +548,8 @@ HexagonToolChain::getSmallDataThreshold(const ArgList 
&Args) {
 }
 
 std::string HexagonToolChain::getCompilerRTPath() const {
-  SmallString<128> Dir(getDriver().SysRoot);
-  llvm::sys::path::append(Dir, "usr", "lib");
-  if (!SelectedMultilibs.empty()) {
-    Dir += SelectedMultilibs.back().gccSuffix();
-  }
+  SmallString<128> Dir(getDriver().ResourceDir);
+  llvm::sys::path::append(Dir, "lib", getDriver().getTargetTriple());
   return std::string(Dir);
 }
 
@@ -594,6 +592,9 @@ void HexagonToolChain::getHexagonLibraryPaths(const ArgList 
&Args,
     LibPaths.push_back(LibDirCpu);
     LibPaths.push_back(LibDir);
   }
+  if (getTriple().isMusl()) {
+    LibPaths.push_back(getCompilerRTPath());
+  }
 }
 
 HexagonToolChain::HexagonToolChain(const Driver &D, const llvm::Triple &Triple,
diff --git a/clang/test/Driver/hexagon-toolchain-linux.c 
b/clang/test/Driver/hexagon-toolchain-linux.c
index e791353cca07f..c76cd4249f06f 100644
--- a/clang/test/Driver/hexagon-toolchain-linux.c
+++ b/clang/test/Driver/hexagon-toolchain-linux.c
@@ -11,7 +11,7 @@
 // CHECK000-NOT:  
{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crti.o
 // CHECK000:      "-dynamic-linker={{/|\\\\}}lib{{/|\\\\}}ld-musl-hexagon.so.1"
 // CHECK000:      
"{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crt1.o"
-// CHECK000:      "-lc" "-lclang_rt.builtins-hexagon"
+// CHECK000:      "-lc" "-lclang_rt.builtins"
 // 
-----------------------------------------------------------------------------
 // Passing --musl --shared
 // 
-----------------------------------------------------------------------------
@@ -21,7 +21,7 @@
 // RUN:   --sysroot=%S/Inputs/basic_linux_libcxx_tree -shared %s 2>&1 | 
FileCheck -check-prefix=CHECK001 %s
 // CHECK001-NOT:    -dynamic-linker={{/|\\\\}}lib{{/|\\\\}}ld-musl-hexagon.so.1
 // CHECK001:        
"{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crti.o"
-// CHECK001:        "-lc" "-lclang_rt.builtins-hexagon"
+// CHECK001:        "-lc" "-lclang_rt.builtins"
 // CHECK001-NOT:    
{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crt1.o
 // 
-----------------------------------------------------------------------------
 // Passing --musl -nostdlib
@@ -34,7 +34,7 @@
 // CHECK002-NOT:   
{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crti.o
 // CHECK002-NOT:   
{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crt1.o
 // CHECK002-NOT:   "-lc"
-// CHECK002-NOT:   "-lclang_rt.builtins-hexagon"
+// CHECK002-NOT:   "-lclang_rt.builtins"
 // 
-----------------------------------------------------------------------------
 // Passing --musl -nostartfiles
 // 
-----------------------------------------------------------------------------
@@ -45,7 +45,7 @@
 // CHECK003:       
"-dynamic-linker={{/|\\\\}}lib{{/|\\\\}}ld-musl-hexagon.so.1"
 // CHECK003-NOT:   
{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}Scrt1.o
 // CHECK003-NOT:   
{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crt1.o
-// CHECK003:       "-lc" "-lclang_rt.builtins-hexagon"
+// CHECK003:       "-lc" "-lclang_rt.builtins"
 // 
-----------------------------------------------------------------------------
 // Passing --musl -nodefaultlibs
 // 
-----------------------------------------------------------------------------
@@ -56,7 +56,7 @@
 // CHECK004:       
"-dynamic-linker={{/|\\\\}}lib{{/|\\\\}}ld-musl-hexagon.so.1"
 // CHECK004:       
"{{.*}}basic_linux_libcxx_tree{{/|\\\\}}usr{{/|\\\\}}lib{{/|\\\\}}crt1.o"
 // CHECK004-NOT:   "-lc"
-// CHECK004-NOT:   "-lclang_rt.builtins-hexagon"
+// CHECK004-NOT:   "-lclang_rt.builtins"
 // 
-----------------------------------------------------------------------------
 // Passing --musl -nolibc
 // 
-----------------------------------------------------------------------------
diff --git a/compiler-rt/cmake/caches/hexagon-linux-builtins.cmake 
b/compiler-rt/cmake/caches/hexagon-linux-builtins.cmake
index d9c9ff2a4655e..96895da798089 100644
--- a/compiler-rt/cmake/caches/hexagon-linux-builtins.cmake
+++ b/compiler-rt/cmake/caches/hexagon-linux-builtins.cmake
@@ -1,6 +1,6 @@
 set(CMAKE_ASM_FLAGS "-G0 -mlong-calls -fno-pic" CACHE STRING "")
 
-set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL "")
+set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "")
 set(LLVM_TARGET_TRIPLE hexagon-unknown-linux-musl CACHE STRING "")
 set(COMPILER_RT_DEFAULT_TARGET_TRIPLE hexagon-unknown-linux-musl CACHE STRING 
"")
 set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "")
diff --git a/compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake 
b/compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
index 4f1d67dcb38e0..2b1feaf874e63 100644
--- a/compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
+++ b/compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
@@ -1,5 +1,4 @@
-
-set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL "")
+set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "")
 set(LLVM_DEFAULT_TARGET_TRIPLE hexagon-unknown-linux-musl CACHE STRING "")
 
 set(COMPILER_RT_USE_LLVM_UNWINDER ON CACHE BOOL "")

``````````

</details>


https://github.com/llvm/llvm-project/pull/154530
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to