This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix two problems with reorder_blocks and debugging


On Fri, Jul 21, 2006 at 08:18:36PM -0700, Mark Mitchell wrote:
> Would you please say a bit more about the fix?  What's the origin?  I
> expected you to say (after the bit above), "so, I made sure both copies
> of B had the block's local variables".  But, thinking about it, that
> doesn't seem like it would be valid DWARF.  So, can you say a bit about
> what DWARF we emit with your patch and what the internal block/fragment
> tree looks like with your change?

You're supposed to emit the obvious A -> B -> C relationship.  DWARF
has syntax to express the disjoint ranges of blocks, and Richard wrote
all of this code to support that originally; I'm just cleaning up a
corner case.

The block tree only has subblocks from blocks with
BLOCK_FRAGMENT_ORIGIN == NULL, the first in each fragment chain.

> > I tested this patch by eye on x86_64-pc-linux-gnu (since neither the GCC nor
> > GDB testsuites exercise optimized debug info at the moment).  I also
> > regression tested it twice, once with strategic aborts in
> > reorder_fix_fragments to make sure it really wasn't doing anything.
> > 
> > OK to commit?
> 
> Can we write a testcase for this, in either the GCC or GDB testsuite?

Not yet.  GDB doesn't do squat with the data yet.  That's what I've
been working on the last few days.

> Do you know if this is a regression?  Is their optimized code that was
> more debuggable before?

I doubt it highly.  However, I'd like GCC fixed in advance of GDB
support for this information.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]