https://github.com/DanielCChen updated https://github.com/llvm/llvm-project/pull/131822
>From 21f3ec3b644ea201e3aa15d18f74c795ccf120f3 Mon Sep 17 00:00:00 2001 From: Daniel Chen <cdc...@ca.ibm.com> Date: Tue, 18 Mar 2025 11:09:41 -0400 Subject: [PATCH 1/2] [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)) { >From 54eb891e4a9cb14830b680cd956edc85d40daff6 Mon Sep 17 00:00:00 2001 From: Daniel Chen <cdc...@ca.ibm.com> Date: Sat, 29 Mar 2025 13:22:31 -0400 Subject: [PATCH 2/2] Make the addtional import list for static linking for flang invocation only. --- clang/lib/Driver/ToolChains/AIX.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/clang/lib/Driver/ToolChains/AIX.cpp b/clang/lib/Driver/ToolChains/AIX.cpp index 7ed26c42c80ce..2692ef75a2198 100644 --- a/clang/lib/Driver/ToolChains/AIX.cpp +++ b/clang/lib/Driver/ToolChains/AIX.cpp @@ -129,12 +129,15 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, // Force static linking when "-static" is present. 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"); + + if (D.IsFlangMode()) { + // 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. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits