Enable RELRO compile option to pretect address attack
This commit is contained in:
@ -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"
|
||||
|
||||
2
deps/oblib/unittest/CMakeLists.txt
vendored
2
deps/oblib/unittest/CMakeLists.txt
vendored
@ -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)
|
||||
|
||||
@ -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}"
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user