[clang] [PS5][Driver] Pass default -z options to PS5 linker (PR #113162)

Paul T Robinson via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 22 08:45:32 PDT 2024


================
@@ -240,11 +242,32 @@ void tools::PS5cpu::Linker::ConstructJob(Compilation &C, const JobAction &JA,
   CmdArgs.push_back(
       Args.MakeArgString("--sysroot=" + TC.getSDKLibraryRootDir()));
 
-  // Default to PIE for non-static executables.
-  const bool PIE =
-      !Args.hasArg(options::OPT_r, options::OPT_shared, options::OPT_static);
-  if (Args.hasFlag(options::OPT_pie, options::OPT_no_pie, PIE))
-    CmdArgs.push_back("-pie");
+  if (!Relocatable) {
+    // Default to PIE for non-static executables.
+    const bool PIE = !Args.hasArg(options::OPT_shared, options::OPT_static);
+    if (Args.hasFlag(options::OPT_pie, options::OPT_no_pie, PIE))
+      CmdArgs.push_back("-pie");
----------------
pogo59 wrote:

Did you mean to include these changes in the PR? It looks like the old code would pass through an explicit `-pie` even with `-r`; the new code will (probably) diagnose that `-pie` as unused. This is likely a good thing, but is not mentioned in the commit message.

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


More information about the cfe-commits mailing list