[clang] [Driver] Add linker options to support statical linking to shared flang-rt on AIX. (PR #131822)
Daniel Chen via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 18 08:14:15 PDT 2025
https://github.com/DanielCChen created https://github.com/llvm/llvm-project/pull/131822
This is to support statical linking to shared `flang-rt` on AIX.
Users should be able to do `flang -static t.f`. The `a.out` generated should not have dependencies on the shared libraries.
>From 491e6d0cdfb3095baf37d72e9fc61e53426cd472 Mon Sep 17 00:00:00 2001
From: Daniel Chen <cdchen at ca.ibm.com>
Date: Tue, 18 Mar 2025 11:09:41 -0400
Subject: [PATCH] [Driver] Add linker options to support statical linking to
shared flang-rt on AIX.
---
clang/lib/Driver/ToolChains/AIX.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Driver/ToolChains/AIX.cpp b/clang/lib/Driver/ToolChains/AIX.cpp
index 001f3a5178943..7ed26c42c80ce 100644
--- a/clang/lib/Driver/ToolChains/AIX.cpp
+++ b/clang/lib/Driver/ToolChains/AIX.cpp
@@ -127,8 +127,15 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,
}
// Force static linking when "-static" is present.
- if (Args.hasArg(options::OPT_static))
+ if (Args.hasArg(options::OPT_static)) {
CmdArgs.push_back("-bnso");
+ // The folllowing linker options are needed to statically link to the
+ // shared libflang_rt.runtime.a on AIX
+ CmdArgs.push_back("-bI:/usr/lib/syscalls.exp");
+ CmdArgs.push_back("-bI:/usr/lib/aio.exp");
+ CmdArgs.push_back("-bI:/usr/lib/threads.exp");
+ CmdArgs.push_back("-lcrypt");
+ }
// Add options for shared libraries.
if (Args.hasArg(options::OPT_shared)) {
More information about the cfe-commits
mailing list