File mariadb-10.2.4-fortify-and-O.patch of Package mariadb
83
1
PATCH-P0-FIX-HACK: Not enforcing specific flags
2
3
Useing some CFLAGS from distribution and some enforced can and leads to the
4
conflicts like FORTIFY and -O0. Removing hardcoded options.
5
6
Maintainer: Michal Hrusecky <mhrusecky@suse.cz>
7
8
Index: CMakeLists.txt
9
===================================================================
10
--- CMakeLists.txt.orig
11
+++ CMakeLists.txt
12
13
MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC")
14
MY_CHECK_AND_SET_COMPILER_FLAG("-Wl,-z,relro,-z,now")
15
MY_CHECK_AND_SET_COMPILER_FLAG("-fstack-protector --param=ssp-buffer-size=4")
16
- MY_CHECK_AND_SET_COMPILER_FLAG("-D_FORTIFY_SOURCE=2" RELEASE RELWITHDEBINFO)
17
ENDIF()
18
19
# Always enable debug sync for debug builds.
20
Index: storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
21
===================================================================
22
--- storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake.orig
23
+++ storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
24
25
if (CMAKE_VERSION VERSION_LESS 3.0)
26
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1)
27
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DRD TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1)
28
- set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DRD _FORTIFY_SOURCE=2)
29
else ()
30
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
31
$<$<OR:$<CONFIG:DEBUG>,$<CONFIG:DRD>>:TOKU_PTHREAD_DEBUG=1 TOKU_DEBUG_TXN_SYNC=1>
32
- $<$<CONFIG:DRD>:_FORTIFY_SOURCE=2>
33
)
34
endif ()
35
36
37
)
38
39
## set extra debugging flags and preprocessor definitions
40
-set(CMAKE_C_FLAGS_DEBUG "-g3 -O0 ${CMAKE_C_FLAGS_DEBUG}")
41
-set(CMAKE_CXX_FLAGS_DEBUG "-g3 -O0 ${CMAKE_CXX_FLAGS_DEBUG}")
42
+set(CMAKE_C_FLAGS_DEBUG "-g3 ${CMAKE_C_FLAGS_DEBUG}")
43
+set(CMAKE_CXX_FLAGS_DEBUG "-g3 ${CMAKE_CXX_FLAGS_DEBUG}")
44
45
## flags to use when we want to run DRD on the resulting binaries
46
## DRD needs debugging symbols.
47
## -O0 makes it too slow, and -O2 inlines too much for our suppressions to work. -O1 is just right.
48
-set(CMAKE_C_FLAGS_DRD "-g3 -O1 ${CMAKE_C_FLAGS_DRD}")
49
-set(CMAKE_CXX_FLAGS_DRD "-g3 -O1 ${CMAKE_CXX_FLAGS_DRD}")
50
+set(CMAKE_C_FLAGS_DRD "-g3 ${CMAKE_C_FLAGS_DRD}")
51
+set(CMAKE_CXX_FLAGS_DRD "-g3 ${CMAKE_CXX_FLAGS_DRD}")
52
53
## set extra release flags
54
## need to set flags for RelWithDebInfo as well because we want the MySQL/MariaDB builds to use them
55
if (CMAKE_CXX_COMPILER_ID STREQUAL Clang)
56
# have tried -flto and -O4, both make our statically linked executables break apple's linker
57
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
58
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
59
- set(CMAKE_C_FLAGS_RELEASE "-g -O3 ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
60
- set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
61
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
62
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
63
+ set(CMAKE_C_FLAGS_RELEASE "-g ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
64
+ set(CMAKE_CXX_FLAGS_RELEASE "-g ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
65
else ()
66
if (APPLE)
67
set(FLTO_OPTS "-fwhole-program")
68
69
set(FLTO_OPTS "-fuse-linker-plugin")
70
endif()
71
# we overwrite this because the default passes -DNDEBUG and we don't want that
72
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
73
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -UNDEBUG")
74
- set(CMAKE_C_FLAGS_RELEASE "-g -O3 -flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
75
- set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 -flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
76
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
77
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -UNDEBUG")
78
+ set(CMAKE_C_FLAGS_RELEASE "-g -flto ${FLTO_OPTS} ${CMAKE_C_FLAGS_RELEASE} -UNDEBUG")
79
+ set(CMAKE_CXX_FLAGS_RELEASE "-g -flto ${FLTO_OPTS} ${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG")
80
set(CMAKE_EXE_LINKER_FLAGS "-g ${FLTO_OPTS} ${CMAKE_EXE_LINKER_FLAGS}")
81
set(CMAKE_SHARED_LINKER_FLAGS "-g ${FLTO_OPTS} ${CMAKE_SHARED_LINKER_FLAGS}")
82
endif ()
83