Subject: Re: Relocatable dll problems when generated by ld
From: [email-masked] (Ton van Overbeek)

11 Jul 1997 02:38:30 -0700
Sender: [email-masked]
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Original-To: [email-masked]
Original-Cc: [email-masked]
Original-Sender: [email-masked]

Jon,

Your problem with your improperly build threads.dll by ld smells like the infamous
problem of an improperly terminated import section.
Have you added the extra file fixup.c to your sources ?
--------------------------------- fixup.c -------------------------------
/* This is needed to terminate the list of inport stuff */
/* Copied from winsup/dcrt0.cc in the cygwin32 source distribution. */
	asm(".section .idata$3\n" ".long 0,0,0,0, 0,0,0,0");
-------------------------------------------------------------------------
Without this you will get listings like you got from
Microsoft's VC dumpbin.

Also your previous problem of converting a Microsoft import library (.lib)
file to a cygwin import library (libxxx.a) I would have done differently:
First produce a .def file from the .lib file. I do not know off hand if
the Microsoft LIB allows you to do this automatically.
Otherwise you would have to use nm, strip the leading underscores  and
manually edit it to a proper .def file. Note that dlltool does not like
the .def file to start with e.g. 'LIBRARY kernel32.lib'. It wants line 1
to be 'EXPORTS'. 
Then with the .def file produce the import library with
dlltool --def <name>.def --output-lib <name>.a
Hope this helps a bit.

Ton van Overbeek, [email-masked]
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".