----- Original Message -----
> From: "David Blaikie" <[email protected]>
> To: [email protected]
> Cc: "Hal Finkel" <[email protected]>, "Eric Christopher" <[email protected]>, 
> "llvm cfe" <[email protected]>
> Sent: Sunday, October 19, 2014 8:35:13 PM
> Subject: Re: [PATCH] Treat -g1 as -gline-tables-only
> 
> On Sun, Oct 19, 2014 at 4:06 PM, [email protected] < [email protected] >
> wrote:
> 
> 
> Hi echristo, dblaikie,
> 
> To follow-up on this thread on cfe-dev:
> http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-October/039649.html
> 
> -g1 on gcc (and also IBM's xlc) are documented to be very similar to
> -gline-tables-only. Our -gline-tables-only might still be more
> verbose than -g1 on other compilers, but currently we treat -g1 as
> -g, and so we're producing much more debug info at -g1 than
> everybody else. Treating -g1 as -gline-tables-only brings us much
> closer to what everyone else is doing.
> 
> 
> A follow-up: which user(s) did you have who hit problems with -g1? Do
> you know what /they/ want when they specify -g1? It'd be useful to
> at least have some actual user of -g1 with a documented use case so
> we know if we're meeting their needs, etc.

Okay, this is how the issue came up...

At our supercomputing facility, we have three compilers: IBM's xlc, gcc and 
clang (all customized for the BG/Q). The facility is responsible for analyzing 
all job failures, both for our own purposes, and to help our users diagnose and 
fix problems with their code (when their code is at fault). When running tens 
of thousands of processes in parallel, it is not feasible to generate full core 
files for every crash from every process (that could be hundreds of TB of data 
per crash), and so our kernel generates "light weight" core files. For the most 
part, these core files contain only enough information to reconstruct the stack 
backtrace, but not enough for interactive debugging. Nevertheless, as you might 
imagine, the backtraces themselves are very useful (compared to nothing), and 
are much more useful with line-table information (especially for C++ code). One 
proposal we've been evaluating is automatically adding -g1 to all compiles on 
the system, so that we can always get lin!
 e-table information for use with these light-weight core files. In order to 
add this to every compile, there needs to be only a small effect on 
compile/link times (the smaller the better -- and the line table information is 
really all we need). The fact that clang treats -g1 like -g (instead of 
generating much less debugging info like gcc/xlc do) was discovered in the 
process of evaluating this proposal.

I could obviously just "fix" this locally, but it seemed like it might be 
generally desirable behavior to better match gcc/xlc in this case (thus the 
thread on cfe-dev, etc.)

Thanks again,
Hal

> 
> 
> 
> http://reviews.llvm.org/D5862
> 
> Files:
> lib/Driver/Tools.cpp
> test/Driver/debug-options.c
> 
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to