[clang] [Clang][Hexagon] Use --cstdlib flag to choose Picolibc (PR #183257)

Alexey Karyakin via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 7 07:55:59 PDT 2026


================
@@ -443,12 +450,20 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA,
     CmdArgs.push_back("--start-group");
 
     if (!IsShared) {
-      for (StringRef Lib : OsLibs)
-        CmdArgs.push_back(Args.MakeArgString("-l" + Lib));
+      if (HTC.GetCStdlibType(Args) == ToolChain::CST_Picolibc) {
+        CmdArgs.push_back("-lsemihost");
+      } else {
+        for (StringRef Lib : OsLibs)
+          CmdArgs.push_back(Args.MakeArgString("-l" + Lib));
+      }
       if (!Args.hasArg(options::OPT_nolibc))
         CmdArgs.push_back("-lc");
     }
-    CmdArgs.push_back("-lgcc");
+    if (HTC.GetCStdlibType(Args) == ToolChain::CST_Picolibc) {
+      CmdArgs.push_back("-lclang_rt.builtins");
----------------
quic-akaryaki wrote:

User should be able to override the type of compiler RT. You can set the default type by overriding `GetDefaultRuntimeLibType()`.

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


More information about the cfe-commits mailing list