diff options
author | Alexey Kopytov <Alexey.Kopytov@sun.com> | 2010-06-15 18:52:47 +0400 |
---|---|---|
committer | Alexey Kopytov <Alexey.Kopytov@sun.com> | 2010-06-15 18:52:47 +0400 |
commit | c388c044e00d193801fee45fe9e3c0d7eac928e7 (patch) | |
tree | f9cf878ca653c2a8e0b0baf1d019e4c59ad84e46 /sql | |
parent | 3fc123c88ea0797fdf0e660dea0820c612df6bac (diff) | |
parent | d2e58e4e49f4c42c3c6b1220ccc0004ed6963192 (diff) | |
download | mariadb-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.cc | 6 |
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) |