NetBSD-Bugs archive

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

Re: toolchain/43303: __builtin_huge_val() generates illegal code on vax

The following reply was made to PR toolchain/43303; it has been noted by GNATS.

From: "Michael L. Hitch" <>
Subject: Re: toolchain/43303: __builtin_huge_val() generates illegal code on
Date: Sat, 15 May 2010 13:10:36 -0600 (MDT)

 On Thu, 13 May 2010, wrote:
 > causes a SIGILL when run, the asm code that fails is:
 >      movd $0d+Inf,-12(%fp)
 >> Fix:
 > fix gcc's idea of __builtin_huge_val() for vax
    Hmmm...  It looks to me like atof_vax.c is missing the support for
 Nan, +Inf, and -Inf.  There's a comment at line 271 of 
            /* JF: Deal with new Nan, +Inf and -Inf codes.  */
    But it only checks for '+' and '-' in f->sign;  f->sign will contain 0 
 for Nan, 'P' for +Inf, and 'N' for -Inf (set by atof_generic()).  It
 then generates an invalid floating point number.
 Michael L. Hitch             
 Computer Consultant
 Information Technology Center
 Montana State University       Bozeman, MT     USA

Home | Main Index | Thread Index | Old Index