[PATCH] Fix ilogb exception and errno (bug 6794)

Andreas Jaeger aj@suse.com
Tue Apr 17 19:10:00 GMT 2012


On 04/11/2012 09:30 PM, Adhemerval Zanella wrote:
> Following Joseph comments about bug 6794, here is a proposed fix. It turned out
> to be a large fix mainly because I had to move some file along to follow libm
> files/names conventions.
>
> Basically I have added wrappers (w_ilogb.c, w_ilogbf.c, w_ilogbl.c) that now calls
> the symbol '__ieee754_ilogb'. The wrappers checks for '__ieee754_ilogb' output and
> set the errno and raise exceptions as expected.
>
> The '__ieee754_ilogb' is implemented in sysdeps. I have moved the 's_ilogb[f|l]' files
> to e_ilogb[f|l] and renamed the '__ilogb[f|l]' to '__ieee754_ilogb[f|l]'.
>
> I also found out a bug in i386 and x86-64 assembly coded ilogb implementation where
> it raises a FE_DIVBYZERO when argument is '0.0'. I corrected this issue as well.
>
> Finally I added the errno and FE_INVALID tests for 0.0, NaN and +-InF argument. Tested
> on i386, x86-64, ppc32 and ppc64.

thanks, this looks fine.

I'll commit it for you tomorrow since AFAIK you don't have commit access.

Andreas
-- 
  Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
   SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
    GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
     GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



More information about the Libc-alpha mailing list