Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Delivered-To: fixup-cygwin AT cygwin DOT com@fixme From: "Paul Garceau" Organization: New Dawn Productions To: cygwin AT cygwin DOT com Date: Mon, 19 Mar 2001 15:05:15 -0800 Subject: [2] Re: Building non-cygwin DLL with cyg-gcc Reply-to: Paul Garceau Message-ID: <3AB6202B.1685.2DEEA0@localhost> In-reply-to: <4.3.1.2.20010319122131.0221cdd8@pop.ma.ultranet.com> References: <002b01c0afdb$6144eea0$3c906520 AT fortin> X-mailer: Pegasus Mail for Win32 (v3.12c) On 19 Mar 2001, at 12:32, the Illustrious Larry Hall (RFK Partners, Inc wrote: > At 01:43 PM 3/18/2001, John Fortin wrote: > > > There seem to be two methods of building DLLs, the User Guide method > > > (invoke dlltool multiple times) and the recent Mailing List method > > > (use the undocumented --output-implib ld switch). If I do the ML > > > method, I get > > > > > > > gcc -Wl,--out-implib,file.a -shared -o file.dll file.o > > > Cannot export _bss_end__: symbol not defined > > > Cannot export _bss_start__: symbol not defined > > > Cannot export _data_end__: symbol not defined > > > Cannot export _data_start__: symbol not defined > > > Creating library file: Packet.a > > > collect2: ld returned 1 exit status > > > make: *** [main] Error 1 > > > >I'll ask this again... Is the above the expected result of using > >-shared...(?). No. In some cases the difference between what the switches "-shared" or "-mdll" does and can make a difference...try adding the following switch (either to your gcc line or use the "dlltool" command): "--export-all-symbols" and see how that works. > > Why is ld trying to export _bss_* and _data_*. Is it a > >requirement now to provide a .def file?? The mailing list archives > >talk a bit around this issue. > > > From what I understand, you get this if you export everything. In this > > case, you can end up with things looking for more than is really there. > A .def file stating exactly what you want to export resolves the > situation. My description of the details of this issue may be flawed > (and someone should correct me on these details), but I believe the > solution I suggest here to this problem is sound. > > > > Larry > > > -- > Want to unsubscribe from this list? > Check out: http://cygwin.com/ml/#unsubscribe-simple > > Nothing real can be threatened. Nothing unreal exists. -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple