diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2012-04-11 16:30:13 -0300 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2012-04-17 22:12:53 +0200 |
commit | 76da7265320010c7a273ed99f53938c0f32d5fad (patch) | |
tree | f094871a5f38652d2d320a11423fee602a8746e6 /NEWS | |
parent | 0396e69dbefb3630651d93e0a7526c4326a071bb (diff) | |
download | glibc-76da7265320010c7a273ed99f53938c0f32d5fad.zip glibc-76da7265320010c7a273ed99f53938c0f32d5fad.tar.gz glibc-76da7265320010c7a273ed99f53938c0f32d5fad.tar.bz2 |
Fix ilogb exception and errno (bug 6794)
[BZ #6794]
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.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -12,16 +12,16 @@ Version 2.16 174, 350, 369, 411, 706, 2074, 2541, 2547, 2548, 2551, 2552, 2553, 2554, 2562, 2563, 2565, 2566, 2576, 2636, 2678, 3335, 3768, 3866, 3868, 3976, 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805, 5993, 6471, 6486, 6578, - 6649, 6730, 6770, 6884, 6890, 6894, 6895, 6907, 6911, 9739, 9902, 10110, - 10135, 10140, 10153, 10210, 10254, 10346, 10545, 10716, 11174, 11322, - 11365, 11451, 11494, 11521, 11959, 12047, 12340, 13058, 13525, 13526, - 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, - 13553, 13555, 13559, 13566, 13583, 13592, 13618, 13637, 13656, 13658, - 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13760, 13761, - 13786, 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851, 13852, - 13854, 13871, 13872, 13873, 13879, 13883, 13892, 13895, 13908, 13910, - 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, 13921, - 13926, 13928, 13938, 13963, 13967, 13973 + 6649, 6730, 6770, 6794, 6884, 6890, 6894, 6895, 6907, 6911, 9739, 9902, + 10110, 10135, 10140, 10153, 10210, 10254, 10346, 10545, 10716, 11174, + 11322, 11365, 11451, 11494, 11521, 11959, 12047, 12340, 13058, 13525, + 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, + 13552, 13553, 13555, 13559, 13566, 13583, 13592, 13618, 13637, 13656, + 13658, 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13760, + 13761, 13786, 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851, + 13852, 13854, 13871, 13872, 13873, 13879, 13883, 13892, 13895, 13908, + 13910, 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, + 13921, 13926, 13928, 13938, 13963, 13967, 13973 * ISO C11 support: |