aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2014-01-29 07:51:41 -0800
committerH.J. Lu <hjl.tools@gmail.com>2014-01-29 12:04:47 -0800
commitcec24099fb06c785b89119aab93940312c2949ba (patch)
tree556a28e3ec3dc194f9f3f097abbb641c6401d77e
parent3db0119ef56decc402827d5b84774fa4487f6cd4 (diff)
downloadglibc-cec24099fb06c785b89119aab93940312c2949ba.tar
glibc-cec24099fb06c785b89119aab93940312c2949ba.tar.gz
glibc-cec24099fb06c785b89119aab93940312c2949ba.tar.bz2
glibc-cec24099fb06c785b89119aab93940312c2949ba.zip
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
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--sysdeps/x86/fpu/bits/mathinline.h6
3 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 49bf8f9001..5246373dda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-01-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ [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 <maxim@kugelworks.com>
Ondřej Bílka <neleai@seznam.cz>
diff --git a/NEWS b/NEWS
index c9cf487624..9741841fc5 100644
--- a/NEWS
+++ b/NEWS
@@ -8,7 +8,7 @@ using `glibc' in the "product" field.
Version 2.17.1
* The following bugs are resolved with this release:
- 15003, 15006, 15073, 15122, 15759.
+ 15003, 15006, 15073, 15122, 15759, 16510.
Version 2.17
diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h
index 6446b1d875..aba0b77cdc 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__ */