From 411051a14781b004705e45e6fb2842e0b635812e Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 23 Mar 2020 11:32:29 +0100 Subject: [SERVER] Make lock/thread debugging dedicated cmake option --- CMakeLists.txt | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b061bb..952ff00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,8 @@ OPTION(BUILD_FUSE_CLIENT "Build dnbd3 fuse client" ON) OPTION(BUILD_SERVER "Build dnbd3 server" ON) OPTION(BUILD_STRESSTEST "Build dnbd3 stress testing tool" OFF) SET(EXTRA_C_FLAGS "" CACHE STRING "Additional options to pass to compiler") +OPTION(DEBUG_LOCKS "Add lock debugging code to dnbd3-server" OFF) +OPTION(DEBUG_THREADS "Add thread debugging code to dnbd3-server" OFF) OPTION(SERVER_FOR_AFL "Build dnbd3-server for usage with afl-fuzz" OFF) @@ -47,16 +49,16 @@ macro (TRY_ADD_FLAG _FLAG) endmacro() # Common for gcc and clang -SET(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,relro,-z,now,-z,defs -pie") -SET(CMAKE_C_FLAGS "-fPIE -std=c11 -Wno-multichar -fno-strict-aliasing -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 ${EXTRA_C_FLAGS}") -SET(CMAKE_C_FLAGS_RELEASE " -O3 -Wno-unused-result -DNDEBUG") +#SET(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,relro,-z,now,-z,defs -pie") +SET(CMAKE_C_FLAGS_RELEASE "-DNDEBUG") +SET(CMAKE_C_FLAGS "-std=c11 -Wno-multichar -fno-strict-aliasing -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 ${EXTRA_C_FLAGS}") # Hardening. Try as much as is possible. -TRY_ADD_FLAG("-mmitigate-rop") -TRY_ADD_FLAG("-fstack-protector-strong") -TRY_ADD_FLAG("-fstack-clash-protection") -TRY_ADD_FLAG("-Wformat") -TRY_ADD_FLAG("-Wformat-security") -TRY_ADD_FLAG("-Werror=format-security") +#TRY_ADD_FLAG("-mmitigate-rop") +#TRY_ADD_FLAG("-fstack-protector-strong") +#TRY_ADD_FLAG("-fstack-clash-protection") +#TRY_ADD_FLAG("-Wformat") +#TRY_ADD_FLAG("-Wformat-security") +#TRY_ADD_FLAG("-Werror=format-security") if(CMAKE_C_COMPILER MATCHES "clang") message( "Using clang flags." ) SET(CMAKE_C_FLAGS_DEBUG " -O1 -fno-omit-frame-pointer -g -Wall -Wextra -Wpedantic -Wno-unused-result -D_DEBUG") @@ -72,6 +74,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64) ADD_DEFINITIONS(-DWITH_IPV6) ADD_DEFINITIONS(-DBUILD_TYPE=${CMAKE_BUILD_TYPE}) +if (DEBUG_LOCKS) + ADD_DEFINITIONS(-DDEBUG_LOCKS) +ENDIF() +if (DEBUG_THREADS) + ADD_DEFINITIONS(-DDEBUG_THREADS) +ENDIF() FIND_PACKAGE(Threads) -- cgit v1.2.3-55-g7522