<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 17, 2014 at 11:39 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Fri, Oct 17, 2014 at 11:32 AM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>----- Original Message -----<br>
> From: "David Blaikie" <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>
> To: "Hal Finkel" <<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>><br>
> Cc: "<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a> Developers" <<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a>>, "Eric Christopher" <<a href="mailto:echristo@google.com" target="_blank">echristo@google.com</a>><br>
> Sent: Friday, October 17, 2014 12:49:09 PM<br>
> Subject: Re: Should -g1 mean -gline-tables-only?<br>
><br>
> On Fri, Oct 17, 2014 at 10:37 AM, Hal Finkel < <a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a> ><br>
> wrote:<br>
><br>
><br>
> Hi,<br>
><br>
> Debugging flags are not my area of expertise, but GCC's manual says<br>
> about -g1:<br>
><br>
> [from GCC's man page]<br>
> Level 1 produces minimal information, enough for making backtraces in<br>
> parts of the program that you don't plan to debug.<br>
> This includes descriptions of functions and external variables, but<br>
> no information about local variables and no line numbers.<br>
><br>
><br>
><br>
> Sounds similar, apart from the "and external variables" part.<br>
><br>
> It'd be interesting to actually look at the output - I Suspect it<br>
> might be a bit more verbose than Clang's (or GCC's) -gmlt, maybe<br>
> including namespaces, mangled function names, whatever else.<br>
><br>
> I think maybe Google's GCC branch has -gmlt, but maybe it's not in<br>
> GCC proper? I don't really know/understand.<br>
><br>
><br>
> [end from GCC's man page]<br>
><br>
> and IBM's manual for xlc says about -g1:<br>
><br>
> [from IBM's man page]<br>
> Generates minimal read-only debugging information about line numbers<br>
> and source file names. No program state is preserved.<br>
><br>
><br>
> Sounds about right. Be interesting to know if that's just the line<br>
> table itself, or the inlining info that Clang's<br>
> -gmlt/-gline-tables-only produces as well (yeah, -gline-tables-only<br>
> is a bit of a half truth).<br>
<br>
</div></div>How could I tell? (I believe we have some kind of dwarf-dumping utility, but I don't know for what to look).<br></blockquote></div></div><div><br>llvm-dwarfdump is a utility for dumping DWARF debug information. Running it on an object file built with xlc's -g1 and see if there are many DW_TAGs in the debug_info section (ones describing each function, etc). If the only thing of note is the line table (debug_line section) then it's probably not producing the inlining info that we do in -gmlt. *shrug*<br><br>Anyway, it sounds like xlc's -g1 might be a bit less than Clang's -gmlt and GCC's -g1 might be a bit more than Clang's -gmlt. So if those are both valid interpretations of -g1, Clang's -gmlt should fit right in ;)</div></div></div></div></blockquote><div><br>Hmm, well I tried a few things with GCC 4.8's -g1 and I couldn't get it to produce debug info for a global (or namespaced) variable... so maybe the docs are just wrong and it is -gmlt.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><span class="HOEnZb"><font color="#888888"><br><br>- David<br> </font></span></div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks again,<br>
Hal<br>
<div><div><br>
><br>
><br>
> [end from IBM's man page]<br>
><br>
> this sounds to me a lot like what -gline-tables-only does. Is there a<br>
> reason we don't alias -g1 to -gline-tables-only? Currently, the code<br>
> in Clang::ConstructJob treats it just like -g.<br>
><br>
> Thanks again,<br>
> Hal<br>
><br>
> --<br>
> Hal Finkel<br>
> Assistant Computational Scientist<br>
> Leadership Computing Facility<br>
> Argonne National Laboratory<br>
><br>
><br>
<br>
--<br>
Hal Finkel<br>
Assistant Computational Scientist<br>
Leadership Computing Facility<br>
Argonne National Laboratory<br>
</div></div></blockquote></span></div><br></div></div>
</blockquote></div><br></div></div>