[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: final snapshot in preparation for m4 1.4.12
From: |
Eric Blake |
Subject: |
Re: final snapshot in preparation for m4 1.4.12 |
Date: |
Mon, 29 Sep 2008 22:13:24 -0600 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17) Gecko/20080914 Thunderbird/2.0.0.17 Mnenhy/0.7.5.666 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Tom G. Christensen on 9/29/2008 1:00 PM:
>> Can you post the relevent section of config.log related to signbit tests?
>>
> I wasn't sure what parts would be considered relevant so I've dumped
> full config.log files and buildlogs at:
> http://jupiterrise.com/tmp
>
> One other thing I noticed is that configure can't find the signbit in a
> 'long double' on Irix 6.x:
> checking where to find the sign bit in a 'long double'... unknown
More pieces of the puzzle: when debugging test-signbit on Irix 6.2 as
compiled under native cc, I see:
(gdb) x/4x &minus_zerol
0x100141a0 <minus_zerol>: 0x00000000 0x00000000 0x00000000
0x00000000
(gdb) n
149 ASSERT (!signbit (-zerol));
(gdb) s
gl_signbitl (arg=0) at signbitl.c:48
48 if (isnanl (arg))
(gdb) x/4x &arg
0x7ffb7ed0: 0x80000000 0x00000000 0x80000000 0x00000000
which means that Irix 6.2 is using 2 doubles to compose a long double
(doesn't MacOS do that too?). minus_zerol is being miscompiled as 0.0L,
while -zerol is properly passed as -0.0L as the argument to gl_signbitl.
At least the compiler confessed its shortcomings, to some degree:
cc-1195 cc: WARNING File = test-signbit.c, Line = 151
The indicated floating-point operation result is out of range.
ASSERT (!signbit (1.0L / 0.0L));
^
cc-1195 cc: WARNING File = test-signbit.c, Line = 152
The indicated floating-point operation result is out of range.
ASSERT (signbit (-1.0L / 0.0L));
^
It would be really nice to get some feedback on the HP compiler bugs, so
we could compile -0.0L consistently across all platforms. Also, the
configure test should be taught how to recognize this style of composed
long doubles, and I suspect there are also some potential bugs in Irix if
bit patterns have conflicting sign bits (cf. x86 bugs regarding
pseudo-nans created by unexpected bit patterns).
- --
Don't work too hard, make some time for fun as well!
Eric Blake address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkjhp2QACgkQ84KuGfSFAYCNpQCeLM387m7xamSUWOXwP/9JtROw
yhgAn0L9SXdau2eyh3dtCj9IYtmaVpiC
=+Izu
-----END PGP SIGNATURE-----