delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/09/15/16:10:10

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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" <gerrit AT familiehaase DOT de>
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 <peda AT axentia DOT se>
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>
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/

- Raw text -


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