[cfe-commits] r167799 - /cfe/trunk/lib/Driver/Tools.cpp

Greg Clayton gclayton at apple.com
Tue Nov 13 12:06:01 PST 2012


On Nov 13, 2012, at 11:40 AM, Bill Wendling <isanbard at gmail.com> wrote:

> 
> On Nov 13, 2012, at 11:14 AM, Eric Christopher <echristo at gmail.com> wrote:
> 
>> 
>> 
>>> 
>> I talked with Greg and he said that accel tables wouldn't work with LTO.

They need to eventually work, but I don't need them to be correct yet since I will recalculate them when dsymutil is run (I ignore the compiler output and regenerate my own tables in dsymutil).

>> The problem is triggered even with `-gline-tables-only'. I don't have a small testcase, but you need to build LLVM with LTO and `-gline-tables-only' then run dwarfdump on it like I said.
>> 
>> 
>> That's curious, did he give a reason?
> 
> I think it had to do with messed up debug info. Greg, could you explain a bit more?

We don't need them for now. We will require a dSYM for LTO for a while until we can update LLDB to handle linking LTO dwarf in .o files. 

> 
>> You can have an accelerator table for a final executable. That said the accelerator tables make not sense for -gline-tables-only which could be causing you the problems you're see since there's very little info for the tables to work with and there could be issues there. There should be a DIE for each entry in the names table. What do, for example, those offsets give you?
>> 
> The offsets are bogus. I can't find them in the dwarfdump.
> 
>>> Do you have a particular set of output from the verify to show what's going on here?
>>> 
>> These are the first several lines of the verify output. It's big.
>> 
>> Not surprising as it's pretty heinous debug info at this point. So, what are the DIE offsets for those functions? llvm-dwarfdump doesn't dump them at the moment so you'll need to use dwarfdump to look for the functions.
>> 
> I'll take a look after lunch. I might be able to reduce a testcase to look at...
> 
> -bw
> 
> 




More information about the cfe-commits mailing list