llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Edd Dawson (playstation-edd) <details> <summary>Changes</summary> The PS4 linker doesn't accept an empty LTO options string. Passing nothing is also consistent with other drivers. SIE tracker: TOOLCHAIN-16575 --- Full diff: https://github.com/llvm/llvm-project/pull/101202.diff 2 Files Affected: - (modified) clang/lib/Driver/ToolChains/PS4CPU.cpp (+3-1) - (modified) clang/test/Driver/ps4-linker.c (+5) ``````````diff diff --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp b/clang/lib/Driver/ToolChains/PS4CPU.cpp index f883f29f0c8ca..a9e612c44da06 100644 --- a/clang/lib/Driver/ToolChains/PS4CPU.cpp +++ b/clang/lib/Driver/ToolChains/PS4CPU.cpp @@ -177,7 +177,9 @@ void tools::PS4cpu::Linker::ConstructJob(Compilation &C, const JobAction &JA, if (StringRef Threads = getLTOParallelism(Args, D); !Threads.empty()) AddLTOFlag(Twine("-threads=") + Threads); - CmdArgs.push_back(Args.MakeArgString(Twine("-lto-debug-options=") + LTOArgs)); + if (*LTOArgs) + CmdArgs.push_back( + Args.MakeArgString(Twine("-lto-debug-options=") + LTOArgs)); if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) TC.addSanitizerArgs(Args, CmdArgs, "-l", ""); diff --git a/clang/test/Driver/ps4-linker.c b/clang/test/Driver/ps4-linker.c index 449da3040e758..2a095d660bf36 100644 --- a/clang/test/Driver/ps4-linker.c +++ b/clang/test/Driver/ps4-linker.c @@ -16,3 +16,8 @@ // RUN: %clang --target=x86_64-scei-ps4 -flto=full -fcrash-diagnostics-dir=mydumps %s -### 2>&1 | FileCheck --check-prefixes=CHECK-DIAG-LTO %s // CHECK-DIAG-LTO: "-lto-debug-options= -crash-diagnostics-dir=mydumps" + +// Test that -lto-debug-options is only supplied to the linker when necessary + +// RUN: %clang --target=x86_64-scei-ps4 %s -### 2>&1 | FileCheck --check-prefixes=CHECK-NO-LTO %s +// CHECK-NO-LTO-NOT: -lto-debug-options `````````` </details> https://github.com/llvm/llvm-project/pull/101202 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits