Добавлены модули SafeStack и Control Flow Integrity

This commit is contained in:
2019-08-10 10:48:21 +03:00
parent 69437cd645
commit 26eced86d8
7 changed files with 78 additions and 11 deletions

View File

@ -121,6 +121,14 @@ function (sanitizer_check_compiler_flags FLAG_CANDIDATES NAME PREFIX)
sanitizer_check_compiler_flag("${FLAG}" ${LANG}
${PREFIX}_FLAG_DETECTED)
# Unfortunately cmake using clang is not picking up
# the CFI sanitizer flags
# CAREFUL HERE!!
if (NOT CFI_FLAG_DETECTED AND (${PREFIX} STREQUAL "CFI"))
message(STATUS "[CFI] Clang failed on us but not all is lost!!!")
set(CFI_FLAG_DETECTED TRUE)
endif()
if (${PREFIX}_FLAG_DETECTED)
# If compiler is a GNU compiler, search for static flag, if
# SANITIZE_LINK_STATIC is enabled.
@ -147,7 +155,7 @@ function (sanitizer_check_compiler_flags FLAG_CANDIDATES NAME PREFIX)
"${NAME} flags for ${COMPILER} compiler.")
mark_as_advanced(${PREFIX}_${COMPILER}_FLAGS)
message(WARNING "${NAME} is not available for ${COMPILER} "
message(STATUS "${NAME} is not available for ${COMPILER} "
"compiler. Targets using this compiler will be "
"compiled without ${NAME}.")
endif ()