summaryrefslogtreecommitdiff
path: root/configure.cmake
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2017-08-28 17:11:33 +0200
committerSergei Golubchik <serg@mariadb.org>2017-08-28 17:49:13 +0200
commit62139dc2e27080fe8e557d4a46ce5dbc1534ef33 (patch)
tree79bb03b2561036e24cf9ac264b89899478f22aa0 /configure.cmake
parent1a503b27864a0e1b90ef8e66a830e50a68f38246 (diff)
downloadmariadb-git-62139dc2e27080fe8e557d4a46ce5dbc1534ef33.tar.gz
MDEV-13656 10.3 does not build on CentOS 5 x86
Force -march=i686 (just like innodb used to do for years). And disable query_response_time plugin, it fails to compile with /mnt/server/plugin/query_response_time/query_response_time.cc:279: error: unable to find a register to spill in class ‘GENERAL_REGS’ /mnt/server/plugin/query_response_time/query_response_time.cc:279: error: this is the insn: (insn:HI 70 69 71 9 /mnt/server/include/my_atomic.h:194 (parallel [ (set (reg:DI 82) (mem/v:DI (plus:SI (reg/f:SI 79) (reg:SI 78)) [-1 S8 A32])) (set (mem/v:DI (plus:SI (reg/f:SI 79) (reg:SI 78)) [-1 S8 A32]) (unspec_volatile:DI [ (mem/v:DI (plus:SI (reg/f:SI 79) (reg:SI 78)) [-1 S8 A32]) (reg:DI 82) (reg:SI 83) (reg:SI 84) ] 10)) (set (reg:CCZ 17 flags) (compare:CCZ (unspec_volatile:DI [ (mem/v:DI (plus:SI (reg/f:SI 79) (reg:SI 78)) [-1 S8 A32]) (reg:DI 82) (reg:SI 83) (reg:SI 84) ] 11) (reg:DI 82))) ]) 1101 {*sync_double_compare_and_swap_ccdi_pic} (insn_list:REG_DEP_TRUE 68 (insn_list:REG_DEP_TRUE 69 (nil))) (expr_list:REG_DEAD (reg:SI 84) (expr_list:REG_DEAD (reg:SI 83) (nil))))
Diffstat (limited to 'configure.cmake')
-rw-r--r--configure.cmake8
1 files changed, 8 insertions, 0 deletions
diff --git a/configure.cmake b/configure.cmake
index 76e91bce4c0..079e0c1540c 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -65,6 +65,14 @@ IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
ENDIF()
ENDIF()
+# workaround for old gcc on x86, gcc atomic ops only work under -march=i686
+IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND CMAKE_COMPILER_IS_GNUCC AND
+ CMAKE_C_COMPILER_VERSION VERSION_LESS "4.4.0")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686")
+ SET(PLUGIN_QUERY_RESPONSE_TIME NO) # "error: unable to find a register to spill"
+ENDIF()
+
IF(WITHOUT_DYNAMIC_PLUGINS)
MESSAGE("Dynamic plugins are disabled.")
ENDIF(WITHOUT_DYNAMIC_PLUGINS)