Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <4329D50B.6080804@familiehaase.de> Date: Thu, 15 Sep 2005 22:09:47 +0200 From: "Gerrit P. Haase" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.11) Gecko/20050728 MIME-Version: 1.0 To: Peter Ekberg CC: cygwin AT cygwin DOT com Subject: Re: Bug in gcc and/or binutils? References: <90459864DAD67D43BDD3D517DEFC2F7D05B22C AT axon DOT Axentia DOT local> In-Reply-To: <90459864DAD67D43BDD3D517DEFC2F7D05B22C@axon.Axentia.local> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Peter Ekberg wrote: > Hi! > > I have been looking at a failure in the testsuite in > libtool-cvs which I have reduced to the following > script. I have included the approximate output from > any program execed by it in comments along with > comments as to what is going wrong. > > $ gcc --version | head -1 > gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) > $ ld --version | head -1 > GNU ld version 2.16.91 20050610 > > Etc etc yada yada updated the Cygwin installation the > other day... > > This limitation is perhaps already known? Not that I'm aware of. I try to avoid using .def files anyway. But I can confirm that I get the same results. I suspect some change in binutils, at least also dlltool fails to create a proper import library when this .def file is used, just change the script like this to see: run gcc -shared -o a.dll a.o run dlltool --as=as --dllname a.dll --def a.def --output-lib a.bad.lib instead of: run gcc -shared a.def a.o -o a.dll -Wl,--out-implib,a.bad.lib However DATA handling was changed in gcc too. To avoid these kind of problems you must define whether you're exporting DATA or not, then it will work: ------------a.def--------------- EXPORTS v7 @1 DATA ------------a.def--------------- The old impgen tool included with libtool fails to proper declare whether some symbol is DATA or not. So IMO it is a bug in libtool. At first I thought it might be a problem with the D compiler frontend included with gcc because .d may trigger some special logic in gcc, however, trying the same with dlltool shows that this may not the reason for this issue. Thank you very much for this detailed analysis, I'll try to investigate further, because some of the Gnome base packages use .def files too, maybe this is the reason why I cannot get the Gnome desktop up and running with the latest releases. However, I see no apps crashing (besides Mozilla). Gerrit -- =^..^= -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/