delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/03/25/09:50:22

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <49CA46E2.80604@gmail.com>
Date: Wed, 25 Mar 2009 14:59:46 +0000
From: Dave Korn <dave DOT korn DOT cygwin AT googlemail DOT com>
User-Agent: Thunderbird 2.0.0.17 (Windows/20080914)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: [SOLVED] Re: under cygwin, zsh cannot run when built against ncurses9-5.7-13
References: <gpgeu9$iuo$1 AT ger DOT gmane DOT org> <Pine DOT LNX DOT 4 DOT 64 DOT 0903142203230 DOT 9859 AT gremlin DOT fruitbat DOT org> <49BF1770 DOT 9020007 AT gmail DOT com> <49C00B83 DOT 8050302 AT gmail DOT com> <20090317222721 DOT GB1505 AT ednor DOT casa DOT cgf DOT cx> <49C07781 DOT 1090702 AT gmail DOT com> <20090318053237 DOT GA31643 AT ednor DOT casa DOT cgf DOT cx> <49C09F09 DOT 3040804 AT gmail DOT com> <20090319103136 DOT GB26397 AT calimero DOT vinschen DOT de> <49CA2860 DOT 4090008 AT gmail DOT com> <20090325142928 DOT GC5286 AT ednor DOT casa DOT cgf DOT cx>
In-Reply-To: <20090325142928.GC5286@ednor.casa.cgf.cx>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
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

Christopher Faylor wrote:
> On Wed, Mar 25, 2009 at 12:49:36PM +0000, Dave Korn wrote:
>>  So the linker is DTRT, the problem has always existed but been masked by the
>> fact that nothing between -lm and -lcygwin used to import anything, the
>> problem has arisen now because now that does happen, and the solution is to
>> mung the symbols in the import top/tail sections in libm so that libm and
>> libcygwin both each add a complete import table entry of their own (there's no
>> problem having two import tables against the same DLL).  Once I've figured out
>> how that perl script works, I'll be able to suggest a patch.
> 
> Don't bother.  I'll look into it.

    Thanks.  As an experiment I tried adding (just after the line "0 while
s/$libdllname/$libname/sog;")

my $orig_iname="_cygwin1_dll_iname";
my $new_iname="_libm_dll_iname";
my $inamepad = length($orig_iname) - length($new_iname);
die "$0: library name too long (" . length($new_iname) . ")\n" if $inamepad < 0;
$new_iname .= "\0" x $inamepad;
0 while s/$orig_iname/$new_iname/sog;

... and although it produced a libm.a with the symbols I was hoping to see,
there's something wrong as the reference to _pow in zsh's math.o that was
previously pulling in libm.a(d0001286.o) fails to pull in anything from a libm
built with the above.  Didn't get as far as figuring out what I did wrong yet,
but if you're looking after it I'll get on with GCC stuff.

    cheers,
      DaveK

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