From 2f57bd7ceca713f654c649bed5910f0546a1ad8e Mon Sep 17 00:00:00 2001 From: dimstars Date: Tue, 30 Apr 2024 02:16:20 +0000 Subject: [PATCH] [CP] add ENABLE_BOLT(compile option) to control BOLT_OPT --- cmake/Env.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/Env.cmake b/cmake/Env.cmake index a3ead9ea3..b0db90164 100644 --- a/cmake/Env.cmake +++ b/cmake/Env.cmake @@ -73,6 +73,11 @@ if(ENABLE_HOTFUNC) set(HOTFUNC_OPT "-Wl,--no-warn-symbol-ordering,--symbol-ordering-file,${HOTFUNC_PATH}") endif() +set(BOLT_OPT "") +if(ENABLE_BOLT) + set(BOLT_OPT "-Wl,--emit-relocs") +endif() + set(ob_close_modules_static_name "") set(ob_close_deps_static_name "") @@ -211,7 +216,7 @@ if (OB_USE_CLANG) endif() set(CMAKE_CXX_FLAGS "--gcc-toolchain=${GCC9} ${DEBUG_PREFIX} ${AUTO_FDO_OPT} ${THIN_LTO_OPT} -fcolor-diagnostics ${REORDER_COMP_OPT} -fmax-type-align=8 ${CMAKE_ASAN_FLAG} -std=gnu++11") set(CMAKE_C_FLAGS "--gcc-toolchain=${GCC9} ${DEBUG_PREFIX} ${AUTO_FDO_OPT} ${THIN_LTO_OPT} -fcolor-diagnostics ${REORDER_COMP_OPT} -fmax-type-align=8 ${CMAKE_ASAN_FLAG}") - set(CMAKE_CXX_LINK_FLAGS "${LD_OPT} ${THIN_LTO_CONCURRENCY_LINK} --gcc-toolchain=${GCC9} ${DEBUG_PREFIX} ${AUTO_FDO_OPT}") + set(CMAKE_CXX_LINK_FLAGS "${LD_OPT} ${THIN_LTO_CONCURRENCY_LINK} --gcc-toolchain=${GCC9} ${DEBUG_PREFIX} ${AUTO_FDO_OPT} ${BOLT_OPT}") set(CMAKE_SHARED_LINKER_FLAGS "${LD_OPT} -Wl,-z,noexecstack ${THIN_LTO_CONCURRENCY_LINK} ${REORDER_LINK_OPT}") set(CMAKE_EXE_LINKER_FLAGS "${LD_OPT} -Wl,-z,noexecstack -pie ${THIN_LTO_CONCURRENCY_LINK} ${REORDER_LINK_OPT} ${CMAKE_COVERAGE_EXE_LINKER_OPTIONS}") else() # not clang, use gcc