bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: Re: error.c: "Unknown system error" should report errno value


From: Martin Koeppe
Subject: Re: Fwd: Re: error.c: "Unknown system error" should report errno value
Date: Sat, 6 Oct 2007 00:19:46 +0200 (CEST)


Hi Jim,

On Wed, 3 Oct 2007, Jim Meyering wrote:

And yes, I'll of course try a new coreutils/gnulib version (but I
think in this case I shouldn't yet). Are there any coreutils snapshot
.tar.gz available?

Yes.  I made a new snapshot just a few hours ago, too:

 http://meyering.net/cu/coreutils-6.9-ss.tar.gz
 http://meyering.net/cu/coreutils-6.9-ss.tar.gz.sig

I now built the newer snapshot from 2-Oct-2007 and ran the tests. Long

Thanks.
The three that failed with 'Segmentation fault' look like
good candidates to investigate first.  Can you debug those?


the second and third (they occur when seq is run) are easy to explain, but probably difficult to fix...

The Interix libc is built with MSVC. MSVC has no long double data type. Ok, it understands "long double", but always maps that to 64-bit double. So libc's printf(), when it sees "%Lg", expects 64-bit double.

But Interix also has gcc. gcc OTOH has 80 bit long double (stored are 12 bytes). When I build seq with gcc, for the "%Lg" arg 12 bytes are reserved. This will crash then.

I don't know how to fix that... Is there a way to force seq to only use double, no long double? OTOH I plan to eventually port glibc to Interix some (very?) future day, as I also noticed several other problems with Interix's libc.

Are there other long double printf usages in coreutils which might be broken on Interix, too?

The first 'Segmentation fault' with dd doesn't occur when I run just the failing command in the src dir:
./dd cbs=4 ibs=4 conv=unblock,sync < dd-in > dd-out
dd-out looks fine there. So I don't currently know how to reproduce it...

Martin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]