delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/02/23/19:21:55

From: ian AT cygnus DOT com (Ian Lance Taylor)
Subject: Re: Apologies
23 Feb 1998 19:21:55 -0800 :
Message-ID: <199802231710.MAA09092.cygnus.gnu-win32@subrogation.cygnus.com>
References: <0735634F16C8B011*/c=fr/admd=atlas/prmd=edfgdf/o=der/ou=der-ccmail/s=Obry/g=Pascal/@MHS>
To: Pascal DOT Obry AT der DOT edfgdf DOT fr
Cc: root AT jacob DOT remcomp DOT fr, gnu-win32 AT cygnus DOT com, noer AT cygnus DOT com

   Date: 23 Feb 1998 13:33:15 +0100
   From: Pascal OBRY <Pascal DOT Obry AT der DOT edfgdf DOT fr>

   It seem to me that there is some steps not needed !

     $(LD) --base-file BASEFILE --dll -o DLLNAME OBJS LIBS -e ENTRY

     $(DLLTOOL) --dllname DLLNAME --def DEFFILE --base-file BASEFILE
	   --output-exp EXPFILE --output-lib LIBFILE

     $(LD) EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY

   This make a relocatable DLL and the import library file (LIBFILE .a).
   This has worked fine everytime for me.

It's true that you can combine the --output-lib with an earlier
invocation of dlltool.  However, skipping the second round of dlltool
and ld can lead to trouble in certain cases, depending upon how your
linker script is set up, what you have in DEFFILE, and what exactly
goes into EXPFILE.  For example, if you use the DESCRIPTION keyword in
your DLL file, EXPFILE will put stuff into the .rdata section, which
can change the addresses of other sections, and invalidate the
BASEFILE and hence the EXPFILE.

If you know what you are doing, you can use a shorter procedure.  I
was describing a procedure which I hope will always work in every case
for everyone.

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