ayermolo added inline comments.

================
Comment at: clang/include/clang/Basic/CodeGenOptions.def:35
 CODEGENOPT(AsmVerbose        , 1, 0) ///< -dA, -fverbose-asm.
+CODEGENOPT(Dwarf64           , 1, 0) ///< -gdwarf64.
 CODEGENOPT(PreserveAsmComments, 1, 1) ///< -dA, -fno-preserve-as-comments.
----------------
dblaikie wrote:
> ayermolo wrote:
> > dblaikie wrote:
> > > ayermolo wrote:
> > > > dblaikie wrote:
> > > > > ayermolo wrote:
> > > > > > ikudrin wrote:
> > > > > > > dblaikie wrote:
> > > > > > > > Is there any precedent to draw from for this flag name? (Does 
> > > > > > > > GCC support DWARF64? Does it support it under this flag name or 
> > > > > > > > some other? (similarly with other gcc-like compilers (Intel's? 
> > > > > > > > Whoever else... )))
> > > > > > > It looks like we are pioneering in that area. To me, the proposed 
> > > > > > > name looks consonant with other debug-related switches.
> > > > > > I didn't see any dwarf64 flags in gcc:
> > > > > > https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html
> > > > > > 
> > > > > > I tried to follow clang convention for other dwarf flags.
> > > > > Huh - tried making really big binaries or anything (or checking the 
> > > > > GCC source) to see if it does it implicitly under some conditions?
> > > > > Hmm - looks like this maybe came up at the Linux Plumbers Conference 
> > > > > & the suggested flag was -fdwarf64/32: 
> > > > > https://linuxplumbersconf.org/event/7/contributions/746/attachments/578/1018/DWARF5-64.pdf
> > > > >  (this avoids the "does g imply debug info" and avoids the subtle 
> > > > > distinction between "-gdwarf64 and -gdwarf-N" the presence of the '-' 
> > > > > changing the meaning of the number quite significantly). Though 
> > > > > hardly authoritative
> > > > > https://linuxplumbersconf.org/event/7/sessions/90/attachments/583/1201/dwarf-bof-notes-aug24-lpc-2020.txt
> > > > >  - seems some other options were (are?) under consideration too. 
> > > > > Might be worth touching base with the folks involved in those 
> > > > > discussions to see where they're at with regard to naming/support?
> > > > > 
> > > > > (they also touch on the "all units must agree" issue - so not sure if 
> > > > > the same folks involved in those discussions have also been included 
> > > > > in the discussions around debug info 32/64 sorting as another 
> > > > > approach that may avoid the "all units must agree" constraint (I 
> > > > > assume that's the reason they had that constraint))
> > > > In the DWARFV5-64 pdf it says 64 bit support has no patches and is 
> > > > after DWARF5. Although it's not clear if they are talking about DWARF64 
> > > > support for V5 or in general.
> > > > 
> > > > I have not hacked our build system to use gcc for builds that can 
> > > > overflow debug_info. I scanned through gcc code and was only able to 
> > > > find references to dwarf 64 in go library, and in dwarf2out.c. In 
> > > > latter it relies on DWARF_OFFSET_SIZE macro. 
> > > > 
> > > > I don't quite understand the "all [CU] units must agree" part either. 
> > > > From DWARF perspective we are free to match on CU level DWARF32/64, and 
> > > > consumer are free not to do anything beyond that. So if overflow 
> > > > occurs, will so be it. What we are trying to do in linker with sorting 
> > > > is being "nice" to the users, and kind of going beyond what spec 
> > > > requires.
> > > > 
> > > > Sounds like no conclusion was reached on their side, but only one of 
> > > > them -gdwarf64 follows naming convention of other debug flags.
> > > > > * -fdwarf64/-fdwarf32
> > > > >               * or -gdwarf32 or -gdwarf64
> > > > >               * or -gdbdwarf=32/64
> > > > 
> > > > 
> > > > 
> > > > 
> > > > only one of them -gdwarf64 follows naming convention of other debug 
> > > > flags.
> > > 
> > > There are many debug flags that don't use the '-g' prefix. 
> > > (-fdebug-types-section comes to mind, but I think - this was discussed in 
> > > depth earlier this year with regards to the -gsplit-dwarf flag, for 
> > > instance: https://www.mail-archive.com/gcc@gcc.gnu.org/msg92495.html - 
> > > though at least the DWARF64 flag doesn't have the legacy that 
> > > -gsplit-dwarf has that complicates things further there)
> > Ah, thanks for the context. My takeaway it's a mess. :)
> > Personally I find it more confusing that there are debug options that start 
> > with -f and -g, rather then that some -g enable debug output. When I look 
> > at documentation I just want to have see all the related options grouped in 
> > one area/one prefix, but that's just how my brain works.
> > That being said I don't have particular strong opinion about naming 
> > convention of this flag. Judging from that conversation, maybe there is 
> > some preference for -f, but mainly it was a big push against changing an 
> > option after it was introduced and proliferated. 
> Yep, bit of a mess - hence the concern about making it messier/trying to 
> drive in that general direction.
> 
> Could you reach out to the gcc mailing list, link the thread I linked, CC 
> myself (& anyone else from this review who seems interested) and any of the 
> folks you might be able to identify from the Plumbers conference or other 
> context that seems to have an interest in this & ask what they think the flag 
> should be?
> 
> I ask because so far as I can tell from prior experience, GCC is less likely 
> to adopt Clang's convention out of compatibility, so it's more on us to try 
> to pick something with some buy-in from their side of things lest we end up 
> with divergent flags or semantics.
Made a post: https://gcc.gnu.org/pipermail/gcc/2020-November/234290.html
CCed people in this review + Mark Wielaard.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D90507

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to