This is the mail archive of the
mailing list for the binutils project.
RE: ordinal linking for cygwin ld
- From: "Robert Collins" <robert dot collins at itdomain dot com dot au>
- To: "Ralf Habacker" <Ralf dot Habacker at freenet dot de>,"Charles Wilson" <cwilson at ece dot gatech dot edu>
- Cc: "Kde-Cygwin" <kde-cygwin at kde dot org>,"Binutils" <binutils at sources dot redhat dot com>,"Cygwin-Apps" <cygwin-apps at cygwin dot com>
- Date: Sat, 27 Apr 2002 10:59:27 +1000
- Subject: RE: ordinal linking for cygwin ld
> -----Original Message-----
> From: Ralf Habacker [mailto:Ralf.Habacker@freenet.de]
> Sent: Saturday, April 27, 2002 10:55 AM
> > > Or ld has a switch to explicit use ordinals (see other mails from
> > > me)
> > I don't see what such a switch gains. The hint ordinal
> should provide
> > the same performance as an ordinal-only-link.
> By default ld does not use ordinals or linking. Only when an
> import lib does not contain names in the _nm_vector, ld takes
> the ordinal for linking (identified by flag_noname in
> pe-dll.c/ei386pe.c). Thats what I have used. I have patched
> ld to write the import library only with ordinals and ld does
> the rest. Only an additional patch for auto-imported date was
> necessary. (see the patch)
Well then, this is only half the puzzle. I can see what you gain from
such a patch, but as Chuck as indicated, it will cause -major-
difficulties in management.
A patch to use hint ordinals when linking by name would be _very_ useful
though, as that would
a) give the performance benefit you are looking for
b) allow backward compatible library versioning as link-by-name does.
We'd probably also need to ensure that strip leaves the names in the IAT
(I wasn't clear from your other email whether it does that or not).