2018-01-09 19:28:29 +01:00
|
|
|
PATCH-P0-FIX-HACK: Not enforcing specific flags
|
|
|
|
|
|
|
|
Useing some CFLAGS from distribution and some enforced can and leads to the
|
|
|
|
conflicts like FORTIFY and -O0. Removing hardcoded options.
|
|
|
|
|
|
|
|
Maintainer: Michal Hrusecky <mhrusecky@suse.cz>
|
|
|
|
|
|
|
|
Index: CMakeLists.txt
|
|
|
|
===================================================================
|
|
|
|
--- CMakeLists.txt.orig
|
|
|
|
+++ CMakeLists.txt
|
2019-07-19 19:38:09 +02:00
|
|
|
@@ -236,7 +236,6 @@ IF(NOT WITH_TSAN)
|
|
|
|
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
|
|
|
|
MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now")
|
|
|
|
MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
|
|
|
|
- MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
|
|
|
|
ENDIF()
|
2018-01-09 19:28:29 +01:00
|
|
|
ENDIF()
|
|
|
|
|
|
|
|
Index: storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
|
|
|
|
===================================================================
|
|
|
|
--- storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake.orig
|
|
|
|
+++ storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
|
|
|
|
@@ -26,11 +26,9 @@ endif ()
|
|
|
|
if (CMAKE_VERSION VERSION_LESS 3.0)
|
|
|
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1)
|
|
|
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DRD TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1)
|
|
|
|
- set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DRD _FORTIFY_SOURCE=2)
|
|
|
|
else ()
|
|
|
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
|
|
|
|
$<$<OR:$<CONFIG:DEBUG>,$<CONFIG:DRD>>:TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1>
|
|
|
|
- $<$<CONFIG:DRD>:_FORTIFY_SOURCE=2>
|
|
|
|
)
|
|
|
|
endif ()
|
|
|
|
|
2019-07-19 19:38:09 +02:00
|
|
|
@@ -103,23 +101,23 @@ set_cflags_if_supported(
|
2018-09-27 12:25:00 +02:00
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions")
|
2018-01-09 19:28:29 +01:00
|
|
|
|
|
|
|
## set extra debugging flags and preprocessor definitions
|
|
|
|
-set(CMAKE_C_FLAGS_DEBUG "-g3 -O0 ${CMAKE_C_FLAGS_DEBUG}")
|
|
|
|
-set(CMAKE_CXX_FLAGS_DEBUG "-g3 -O0 ${CMAKE_CXX_FLAGS_DEBUG}")
|
|
|
|
+set(CMAKE_C_FLAGS_DEBUG "-g3 ${CMAKE_C_FLAGS_DEBUG}")
|
|
|
|
+set(CMAKE_CXX_FLAGS_DEBUG "-g3 ${CMAKE_CXX_FLAGS_DEBUG}")
|
|
|
|
|
|
|
|
## flags to use when we want to run DRD on the resulting binaries
|
|
|
|
## DRD needs debugging symbols.
|
|
|
|
## -O0 makes it too slow, and -O2 inlines too much for our suppressions to work. -O1 is just right.
|
|
|
|
-set(CMAKE_C_FLAGS_DRD "-g3 -O1 ${CMAKE_C_FLAGS_DRD}")
|
|
|
|
-set(CMAKE_CXX_FLAGS_DRD "-g3 -O1 ${CMAKE_CXX_FLAGS_DRD}")
|
|
|
|
+set(CMAKE_C_FLAGS_DRD "-g3 ${CMAKE_C_FLAGS_DRD}")
|
|
|
|
+set(CMAKE_CXX_FLAGS_DRD "-g3 ${CMAKE_CXX_FLAGS_DRD}")
|
|
|
|
|
|
|
|
## set extra release flags
|
|
|
|
## need to set flags for RelWithDebInfo as well because we want the MySQL/MariaDB builds to use them
|
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL Clang)
|
|
|
|
# have tried -flto and -O4, both make our statically linked executables break apple's linker
|
|
|
|
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
|
|
|
|
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
|
|
|
|
- set(CMAKE_C_FLAGS_RELEASE "-g -O3 ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
- set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
|
|
|
|
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
|
|
|
|
+ set(CMAKE_C_FLAGS_RELEASE "-g ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
+ set(CMAKE_CXX_FLAGS_RELEASE "-g ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
else ()
|
|
|
|
if (APPLE)
|
|
|
|
set(FLTO_OPTS "-fwhole-program")
|
2019-07-19 19:38:09 +02:00
|
|
|
@@ -127,10 +125,10 @@ else ()
|
2018-01-09 19:28:29 +01:00
|
|
|
set(FLTO_OPTS "-fuse-linker-plugin")
|
|
|
|
endif()
|
|
|
|
# we overwrite this because the default passes -DNDEBUG and we don't want that
|
|
|
|
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
|
|
|
|
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
|
|
|
|
- set(CMAKE_C_FLAGS_RELEASE "-g -O3 -flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
- set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 -flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
|
|
|
|
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
|
|
|
|
+ set(CMAKE_C_FLAGS_RELEASE "-g -flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
+ set(CMAKE_CXX_FLAGS_RELEASE "-g -flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "-g ${FLTO_OPTS} ${CMAKE_EXE_LINKER_FLAGS}")
|
|
|
|
set(CMAKE_SHARED_LINKER_FLAGS "-g ${FLTO_OPTS} ${CMAKE_SHARED_LINKER_FLAGS}")
|
|
|
|
endif ()
|