[clang] [Driver] Also use --no-as-needed when linking libatomic on Linux/Sparc (PR #65827)

Brad Smith via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 8 18:11:39 PDT 2023


https://github.com/brad0 created https://github.com/llvm/llvm-project/pull/65827:

None

>From 7d31337b87043828f96129e2aa2a02eaaccc3e5e Mon Sep 17 00:00:00 2001
From: Brad Smith <brad at comstyle.com>
Date: Fri, 8 Sep 2023 17:44:48 -0400
Subject: [PATCH] [Driver] Also use --no-as-needed when linking libatomic on
 Linux/Sparc

---
 clang/lib/Driver/ToolChains/Gnu.cpp | 1 +
 clang/test/Driver/linux-ld.c        | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index 7aeb8e29ebc5574..cca98a1b7d3d476 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -618,6 +618,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
         CmdArgs.push_back("--push-state");
         CmdArgs.push_back("--as-needed");
         CmdArgs.push_back("-latomic");
+        CmdArgs.push_back("--no-as-needed");
         CmdArgs.push_back("--pop-state");
       }
 
diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c
index 1e3666539de8c6b..9aea7a7110607ca 100644
--- a/clang/test/Driver/linux-ld.c
+++ b/clang/test/Driver/linux-ld.c
@@ -1031,7 +1031,7 @@
 // CHECK-SPARCV8: "{{.*}}ld{{(.exe)?}}"
 // CHECK-SPARCV8: "-m" "elf32_sparc"
 // CHECK-SPARCV8: "-dynamic-linker" "{{(/usr/sparc-unknown-linux-gnu)?}}/lib/ld-linux.so.2"
-// CHECK-SPARCV8: "--push-state" "--as-needed" "-latomic" "--pop-state"
+// CHECK-SPARCV8: "--push-state" "--as-needed" "-latomic" "--no-as-needed" "--pop-state"
 //
 // RUN: %clang -### %s -no-pie 2>&1 \
 // RUN:     --target=sparcel-unknown-linux-gnu \



More information about the cfe-commits mailing list