diff options
author | Sergei Golubchik <serg@mariadb.org> | 2019-05-09 19:12:34 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2019-05-18 20:34:03 +0200 |
commit | 2400e06946bb5856684fd27ee86f610267bf4dc3 (patch) | |
tree | d27f225a2e102674c5b3cc4487a6f861154c4ca8 | |
parent | 2c08436959dc0b0a6a4a58f18114dd9987151396 (diff) | |
download | mariadb-git-2400e06946bb5856684fd27ee86f610267bf4dc3.tar.gz |
remove -fno-rtti
-rw-r--r-- | cmake/build_configurations/mysql_release.cmake | 2 | ||||
-rw-r--r-- | configure.cmake | 5 | ||||
-rw-r--r-- | storage/mroonga/CMakeLists.txt | 7 | ||||
-rw-r--r-- | storage/oqgraph/CMakeLists.txt | 25 | ||||
-rw-r--r-- | storage/rocksdb/CMakeLists.txt | 23 | ||||
-rw-r--r-- | storage/rocksdb/build_rocksdb.cmake | 2 | ||||
-rw-r--r-- | storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake | 1 |
7 files changed, 6 insertions, 59 deletions
diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake index 91650e5e206..171dee0b84d 100644 --- a/cmake/build_configurations/mysql_release.cmake +++ b/cmake/build_configurations/mysql_release.cmake @@ -207,7 +207,7 @@ IF(UNIX) IF(CMAKE_SYSTEM_NAME MATCHES "Linux") IF(CMAKE_C_COMPILER_ID MATCHES "Intel") SET(COMMON_C_FLAGS "-static-intel -static-libgcc -g -mp -restrict") - SET(COMMON_CXX_FLAGS "-static-intel -static-libgcc -g -mp -restrict -fno-exceptions -fno-rtti") + SET(COMMON_CXX_FLAGS "-static-intel -static-libgcc -g -mp -restrict -fno-exceptions") IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64") SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -no-ftz -no-prefetch") SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -no-ftz -no-prefetch") diff --git a/configure.cmake b/configure.cmake index 1404263e5a6..973312c7d2d 100644 --- a/configure.cmake +++ b/configure.cmake @@ -53,11 +53,6 @@ IF(NOT SYSTEM_TYPE) ENDIF() IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" AND (NOT MSVC)) - # MySQL "canonical" GCC flags. At least -fno-rtti flag affects - # ABI and cannot be simply removed. - SET(CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fno-rtti") - IF (CMAKE_EXE_LINKER_FLAGS MATCHES " -static " OR CMAKE_EXE_LINKER_FLAGS MATCHES " -static$") SET(HAVE_DLOPEN FALSE CACHE "Disable dlopen due to -static flag" FORCE) diff --git a/storage/mroonga/CMakeLists.txt b/storage/mroonga/CMakeLists.txt index cd50e7e022c..202b8582775 100644 --- a/storage/mroonga/CMakeLists.txt +++ b/storage/mroonga/CMakeLists.txt @@ -361,12 +361,7 @@ else() MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-unused-parameter") MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-strict-aliasing") MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-deprecated") - if(("${MYSQL_VARIANT}" STREQUAL "MariaDB") OR - ("${MYSQL_VARIANT}" STREQUAL "MySQL" AND - ${MYSQL_VERSION} VERSION_LESS "5.7.0")) - MY_CHECK_AND_SET_COMPILER_FLAG("-fno-exceptions") - MY_CHECK_AND_SET_COMPILER_FLAG("-fno-rtti") - endif() + MY_CHECK_AND_SET_COMPILER_FLAG("-fno-exceptions") MY_CHECK_AND_SET_COMPILER_FLAG("-felide-constructors") MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-implicit-fallthrough") endif() diff --git a/storage/oqgraph/CMakeLists.txt b/storage/oqgraph/CMakeLists.txt index 638ac00dc01..6199a648c2c 100644 --- a/storage/oqgraph/CMakeLists.txt +++ b/storage/oqgraph/CMakeLists.txt @@ -1,6 +1,6 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -FUNCTION(CHECK_OQGRAPH) +MACRO(CHECK_OQGRAPH) MESSAGE(STATUS "Configuring OQGraph") FIND_PACKAGE(Boost 1.40.0) IF(NOT Boost_FOUND) @@ -17,27 +17,8 @@ IF(NOT Judy_FOUND) RETURN() ENDIF() INCLUDE_DIRECTORIES(${Judy_INCLUDE_DIR}) - -IF(MSVC) -# # lp:756966 OQGRAPH on Win64 does not compile -# IF (CMAKE_SIZEOF_VOID_P EQUAL 8) -# SET(OQGRAPH_OK 0 CACHE INTERNAL "") -# ELSE() - SET(OQGRAPH_OK 1 CACHE INTERNAL "") -# ENDIF() -ELSE() -# See if that works. On old gcc it'll fail because of -fno-rtti -SET(CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIRS}") -CHECK_CXX_SOURCE_COMPILES( -" -#define BOOST_NO_RTTI 1 -#define BOOST_NO_TYPEID 1 -#include <boost/config.hpp> -#include <boost/property_map/property_map.hpp> -int main() { return 0; } -" OQGRAPH_OK) -ENDIF() -ENDFUNCTION() +SET(OQGRAPH_OK 1) +ENDMACRO() IF(NOT DEFINED OQGRAPH_OK) CHECK_OQGRAPH() diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index e4906638f6c..70f2f8b32e0 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -163,26 +163,6 @@ TARGET_LINK_LIBRARIES(rocksdb rocksdb_aux_lib) NAMES liblz4${PIC_EXT}.a lz4 HINTS ${WITH_LZ4}/lib) -IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - - # MARIAROCKS_NOT_YET: Add -frtti flag when compiling RocksDB files. - # TODO: is this the right way to do this? - # - SQL layer and storage/rocksdb/*.cc are compiled with -fnortti - # - RocksDB files are compiled with "-fnortti ... -frtti" - # - This causes RocksDB headers to be compiled with different settings: - # = with RTTI when compiling RocksDB - # = without RTTI when compiling storage/rocksdb/*.cc - # - # (facebook/mysql-5.6 just compiles everything without -f*rtti, which means - # everything is compiled with -frtti) - # - # (also had to add -frtti above, because something that event_listener.cc - # includes requires it. So, now everything in MariaRocks is compiled with - # -frtti) - set_source_files_properties(event_listener.cc rdb_cf_options.cc rdb_sst_info.cc - PROPERTIES COMPILE_FLAGS -frtti) -ENDIF() - CHECK_FUNCTION_EXISTS(sched_getcpu HAVE_SCHED_GETCPU) IF(HAVE_SCHED_GETCPU) ADD_DEFINITIONS(-DHAVE_SCHED_GETCPU=1) @@ -225,9 +205,6 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/myrocks_hotbackup.py ${CMAKE_CURRENT_BINARY_DIR}/myrocks_hotbackup @ONLY) INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/myrocks_hotbackup COMPONENT rocksdb-engine) -IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - SET_TARGET_PROPERTIES(rocksdb_tools sst_dump mysql_ldb PROPERTIES COMPILE_FLAGS -frtti) -ENDIF() IF(MSVC) # RocksDB, the storage engine, overdoes "const" by adding # additional const qualifiers to parameters of the overriden virtual functions diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake index c36c761f92f..aeb51188ffc 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake @@ -425,5 +425,5 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc) ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES}) target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -frtti") + set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp") endif() diff --git a/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake b/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake index f62bbd2726c..741ca9c64b2 100644 --- a/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake +++ b/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake @@ -73,7 +73,6 @@ set_cflags_if_supported( -Wno-error=tautological-constant-out-of-range-compare -Wno-error=maybe-uninitialized -Wno-error=extern-c-compat - -fno-rtti -fno-exceptions -Wno-error=nonnull-compare ) |