diff options
author | Sergei Golubchik <serg@mariadb.org> | 2017-08-28 17:11:33 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2017-08-28 17:49:13 +0200 |
commit | 62139dc2e27080fe8e557d4a46ce5dbc1534ef33 (patch) | |
tree | 79bb03b2561036e24cf9ac264b89899478f22aa0 /configure.cmake | |
parent | 1a503b27864a0e1b90ef8e66a830e50a68f38246 (diff) | |
download | mariadb-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.cmake | 8 |
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) |