This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: lto gimple types and debug info
- From: Mark Mitchell <mark at codesourcery dot com>
- To: Kenneth Zadeck <zadeck at naturalbridge dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>, Diego Novillo <dnovillo at google dot com>, "Hubicha, Jan" <jh at suse dot cz>, Richard Guenther <richard dot guenther at gmail dot com>, "Taylor, Ian Lance" <iant at google dot com>, Ollie Wild <aaw at google dot com>, "Maddox, Bill" <maddox at google dot com>, jason at redhat dot com, Rafael Espindola <espindola at google dot com>
- Date: Fri, 25 Jul 2008 17:23:12 -0700
- Subject: Re: lto gimple types and debug info
- References: <4888AD1F.7080007@naturalbridge.com>
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