Enable RELRO compile option to pretect address attack

This commit is contained in:
wenxingsen
2023-03-17 06:11:09 +00:00
committed by ob-robot
parent 0bdaa2d213
commit b2df288827
4 changed files with 8 additions and 3 deletions

View File

@ -69,6 +69,11 @@ endif()
set(OB_OBJCOPY_BIN "${DEVTOOLS_DIR}/bin/objcopy")
# NO RELERO: -Wl,-znorelro
# Partial RELRO: -Wl,-z,relro
# Full RELRO: -Wl,-z,relro,-z,now
ob_define(OB_RELRO_FLAG "-Wl,-z,relro,-z,now")
if (OB_USE_CLANG)
find_program(OB_CC clang
"${DEVTOOLS_DIR}/bin"

View File

@ -9,7 +9,7 @@ function(oblib_addtest mainfile)
add_executable(${testname} ${ARGV})
add_test(${testname} ${testname})
target_link_libraries(${testname} PRIVATE objit oblib oblib_testbase -static-libgcc -static-libstdc++
-Wl,-znorelro -Wl,-T,${CMAKE_SOURCE_DIR}/rpm/ld.lds)
${OB_RELRO_FLAG} -Wl,-T,${CMAKE_SOURCE_DIR}/rpm/ld.lds)
endfunction()
add_subdirectory(lib)

View File

@ -4,7 +4,7 @@ target_include_directories(
${CMAKE_CURRENT_SOURCE_DIR})
target_compile_features(ob_base INTERFACE cxx_std_11)
target_link_libraries(ob_base INTERFACE oblib_base objit_base
-Wl,-znorelro -Wl,-T,${CMAKE_SOURCE_DIR}/rpm/ld.lds)
${OB_RELRO_FLAG} -Wl,-T,${CMAKE_SOURCE_DIR}/rpm/ld.lds)
target_compile_definitions(ob_base INTERFACE
PACKAGE_NAME="${PROJECT_NAME}"
PACKAGE_VERSION="${PROJECT_VERSION}"

View File

@ -12,7 +12,7 @@ target_include_directories(obcdc_base INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(obcdc_base
INTERFACE ob_base
obcdc_msg rocksdb
-Wl,-znorelro -Wl,-T,${CMAKE_SOURCE_DIR}/rpm/ld.lds)
${OB_RELRO_FLAG} -Wl,-T,${CMAKE_SOURCE_DIR}/rpm/ld.lds)
ob_set_subtarget(obcdc_object_list common
libobcdc.cpp