Author: Daniel Chen Date: 2025-04-29T10:39:52-04:00 New Revision: 3f8035961f08d160851c40f7ac1f6e441149183c
URL: https://github.com/llvm/llvm-project/commit/3f8035961f08d160851c40f7ac1f6e441149183c DIFF: https://github.com/llvm/llvm-project/commit/3f8035961f08d160851c40f7ac1f6e441149183c.diff LOG: [driver] return immediately in `addArchSpecificRPath` and `getArchSpecificLibPaths` on AIX (#134520) `addArchSpecificRPath` should immediately return for AIX as AIX doesn't support `rpath` option. `getArchSpecificLibPaths` should return as well as we don't want `-L/ArchSepcificLibPaths` sent to the linker on AIX. Added: Modified: clang/lib/Driver/ToolChains/AIX.h clang/lib/Driver/ToolChains/CommonArgs.cpp flang/test/Driver/flang-ld-powerpc.f90 Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/AIX.h b/clang/lib/Driver/ToolChains/AIX.h index 8f130f6b54547..23c93aaf86ba8 100644 --- a/clang/lib/Driver/ToolChains/AIX.h +++ b/clang/lib/Driver/ToolChains/AIX.h @@ -98,6 +98,8 @@ class LLVM_LIBRARY_VISIBILITY AIX : public ToolChain { return llvm::DebuggerKind::DBX; } + path_list getArchSpecificLibPaths() const override { return path_list(); }; + protected: Tool *buildAssembler() const override; Tool *buildLinker() const override; diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 7cc4008ec1f2b..0406142fa916b 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1252,6 +1252,9 @@ void tools::addArchSpecificRPath(const ToolChain &TC, const ArgList &Args, options::OPT_fno_rtlib_add_rpath, false)) return; + if (TC.getTriple().isOSAIX()) // TODO: AIX doesn't support -rpath option. + return; + SmallVector<std::string> CandidateRPaths(TC.getArchSpecificLibPaths()); if (const auto CandidateRPath = TC.getStdlibPath()) CandidateRPaths.emplace_back(*CandidateRPath); diff --git a/flang/test/Driver/flang-ld-powerpc.f90 b/flang/test/Driver/flang-ld-powerpc.f90 index a58cb1629cadc..5328077ac21af 100644 --- a/flang/test/Driver/flang-ld-powerpc.f90 +++ b/flang/test/Driver/flang-ld-powerpc.f90 @@ -23,6 +23,7 @@ ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix{{/|\\\\}}libflang_rt.runtime.a" ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lm" ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lpthread" +! AIX64-LD-PER-TARGET-DEFAULT-NOT: "-L/[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix" ! Check powerpc64-ibm-aix 64-bit linking to static flang-rt by option _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits