about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--sysdeps/x86/fpu/bits/mathinline.h7
3 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e3a1f0a974..4508b54e82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-08-13  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	[BZ #17262]
+	* sysdeps/x86/fpu/bits/mathinline.h: Check both __SSE2_MATH__
+	and __x86_64__ when disabling x87 inline functions.
+
 2014-08-12  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #17259]
diff --git a/NEWS b/NEWS
index 03132e2896..ca01275aff 100644
--- a/NEWS
+++ b/NEWS
@@ -23,7 +23,7 @@ Version 2.20
   16977, 16978, 16984, 16990, 16996, 17009, 17022, 17031, 17042, 17048,
   17050, 17058, 17061, 17062, 17069, 17075, 17078, 17079, 17084, 17086,
   17088, 17092, 17097, 17125, 17135, 17137, 17150, 17153, 17213, 17259,
-  17261.
+  17261, 17262.
 
 * Reverted change of ABI data structures for s390 and s390x:
   On s390 and s390x the size of struct ucontext and jmp_buf was increased in
diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h
index 9c32e9503b..ee88b66050 100644
--- a/sysdeps/x86/fpu/bits/mathinline.h
+++ b/sysdeps/x86/fpu/bits/mathinline.h
@@ -384,7 +384,10 @@ __END_NAMESPACE_C99
 # endif
 #endif
 
-#ifndef __SSE2_MATH__
+/* Disable x87 inlines when -fpmath=sse is passed and also when we're building
+   on x86_64.  Older gcc (gcc-3.2 for example) does not set __SSE2_MATH__
+   for x86_64.  */
+#if !defined __SSE2_MATH__ && !defined __x86_64__
 # if ((!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
      && defined __OPTIMIZE__)
 
@@ -970,4 +973,4 @@ __inline_mathcode2 (__ieee754_atan2, __y, __x,
 		    return __value;)
 # endif
 
-#endif /* !__SSE2_MATH__ */
+#endif /* !__SSE2_MATH__ && !__x86_64__ */