ordinal linking for cygwin ld

Robert Collins robert.collins@itdomain.com.au
Fri Apr 26 15:58:00 GMT 2002



> -----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



More information about the Binutils mailing list