lto gimple types and debug info

Mark Mitchell mark@codesourcery.com
Sat Jul 26 00:49:00 GMT 2008


Kenneth Zadeck wrote:

>   1) Screw the debugging.  The motivation behind this option is that
>   not only is it easy, but the reality is that we have changed the
>   program so much that even if we did "fix up the types" so that the
>   matched the generated program, that the code is so different from
>   what the user expected that (s)he could not even debug if anyway.

I think this would be very disappointing to users.  One of the 
long-standing advantages of GCC is that you can in fact do some level of 
debugging with optimized code.

It's true that if you tear apart structures, the debugger is going to 
have a hard time dealing with that at present, but it's also true that 
dropping all language-specific knowledge of types is going to make life 
very hard for users.  And it's not like you're always going to mangle 
things beyond recognition; tossing out all the debug info is throwing 
out the baby with the bathwater.

>   2) Generate the debugging for the types early, and then add an
>   interface that would parse and regenerate the debugging info with
>   the changes.  It is quite likely that this would lock gcc
>   completely into dwarf, but that appears to only be a problem for
>   AIX at this point, so that may not be that much of a problem.

This is the approach I would suggest.  Dump out the debug info for types 
before you throw away all the information, and then leave it aside.

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713



More information about the Gcc mailing list