[PATCH] D133092: [clang] fix generation of .debug_aranges with LTO

Paul Robinson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 7 14:30:37 PDT 2022


probinson added a reviewer: probinson.
probinson added a comment.

> Yeah, but it seems that it is not possible to use lld for PS4

It's correct that PS4 does not use lld.  PS5 does use lld (under a different name).
But, we don't use addLTOOptions() for either PS4 or PS5, so this patch doesn't affect (or help) them.  I'm okay with saying we'll need to deal with that case separately.

> P.S. although this looks like a hack, since none of -mllvm was passed to the lld before.

PS4CPU.cpp actually does have a case where we pass "-mllvm -enable-jmc-instrument" to lld, so you are not breaking new ground here.



================
Comment at: clang/lib/Driver/ToolChains/CommonArgs.cpp:511
+    // NOTE: That it is not possible to use lld for PS4, hence no need to
+    // handle SCE (like in Clang.cpp::renderDebugOptions())
+    bool NeedAranges = Args.hasArg(options::OPT_gdwarf_aranges);
----------------
The note should really say "PS4/PS5 do not go through this path, hence ..."


================
Comment at: clang/test/Driver/debug-options.c:379
+// LDGARANGE-NOT: {{".*lld.*"}} {{.*}} "-generate-arange-section"
+// LLDGARANGE-DAG: {{".*lld.*"}} {{.*}} "-generate-arange-section"
 //
----------------
You don't need to use -DAG on LLDGARANGE, because it's used only once and not combined with other prefixes.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133092/new/

https://reviews.llvm.org/D133092



More information about the cfe-commits mailing list