From: H.J. Lu Date: Wed, 29 Jan 2014 15:51:41 +0000 (-0800) Subject: Disable x87 inline functions for SSE2 math X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e9586e58a55ea2a22b899bbb3adb5364f4b6596b;p=thirdparty%2Fglibc.git Disable x87 inline functions for SSE2 math When i386 and x86-64 mathinline.h was merged into a single mathinline.h, "gcc -m32" enables x87 inline functions on x86-64 even when -mfpmath=sse and SSE2 is enabled. It is a regression on x86-64. We should check __SSE2_MATH__ instead of __x86_64__ when disabling x87 inline functions. (cherry picked from commit 409e00bd69b8d8dd74d7327085351d26769ea6fc) Conflicts: ChangeLog NEWS sysdeps/x86/fpu/bits/mathinline.h --- diff --git a/ChangeLog b/ChangeLog index d823b1100c1..fa1ebb46015 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-01-29 H.J. Lu + + [BZ #16510] + * sysdeps/x86/fpu/bits/mathinline.h: Check __SSE2_MATH__ instead + of __x86_64__ when disabling x87 inline functions. + 2014-01-04 Maxim Kuvyrkov Ondřej Bílka diff --git a/NEWS b/NEWS index 2c5fb07f7bc..cf43b990f8b 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,8 @@ Version 2.16.1 * The following bugs are resolved with this release: - 6530, 14195, 14459, 14476, 14562, 14621, 14648, 14756, 14831, 15073 + 6530, 14195, 14459, 14476, 14562, 14621, 14648, 14756, 14831, 15073, + 16510. Version 2.16 diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h index 6446b1d8755..aba0b77cdc6 100644 --- a/sysdeps/x86/fpu/bits/mathinline.h +++ b/sysdeps/x86/fpu/bits/mathinline.h @@ -1,5 +1,5 @@ /* Inline math functions for i387 and SSE. - Copyright (C) 1995-2012 Free Software Foundation, Inc. + Copyright (C) 1995-2014 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -382,7 +382,7 @@ __END_NAMESPACE_C99 # endif #endif -#ifndef __x86_64__ +#ifndef __SSE2_MATH__ # if ((!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \ && defined __OPTIMIZE__) @@ -965,4 +965,4 @@ __inline_mathcode2 (__ieee754_atan2, __y, __x, return __value;) # endif -#endif /* !__x86_64__ */ +#endif /* !__SSE2_MATH__ */