Skip to content

Commit 2f2e1f5

Browse files
committed
Fix tls issue and use PIC and PIE
1 parent b840153 commit 2f2e1f5

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

CMakeLists.txt

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -336,15 +336,15 @@ set (COMPILER_FLAGS "${COMPILER_FLAGS} -fPIC")
336336
set (DEBUG_INFO_FLAGS "-g -gdwarf-4")
337337

338338
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILER_FLAGS}")
339-
set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_CXX_FLAGS_ADD}")
339+
set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fPIC -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_CXX_FLAGS_ADD}")
340340
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} ${CMAKE_CXX_FLAGS_ADD}")
341341

342342
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILER_FLAGS} ${CMAKE_C_FLAGS_ADD}")
343-
set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_C_FLAGS_ADD}")
343+
set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fPIC -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_C_FLAGS_ADD}")
344344
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} ${CMAKE_C_FLAGS_ADD}")
345345

346346
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${COMPILER_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
347-
set (CMAKE_ASM_FLAGS_RELWITHDEBINFO "${CMAKE_ASM_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
347+
set (CMAKE_ASM_FLAGS_RELWITHDEBINFO "${CMAKE_ASM_FLAGS_RELWITHDEBINFO} -fPIC -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
348348
set (CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
349349

350350
if (COMPILER_CLANG)
@@ -408,9 +408,10 @@ option (ENABLE_GWP_ASAN "Enable Gwp-Asan" ON)
408408
# but GWP-ASan also wants to use mmap frequently,
409409
# and due to a large number of memory mappings,
410410
# it does not work together well.
411-
if ((NOT OS_LINUX AND NOT OS_ANDROID) OR (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG"))
412-
set(ENABLE_GWP_ASAN OFF)
413-
endif ()
411+
# if ((NOT OS_LINUX AND NOT OS_ANDROID) OR (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG"))
412+
# set(ENABLE_GWP_ASAN OFF)
413+
# endif ()
414+
set(ENABLE_GWP_ASAN OFF)
414415

415416
option (ENABLE_FIU "Enable Fiu" ON)
416417

@@ -434,17 +435,18 @@ endif ()
434435

435436
set (CMAKE_POSTFIX_VARIABLE "CMAKE_${CMAKE_BUILD_TYPE_UC}_POSTFIX")
436437

437-
if (NOT SANITIZE)
438-
set (CMAKE_POSITION_INDEPENDENT_CODE OFF)
439-
endif()
440-
441-
if (OS_LINUX AND NOT (ARCH_AARCH64 OR ARCH_S390X) AND NOT SANITIZE)
442-
# Slightly more efficient code can be generated
443-
# It's disabled for ARM because otherwise ClickHouse cannot run on Android.
444-
set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-pie")
445-
set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fno-pie")
446-
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie -Wl,-no-pie")
447-
endif ()
438+
# if (NOT SANITIZE)
439+
# set (CMAKE_POSITION_INDEPENDENT_CODE OFF)
440+
# endif()
441+
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
442+
443+
# if (OS_LINUX AND NOT (ARCH_AARCH64 OR ARCH_S390X) AND NOT SANITIZE)
444+
# # Slightly more efficient code can be generated
445+
# # It's disabled for ARM because otherwise ClickHouse cannot run on Android.
446+
# set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-pie")
447+
# set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fno-pie")
448+
# set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie -Wl,-no-pie")
449+
# endif ()
448450

449451
if (ENABLE_TESTS)
450452
message (STATUS "Unit tests are enabled")

0 commit comments

Comments
 (0)