summary refs log tree commit diff
path: root/NEWS
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2012-04-11 16:30:13 -0300
committerAndreas Jaeger <aj@suse.de>2012-04-17 22:12:53 +0200
commit76da7265320010c7a273ed99f53938c0f32d5fad (patch)
treef094871a5f38652d2d320a11423fee602a8746e6 /NEWS
parent0396e69dbefb3630651d93e0a7526c4326a071bb (diff)
downloadglibc-76da7265320010c7a273ed99f53938c0f32d5fad.tar.gz
glibc-76da7265320010c7a273ed99f53938c0f32d5fad.tar.xz
glibc-76da7265320010c7a273ed99f53938c0f32d5fad.zip
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--NEWS20
1 files changed, 10 insertions, 10 deletions
diff --git a/NEWS b/NEWS
index 9812e0e56f..7ccb50b848 100644
--- a/NEWS
+++ b/NEWS
@@ -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: