diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-12-22 18:45:50 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-12-22 18:45:50 +0000 |
commit | f56f91245a0a5aa0facaa14b5608cfb761df7c38 (patch) | |
tree | 22f4e47bc078aa8e74c5943bcb75422fed2518a4 /ChangeLog | |
parent | 9d1fc928a4c3ab15b46945b0abdf7054a75cc010 (diff) | |
download | glibc-f56f91245a0a5aa0facaa14b5608cfb761df7c38.tar.gz glibc-f56f91245a0a5aa0facaa14b5608cfb761df7c38.tar.xz glibc-f56f91245a0a5aa0facaa14b5608cfb761df7c38.zip |
Split __kernel_standard* functions (fixes bug 17724).
Bug 17724 reports references to fesetround being brought in by ldbl-128ibm rintl via references to __rintl from __kernel_standard_l. Because all three __kernel_standard* functions are in the same file, this gets brought in even though only the long double version __kernel_standard_l needs __rintl, and the C90 functions use only __kernel_standard. This patch fixes this by splitting the three versions into separate files; it's fine for long double functions to refer to fe* functions directly, unless they get called by C90 double functions. Tested for x86_64 (testsuite; the reordering of code means disassembly of shared libraries can't usefully be compared). Tested for powerpc that the relevant issue disappears from the linknamespace test output. [BZ #17724] * sysdeps/ieee754/k_standard.c: Don't include <float.h>. (__kernel_standard_f): Remove. Moved to k_standardf.c. (__kernel_standard_l): Remove. Moved to k_standardl.c with (char *) casts added. * sysdeps/ieee754/k_standardf.c: New file. * sysdeps/ieee754/k_standardl.c: Likewise. * math/Makefile (libm-support): Remove k_standard. (libm-calls): Add k_standard.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index fb4b955058..481a2bd423 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2014-12-22 Joseph Myers <joseph@codesourcery.com> + + [BZ #17724] + * sysdeps/ieee754/k_standard.c: Don't include <float.h>. + (__kernel_standard_f): Remove. Moved to k_standardf.c. + (__kernel_standard_l): Remove. Moved to k_standardl.c with + (char *) casts added. + * sysdeps/ieee754/k_standardf.c: New file. + * sysdeps/ieee754/k_standardl.c: Likewise. + * math/Makefile (libm-support): Remove k_standard. + (libm-calls): Add k_standard. + 2014-12-22 Wilco Dijkstra <wdijkstr@arm.com> * sysdeps/aarch64/fpu/feenablxcpt.c (feenableexcept): |