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 Message-Id: <4.3.1.2.20010319122131.0221cdd8@pop.ma.ultranet.com> X-Sender: lhall AT pop DOT ma DOT ultranet DOT com X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Mon, 19 Mar 2001 12:32:12 -0500 To: "John Fortin" , From: "Larry Hall (RFK Partners, Inc)" Subject: Re: Building non-cygwin DLL with cyg-gcc In-Reply-To: <002b01c0afdb$6144eea0$3c906520@fortin> References: <20010318064139 DOT 88232 DOT qmail AT rootlabs DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" 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. >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