From aa6cbf911ed3e2117697372cdd2a5d9fcae6ea5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sat, 24 May 2025 08:27:05 +0200 Subject: [PATCH] tests/fuzz: add link option `-fsanitize=fuzzer-no-link` when fuzzer sanitizer is used --- tests/fuzz/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/fuzz/CMakeLists.txt b/tests/fuzz/CMakeLists.txt index 72674e567..2819ce8f2 100644 --- a/tests/fuzz/CMakeLists.txt +++ b/tests/fuzz/CMakeLists.txt @@ -25,6 +25,10 @@ if(NOT DEFINED ENV{LIB_FUZZING_ENGINE}) set(ENV{LIB_FUZZING_ENGINE} "-fsanitize=address,fuzzer") endif() +if ("$ENV{LIB_FUZZING_ENGINE}" MATCHES "-fsanitize=.*fuzzer") + set(ENV{LIB_FUZZING_ENGINE} "$ENV{LIB_FUZZING_ENGINE};-fsanitize=fuzzer-no-link") +endif() + remove_definitions(-DHAVE_CONFIG_H) include_directories( ${PROJECT_BINARY_DIR} @@ -98,6 +102,6 @@ set(FUZZ_CORE_TARGETS calc eval crypto secure string utf8 util) foreach(fuzz_target ${FUZZ_CORE_TARGETS}) add_executable(weechat_core_${fuzz_target}_fuzzer core/${fuzz_target}-fuzzer.cc) target_link_libraries(weechat_core_${fuzz_target}_fuzzer ${FUZZ_TARGET_LINK} coverage_config) - set_target_properties(weechat_core_${fuzz_target}_fuzzer PROPERTIES LINK_FLAGS "$ENV{LIB_FUZZING_ENGINE}") + set_target_properties(weechat_core_${fuzz_target}_fuzzer PROPERTIES LINK_OPTIONS "$ENV{LIB_FUZZING_ENGINE}") add_dependencies(weechat_core_${fuzz_target}_fuzzer ${FUZZ_TARGET_DEPS}) endforeach()