[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-24 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe3bb359aacdd: [clang][Toolchains][Gnu] pass -g through to assembler (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SI

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Updating the description to note support for `-g` in gas looks like 2.16 (not 2.15) based on: $ git describe --contains 329e276daf98 --match 'bin*' binutils-2_16-branchpoint~2248 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://r

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Looks like binutils-gdb commit 329e276daf98fb4c8b3770a6c2f02fd22472a638 ("Add support for a -g switch to GAS") added support for -g. (I think the 2.15 release) But that was in 2004; llvm commit 3db3a3b0d5c56dc7da843236e244307c4ac64860 was in 2016... Repositor

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469300. nickdesaulniers added a comment. - delete test from clang/test/Driver/gcc_forward.c Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 Files: clang/lib

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Hmm... looks like this regresses 3db3a3b0d5c56dc7da843236e244307c4ac64860; I wonder what PR it was referring to? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 _

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136309#3871769 , @MaskRay wrote: > (Note that assembler synthesized debug info for assembly files is a very > minor feature. I don't know why the Linux kernel is so fond of it..). This is _required_ for symbolicating

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. (Note that assembler synthesized debug info for assembly files is a very minor feature. I don't know why the Linux kernel is so fond of it..). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: clang/test/Driver/as-options.s:120 + +// Test that -g is passed through to GAS. +// RUN: %clang -fno-integrated-as -g %s -### 2>&1 | \ nickdesaulniers wrote: > MaskRay wrote: > > -g can be tested along with other pass-th

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469280. nickdesaulniers added a comment. handle -g0 positionally Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 Files: clang/lib/Driver/ToolChains/Gnu.cpp

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. Many -g options unfortunately enable/disable debug info emission: -g, -g[0123], -ggdb[0123], etc. The full rules are very complex. I think it makes sense to support a subset which is mostly likely used, i.e. -g, -g[0123]. So you may check `OPT_g_Group` and possibly reus

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136309#3871599 , @nickdesaulniers wrote: > @MaskRay do you think I should make it so that `-g -g0` disables passing > through `-g`? Looks like this pattern can be used: if (const Arg *A = Args.getLastArg(options:

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @MaskRay do you think I should make it so that `-g -g0` disables passing through `-g`? Comment at: clang/test/Driver/as-options.s:120 + +// Test that -g is passed through to GAS. +// RUN: %clang -fno-integrated-as -g %s -### 2>&1 | \ --

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469256. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. - add triple, use Arg::AddLastArg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llv

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Paul Robinson via Phabricator via cfe-commits
probinson added inline comments. Comment at: clang/test/Driver/as-options.s:121 +// Test that -g is passed through to GAS. +// RUN: %clang -fno-integrated-as -g %s -### 2>&1 | \ +// RUN: FileCheck --check-prefix=CHECK-DEBUG %s Please use an explicit triple here

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-19 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay accepted this revision. MaskRay added a comment. This revision is now accepted and ready to land. LGTM. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:980 + if (Arg *A = Args.getLastArg(options::OPT_g_Flag)) +A->render(Args, CmdArgs); + Use `Args.

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I'm probably going to do something similar for `-gdwarf-N` as a follow up. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 ___

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: MaskRay. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We've been working around