This is the mail archive of the
binutils@sources.redhat.com
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: "Charles Wilson" <cwilson at ece dot gatech dot edu>,"Ralf Habacker" <Ralf dot Habacker at freenet dot de>
- 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 08:57:05 +1000
- Subject: RE: ordinal linking for cygwin ld
> -----Original Message-----
> From: Charles Wilson [mailto:cwilson@ece.gatech.edu]
> Sent: Saturday, April 27, 2002 8:55 AM
> To: Ralf Habacker
> Cc: Kde-Cygwin; Binutils; Cygwin-Apps
> Subject: Re: ordinal linking for cygwin ld
>
>
> Ralf Habacker wrote:
>
> >>
> >>Since your app linked by ordinal, it will break if you try
> to run it
> >>with the new DLL, without re-linking.
> >>
> >
> > accepted
> >
> >
> >>So how does the vendor ensure that he doesn't unnecessarily break
> >>backwards compatibility, and keep the ordinals the same?
> By using a
> >>def file.
> >>
> >
> > Or be relinking all the libs.
>
>
> If *you* release new "compatible" libs with the ordinals
> different from
> the current libs, *my* application breaks. Or, you might get ripple
> effects: what if I distribute a dll that depends on KDE's
> libs, and Bob
> has an app that depends on my dll? Bob's app breaks because
> my dll is
> broken because you released new "compatible" libs. Not good
> -- and it'd
> take a while to track the problem down too: (a) I need to
> relink my dll,
> and give it to Bob, and then (and only then) (b) Bob can
> relink his app.
>
> Blech.
The PE spec (as I read it) indicates that as long as a name is included
(ie it's not link-only-by-ordinal) then ordinals can change and nothing
will break.
It's only when the only link information is the ordinal that problems
will appear.
Rob