bug-gnulib
[Top][All Lists]
Advanced

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




reply via email to

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