From e8dab9477f33ab7a67405f4e147cbaa1a4bb443b Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 13 Oct 2015 00:52:54 +0000 Subject: Fix powerpc32 llrint, llrintf bad exceptions (bug 16422). The versions of llrint and llrintf for older powerpc32 processors convert the results of __rint / __rintf to long long int, resulting in spurious exceptions from such casts in certain cases. This patch makes glibc work around the problems with the libgcc conversions when the compiler used to build glibc doesn't use the fctidz instruction for them. Tested for powerpc. [BZ #16422] * sysdeps/powerpc/powerpc32/fpu/configure.ac (libc_cv_ppc_fctidz): New configure test. * sysdeps/powerpc/powerpc32/fpu/configure: Regenerated. * config.h.in [_LIBC] (HAVE_PPC_FCTIDZ): New macro. * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include , and . (__llrint): Avoid conversions to long long int where those might raise spurious exceptions. * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: Include and . (__llrintf): Avoid conversions to long long int where those might raise spurious exceptions. --- NEWS | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 512b338492..478ed2dadb 100644 --- a/NEWS +++ b/NEWS @@ -10,16 +10,16 @@ Version 2.23 * The following bugs are resolved with this release: 887, 2542, 2543, 2558, 2898, 4404, 6803, 10432, 14341, 14912, 15367, - 15384, 15470, 15786, 15918, 16141, 16296, 16347, 16399, 16415, 16517, - 16519, 16520, 16521, 16620, 16734, 16973, 16985, 17118, 17243, 17244, - 17250, 17441, 17787, 17886, 17887, 17905, 18084, 18086, 18240, 18265, - 18370, 18421, 18480, 18525, 18595, 18589, 18610, 18618, 18647, 18661, - 18674, 18675, 18681, 18724, 18757, 18778, 18781, 18787, 18789, 18790, - 18795, 18796, 18803, 18820, 18823, 18824, 18825, 18857, 18863, 18870, - 18872, 18873, 18875, 18887, 18921, 18951, 18952, 18956, 18961, 18966, - 18967, 18969, 18970, 18977, 18980, 18981, 18985, 19003, 19012, 19016, - 19018, 19032, 19046, 19049, 19050, 19059, 19071, 19076, 19077, 19078, - 19079, 19085, 19086, 19088, 19094, 19095. + 15384, 15470, 15786, 15918, 16141, 16296, 16347, 16399, 16415, 16422, + 16517, 16519, 16520, 16521, 16620, 16734, 16973, 16985, 17118, 17243, + 17244, 17250, 17441, 17787, 17886, 17887, 17905, 18084, 18086, 18240, + 18265, 18370, 18421, 18480, 18525, 18595, 18589, 18610, 18618, 18647, + 18661, 18674, 18675, 18681, 18724, 18757, 18778, 18781, 18787, 18789, + 18790, 18795, 18796, 18803, 18820, 18823, 18824, 18825, 18857, 18863, + 18870, 18872, 18873, 18875, 18887, 18921, 18951, 18952, 18956, 18961, + 18966, 18967, 18969, 18970, 18977, 18980, 18981, 18985, 19003, 19012, + 19016, 19018, 19032, 19046, 19049, 19050, 19059, 19071, 19076, 19077, + 19078, 19079, 19085, 19086, 19088, 19094, 19095. * The obsolete header has been removed. Programs that require this header must be updated to use instead. -- cgit v1.2.3