From: Joseph Myers Date: Thu, 5 Nov 2015 17:00:31 +0000 (+0000) Subject: Don't redirect ldexp to scalbn in bits/math-finite.h (bug 19209). X-Git-Tag: glibc-2.23~222 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fed86556b7e162d2926f0ba6a573ed193ff882f;p=thirdparty%2Fglibc.git Don't redirect ldexp to scalbn in bits/math-finite.h (bug 19209). bits/math-finite.h maps ldexp functions to corresponding scalbn functions. This is (a) a namespace bug for C90, which has ldexp but not scalbn, and (b) in any case useless, since the ldexp and scalbn functions have identical semantics (for floating-point types with radix 2), and since the fix for bug 6803 are actually aliases (presumably the mapping was based around the old bug of scalbn not setting errno). This patch removes the bogus redirections. Tested for x86_64 and x86. [BZ #19209] * math/bits/math-finite.h (ldexp): Remove declaration. (ldexpf): Likewise. (ldexpl): Likewise. --- diff --git a/ChangeLog b/ChangeLog index 90a4bb131dc..bc2bc6935ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2015-11-05 Joseph Myers + [BZ #19209] + * math/bits/math-finite.h (ldexp): Remove declaration. + (ldexpf): Likewise. + (ldexpl): Likewise. + [BZ #19205] * math/bits/math-finite.h (acosf): Condition declaration on [__USE_ISOC99]. diff --git a/NEWS b/NEWS index 2867ac0dd15..63ff0afbc13 100644 --- a/NEWS +++ b/NEWS @@ -22,7 +22,7 @@ Version 2.23 19003, 19007, 19012, 19016, 19018, 19032, 19046, 19048, 19049, 19050, 19059, 19071, 19074, 19076, 19077, 19078, 19079, 19085, 19086, 19088, 19094, 19095, 19124, 19125, 19129, 19134, 19137, 19156, 19174, 19181, - 19189, 19201, 19205. + 19189, 19201, 19205, 19209. * A defect in the malloc implementation, present since glibc 2.15 (2012) or glibc 2.10 via --enable-experimental-malloc (2009), could result in the diff --git a/math/bits/math-finite.h b/math/bits/math-finite.h index e5f11b2059c..5dd84065885 100644 --- a/math/bits/math-finite.h +++ b/math/bits/math-finite.h @@ -413,15 +413,6 @@ extern long double __REDIRECT_NTH (log2l, (long double), __log2l_finite); # endif #endif -/* ldexp. */ -extern double __REDIRECT_NTH (ldexp, (double, int), scalbn); -#ifdef __USE_ISOC99 -extern float __REDIRECT_NTH (ldexpf, (float, int), scalbnf); -# ifdef __MATH_DECLARE_LDOUBLE -extern long double __REDIRECT_NTH (ldexpl, (long double, int), scalbnl); -# endif -#endif - /* pow. */ extern double __REDIRECT_NTH (pow, (double, double), __pow_finite); #ifdef __USE_ISOC99