delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/07/11/02:38:30

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 <name>.def --output-lib <name>.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".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019