From: Ian Lance Taylor <ian@zembu.com>
To: Daniel Berlin <dan@cgsoftware.com>
Cc: jhaller@lucent.com, jtc@redback.com, cgf@redhat.com,
gdb@sources.redhat.com, binutils@sources.redhat.com
Subject: Re: stabs vs. dwarf-2 for C programs
Date: Fri, 13 Apr 2001 20:22:00 -0000 [thread overview]
Message-ID: <sieluwtbbr.fsf@daffy.airs.com> (raw)
In-Reply-To: <m266g8s1iy.fsf@dynamic-addr-83-177.resnet.rochester.edu>
Daniel Berlin <dan@cgsoftware.com> writes:
> With things like dwarf2 dupe elimination implemented in compilers
> using linkonce sections, and relocations on debug info in object
> files, leaving the debugging info in the object files, is simply
> impossible. It's a hack. Nothing more or less.
Huh? Leaving the debugging information in object files is clearly not
impossible. You need a minimal amount of debugging information in the
executable: enough for it to determine which object file to check for
information about a particular address range. That is not impossible.
The debugger needs to process relocations at debug time. That is not
impossible.
Do you have a valid reason to reject this approach? I honestly don't
know why you are so critical. This is doable, and it would help.
> Why don't we try actually optimizing the reading/writing of files in
> ld?
>
> Other linkers are tons faster on the same size executables, without
> doing what he proposes.
>
> I suspect there is a reason for this.
Yes, if that's true, I'm sure there are reasons, and as the single
person most responsible for the present GNU linker code, it's quite
possible that any such reasons can be traced directly to me.
But I hope you don't think that nobody has ever tried to optimize the
linker. In fact, I've spent months on it. At one time, around 1995
or 1996, the speed of the linker was within 50% of the speed of cat
(on SunOS, for a.out). However, the addition of shared library
support has definitely slowed the linker down, as in the current
regime ELF relocations are processed twice--once to build the PLT and
GOT, and once to actually perform the relocations. At the time I
implemented it, I couldn't figure out an alternate approach. Perhaps
we can do so, with much more knowledge and familiarity with the
requirements.
Actually, as I've said before, I think the correct approach right now
is to write an ELF specific linker. The current linker is very
flexible, which is good, but that flexibility slows it down for the
most common uses.
Ian
next prev parent reply other threads:[~2001-04-13 20:22 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 [this message]
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
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=sieluwtbbr.fsf@daffy.airs.com \
--to=ian@zembu.com \
--cc=binutils@sources.redhat.com \
--cc=cgf@redhat.com \
--cc=dan@cgsoftware.com \
--cc=gdb@sources.redhat.com \
--cc=jhaller@lucent.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