This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [ANNOUNCEMENT] Updated: binutils-20001029-2.tar.gz


Charles Wilson wrote:
> 
> Chris Faylor wrote:
> >
> > - Fix from DJ for getting ordinal values right when generating a DLL.
> >
> 
> I'm not convinced this actually did the trick.  I rebuilt libXpm-noX
> (which uses a def file with 'skipped' numbers -- since I want to keep
> the ordinals the same between the -X and the -noX versions, but the
> -noX is missing a few functions).

Hmmm...more experimentation shows that the problem seems to be related
to __declspec(dllexport)'ed functions that are not explicitly listed in
the def file.  When there are missing ordinals in the def file, the new
ld inserts the missingInTheDefFile-but-__declspec'ed functions to fill
in the holes.  However, those functions which ARE specified in the def
file DO get assigned the correct ordinal.

However, the OLD linker got really confused by the situation, and filled
in the 'holes' with *any* function -- thus screwing up the ordinals
occaisionally for the functions listed 'farther down' in the def file.  

So, I think this ld is A-OK.  Sorry for the false alarm.

(I 'fixed' my problem by explicitly listing EVERY declspec'ed in the def
file, using whatever wacky numbering scheme the OLD linker put into the
original libXpm dll.  The new linker obeys this, so the new libXpm dll
matches the old one.  Yay!

--Chuck

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]