summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorAlexey Kopytov <Alexey.Kopytov@sun.com>2010-06-15 18:52:47 +0400
committerAlexey Kopytov <Alexey.Kopytov@sun.com>2010-06-15 18:52:47 +0400
commitc388c044e00d193801fee45fe9e3c0d7eac928e7 (patch)
treef9cf878ca653c2a8e0b0baf1d019e4c59ad84e46 /sql
parent3fc123c88ea0797fdf0e660dea0820c612df6bac (diff)
parentd2e58e4e49f4c42c3c6b1220ccc0004ed6963192 (diff)
downloadmariadb-git-c388c044e00d193801fee45fe9e3c0d7eac928e7.tar.gz
Bug#52208: gis fails on some platforms (Solaris, HP-UX, Linux)
On [Open]Solaris/x86 the FPU was not switched to 64-bit double precision mode when the server binary was built with Sun Studio. That caused GIS test failures due to differences in expected and actual results.
Diffstat (limited to 'sql')
-rw-r--r--sql/mysqld.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index fbb497ed2cd..7968d637223 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -224,9 +224,9 @@ typedef fp_except fp_except_t;
# define fpu_control_t unsigned int
# define _FPU_EXTENDED 0x300
# define _FPU_DOUBLE 0x200
-# ifdef __GNUC__
-# define _FPU_GETCW(cw) __asm__ __volatile__("fnstcw %0" : "=m" (*&cw))
-# define _FPU_SETCW(cw) __asm__ __volatile__("fldcw %0" : : "m" (*&cw))
+# if defined(__GNUC__) || defined(__SUNPRO_CC)
+# define _FPU_GETCW(cw) asm volatile ("fnstcw %0" : "=m" (*&cw))
+# define _FPU_SETCW(cw) asm volatile ("fldcw %0" : : "m" (*&cw))
# else
# define _FPU_GETCW(cw) (cw= 0)
# define _FPU_SETCW(cw)