enable PIE flag to protect memory overflow attack

This commit is contained in:
wenxingsen
2022-12-05 14:38:11 +00:00
committed by ob-robot
parent 75255022cd
commit ddec7a833d

View File

@ -23,6 +23,7 @@ ob_define(OB_CMAKE_RULES_CHECK ON)
ob_define(OB_STATIC_LINK_LGPL_DEPS ON)
ob_define(HOTFUNC_PATH "${CMAKE_SOURCE_DIR}/hotfuncs.txt")
ob_define(OB_BUILD_CCLS OFF)
ob_define(ENABLE_EXE_PIE OFF)
# 'ENABLE_PERF_MODE' use for offline system insight performance test
# PERF_MODE macro controls many special code path in system
@ -53,6 +54,11 @@ if(NOT OB_BUILD_CDC)
add_definitions(-DENABLE_INITIAL_EXEC_TLS_MODEL)
endif()
ob_define(OB_EXE_LINKER_OPT "")
if (ENABLE_EXE_PIE)
set(OB_EXE_LINKER_OPT "-pie")
endif()
if (OB_USE_CLANG)
find_program(OB_CC clang
"${DEVTOOLS_DIR}/bin"
@ -80,7 +86,7 @@ if (OB_USE_CLANG)
set(CMAKE_C_FLAGS "--gcc-toolchain=${GCC9} ${DEBUG_PREFIX} ${AUTO_FDO_OPT} -fcolor-diagnostics ${REORDER_COMP_OPT} -fmax-type-align=8 ${CMAKE_ASAN_FLAG} ${CMAKE_COVERAGE_FLAG}")
set(CMAKE_CXX_LINK_FLAGS "${LD_OPT} --gcc-toolchain=${GCC9} ${DEBUG_PREFIX} ${AUTO_FDO_OPT}")
set(CMAKE_SHARED_LINKER_FLAGS "${LD_OPT} -Wl,-z,noexecstack ${REORDER_LINK_OPT}")
set(CMAKE_EXE_LINKER_FLAGS "${LD_OPT} -Wl,-z,noexecstack ${REORDER_LINK_OPT}")
set(CMAKE_EXE_LINKER_FLAGS "${LD_OPT} -Wl,-z,noexecstack ${REORDER_LINK_OPT} ${OB_EXE_LINKER_OPT}")
else() # not clang, use gcc
message("gcc9 not support currently, please set OB_USE_CLANG ON and we will finish it as soon as possible")
endif()