Skip to content

Commit

Permalink
fix: handle sanitizer_flags (#81)
Browse files Browse the repository at this point in the history
Signed-off-by: msclock <msclock@qq.com>
  • Loading branch information
msclock committed Apr 2, 2024
1 parent 1d39e50 commit dfbdbdf
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions cmake/build/Hardening.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -125,15 +125,20 @@ endif()
flags_to_list(hardening_links "${hardening_links}")

# Handle the conflics between hardening ubsan and asan
if(san_available_flags
AND san_available_flags MATCHES "-fsanitize=address"
AND hardening_flags MATCHES "-fsanitize-minimal-runtime")
message(
WARNING "Try to disable usan minimal runtime due to conflict with asan")
list(REMOVE_ITEM hardening_flags "-fsanitize=undefined"
"-fsanitize-minimal-runtime" "-fno-sanitize-recover=undefined")
list(REMOVE_ITEM hardening_links "-fsanitize=undefined"
"-fsanitize-minimal-runtime" "-fno-sanitize-recover=undefined")

if(TARGET sanitizer_flags)
get_target_property(_san sanitizer_flags _san)

if(_san
AND _san MATCHES "-fsanitize=address"
AND hardening_flags MATCHES "-fsanitize-minimal-runtime")
message(
WARNING "Try to disable usan minimal runtime due to conflict with asan")
list(REMOVE_ITEM hardening_flags "-fsanitize=undefined"
"-fsanitize-minimal-runtime" "-fno-sanitize-recover=undefined")
list(REMOVE_ITEM hardening_links "-fsanitize=undefined"
"-fsanitize-minimal-runtime" "-fno-sanitize-recover=undefined")
endif()
endif()

message(STATUS "Hardening final flags: ${hardening_flags}")
Expand Down

0 comments on commit dfbdbdf

Please sign in to comment.