This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: FW: strtoumax could not be located in...cygwin1.dll
- From: Christopher Faylor <me at cgf dot cx>
- To: cygwin-developers at cygwin dot com
- Date: Wed, 13 Jul 2005 11:41:34 -0400
- Subject: Re: FW: strtoumax could not be located in...cygwin1.dll
- References: <SERRANOXsI1JW63B4xf0000051b@SERRANO.CAM.ARTIMI.COM>
- Reply-to: cygwin-developers at cygwin dot com
On Wed, Jul 13, 2005 at 04:24:43PM +0100, Dave Korn wrote:
>----Original Message----
>>From: Dave Korn
>>Sent: 13 July 2005 16:13
>
>> ----Original Message----
>>> From: Eric Blake
>>> Sent: 13 July 2005 15:34
>>
>>> However, bash-3.0-7 requires cygwin-1.5.18 or better,
>>> because that is when strtoumax was introduced and bash uses it.
>>
>> Interesting. I tried to compile a simple test program that uses
>> strtoumax and it failed. My dll was built from freshly updated cvs on
>> 20050624; that's a fortnight after strtoumax was added (lacking
>> underscore) to cygwin.din. I think it _really_ isn't there.
>>
>> I'll try again with today's CVS and see what happens. Just FYI, though,
>> it doesn't seem to be exported from the most recent snapshot version of
>> the dll ....
>
> Um, ok, how does cygwin.din work? I really don't get what's going on
>here. I've got this in cygwin.din:
>
>Index: cygwin.din
>===================================================================
>RCS file: /cvs/src/src/winsup/cygwin/cygwin.din,v
>retrieving revision 1.142
>diff -p -u -r1.142 cygwin.din
>--- cygwin.din 9 Jul 2005 08:22:36 -0000 1.142
>+++ cygwin.din 13 Jul 2005 15:20:48 -0000
>@@ -1393,13 +1393,14 @@ strtol NOSIGFE
> _strtol = strtol NOSIGFE
> strtoll NOSIGFE
> _strtoll = strtoll NOSIGFE
>-strtoimax = strtoll NOSIGFE
>+_strtoimax = strtoll NOSIGFE
> strtosigno NOSIGFE
> strtoul NOSIGFE
> _strtoul = strtoul NOSIGFE
> strtoull NOSIGFE
> _strtoull = strtoull NOSIGFE
> strtoumax = strtoull NOSIGFE
>+_strtoumax = strtoull NOSIGFE
> strupr NOSIGFE
> _strupr = strupr NOSIGFE
> strxfrm NOSIGFE
>dk@mace /usr/build/src/winsup/cygwin>
>
>(note the two differing attempts I've tried for strtoumax and strtoimax;
>neither work), and I've got this in the generated cygwin.def:
>
>dk@mace /usr/build/obj/i686-pc-cygwin/winsup/cygwin> grep strtou cygwin.def
>strtoul
>_strtoul = strtoul
>strtoull
>_strtoull = strtoull
>strtoumax = strtoull
>_strtoumax = strtoull
>
>but I just don't have anysuch symbol in the generated dll:
>
>dk@mace /usr/build/obj/i686-pc-cygwin/winsup/cygwin> nm cygwin0.dll | grep
>strtou
>610cdbf0 T __strtoul_r
>610e3240 T __strtoull_r
>610cdd60 T _strtoul
>610cdd90 T _strtoull
>dk@mace /usr/build/obj/i686-pc-cygwin/winsup/cygwin>
>
> What am I missing?
The ' = ' affects the import library. I think the .din file is fine. You
just need to use the proper import library.
cgf