From: Daniel Berlin <dan@cgsoftware.com>
To: Geoff Keating <geoffk@redhat.com>
Cc: jtc@redback.com, gdb@sourceware.cygnus.com,
binutils@sourceware.cygnus.com
Subject: Re: stabs vs. dwarf-2 for C programs
Date: Thu, 12 Apr 2001 22:37:00 -0000 [thread overview]
Message-ID: <m21yqx2wdl.fsf@dynamic-addr-83-177.resnet.rochester.edu> (raw)
In-Reply-To: <200104130500.WAA02095@geoffk.org>
Geoff Keating <geoffk@geoffk.org> writes:
> > From: jtc@redback.com (J.T. Conklin)
> > Date: 12 Apr 2001 19:13:26 -0700
>
> > In general, are there any advantages for using dwarf-2 over
> > stabs debugging symbols for C (not C++) programs?
>
> In general, dwarf-2 is much more expressive and can deal better
> with some of the more complex optimisations that gcc can do.
> (I don't know if this actually works yet.)
I just got it, building on the location list patch i submitted
yesterday, to track the splitting of iv's that occurs during loop
unrolling. Works great. It turns out most of the live_range stuff in
the fsf tree that were from the Cygnus live range implementation,
isn't needed. (We really only need the start/end of the range, and a
mapping of old->new registers. It used to have all kinds of info in
there to pass to the register allocator, since live range splitting
was a seperate pass.)
The new register allocator also needs the location lists because it
does all kinds of live range splitting, rematerialization, etc.
Unfortunately, even the live range hacks to stabs can't support this
kind of thing (they were limited to simple splitting of registers,
etc), but that's life. STABS never could support optimized
code debugging at all anyway. I'll probably just implement a simple
linear scan allocator for unoptimized code generation.
>
> > I did a quick test of rebuilding our system with dwarf-2 debug
> > symbols, and found that the image file grew from 35MB to 167MB
> > and link times nearly quadrupled, so dwarf-2 isn't looking so
> > good so far. If I had to guess, it looks like duplicate debug
> > info (from headers, etc.) isn't being eliminated as is done
> > for stabs.
>
> Yes, no-one has yet taught the linker how to eliminate all the
> duplicates.
And me being lazy, i taught the compiler how to do it instead, since
it was easier, and i didn't feel like the 3 days i spent doing it were
as wasted as the 3 weeks i spent trying to do it in LD.
Sometime this summer, i'll probably spend the 7 days to do it as a
linker prepass, called by ld.
>
> --
> - Geoffrey Keating <geoffk@geoffk.org>
--
There was a power outage at a department store yesterday.
Twenty people were trapped on the escalators.
prev parent reply other threads:[~2001-04-12 22:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-12 19:13 J.T. Conklin
2001-04-12 19:17 ` Christopher Faylor
2001-04-12 19:31 ` J.T. Conklin
2001-04-12 19:59 ` Daniel Berlin
2001-04-13 7:13 ` John Haller
2001-04-13 8:09 ` Daniel Berlin
2001-04-13 16:18 ` Ian Lance Taylor
2001-04-13 18:39 ` Daniel Berlin
2001-04-13 20:22 ` Ian Lance Taylor
2001-04-13 22:01 ` Daniel Berlin
2001-04-13 22:19 ` Ian Lance Taylor
2001-04-13 22:37 ` DJ Delorie
2001-04-13 23:31 ` Daniel Berlin
2001-04-13 23:47 ` Daniel Berlin
2001-04-13 23:51 ` Ian Lance Taylor
2001-04-13 22:56 ` Daniel Berlin
2001-04-13 23:40 ` Ian Lance Taylor
2001-04-13 23:55 ` Todd Whitesel
2001-04-12 19:55 ` Daniel Berlin
2001-04-12 23:37 ` Eli Zaretskii
2001-04-13 8:13 ` Daniel Berlin
2001-04-12 22:00 ` Geoff Keating
2001-04-12 22:37 ` Daniel Berlin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m21yqx2wdl.fsf@dynamic-addr-83-177.resnet.rochester.edu \
--to=dan@cgsoftware.com \
--cc=binutils@sourceware.cygnus.com \
--cc=gdb@sourceware.cygnus.com \
--cc=geoffk@redhat.com \
--cc=jtc@redback.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox