From: tvoverbe AT wk DOT estec DOT esa DOT nl (Ton van Overbeek) Subject: Re: Relocatable dll problems when generated by ld 11 Jul 1997 02:38:30 -0700 Sender: mail AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <9707110727.AA16370.cygnus.gnu-win32@wk.estec.esa.nl> Original-To: jont AT harlequin DOT co DOT uk Original-Cc: gnu-win32 AT cygnus DOT com Original-Sender: owner-gnu-win32 AT cygnus DOT com 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 .def --output-lib .a Hope this helps a bit. Ton van Overbeek, tvoverbe AT wk DOT estec DOT esa DOT nl - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".