Bruno, what else do you need to help debug this? It's crashing on an i686 installation of the most recent MirBSD (version 10, 20100815), using mgcc 3.4.6 (propolice; gpc; MirOS 0AAB). I don't yet know whether to suspect a compiler error, a buggy <float.h>, or faulty configure results; but this failure in turn means that vasprintf-posix fails.

$ grep '^#.#EXPBIT' config.log
#define FLT_EXPBIT0_WORD 0
#define FLT_EXPBIT0_BIT 23
#define LDBL_EXPBIT0_WORD 2
#define LDBL_EXPBIT0_BIT 0
$ gdb gltests/test-isnanl-nolibm
...
Breakpoint 1, main () at test-isnanl.h:50
50        ASSERT (!isnanl (3.141L));
(gdb) s
rpl_isnanl (x=3.1410000000000000142108547152020037) at isnan.c:98
98        m.value = x;
(gdb) n
99        exponent = (m.word[EXPBIT0_WORD] >> EXPBIT0_BIT) & EXP_MASK;
(gdb) p m
$1 = {value = 3.1410000000000000142108547152020037, word = {790273982,
    3372623069, 16384}}
(gdb) p/x m
$2 = {value = 0x3, word = {0x2f1a9fbe, 0xc90624dd, 0x4000}}
(gdb) n
110       if (exponent == 0)
(gdb) n
111         return (m.word[1] >> 31);
(gdb) fin
Run till exit from #0  rpl_isnanl (x=3.1410000000000000142108547152020037)
    at isnan.c:111
0x1c000732 in main () at test-isnanl.h:50
50        ASSERT (!isnanl (3.141L));
Value returned is $3 = 1
(gdb) p sizeof (long double)
12


--
Eric Blake   ebl...@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Reply via email to