]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Another try to use the proper linker
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sun, 16 Jul 2023 21:18:57 +0000 (22:18 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sun, 16 Jul 2023 21:18:57 +0000 (22:18 +0100)
CMakeLists.txt
cmake/Sanitizer.cmake
cmake/Toolset.cmake

index ac25856699d221f90fc4a7dc301bf8ba57546ed3..5ea71a060a2559097ebcb9051c9644f4fdad7395 100644 (file)
@@ -85,6 +85,7 @@ ENDIF()
 FIND_PACKAGE(PkgConfig REQUIRED)
 FIND_PACKAGE(Perl REQUIRED)
 
+option (SANITIZE "Enable sanitizer: address, memory, undefined, leak (comma separated list)" "")
 INCLUDE(Toolset)
 INCLUDE(Sanitizer)
 
index b13e418e3e2cd1e7224a70a1315a349864cea984..c2587066ff92b9f0b6bbbabb8d733a296af1263d 100644 (file)
@@ -1,6 +1,5 @@
 # Ported from Clickhouse: https://github.com/ClickHouse/ClickHouse/blob/master/cmake/sanitize.cmake
 
-option (SANITIZE "Enable sanitizer: address, memory, undefined, leak (comma separated list)" "")
 set (SAN_FLAGS "${SAN_FLAGS} -g -fno-omit-frame-pointer -DSANITIZER")
 # O1 is normally set by clang, and -Og by gcc
 if (COMPILER_GCC)
index dfd1d30088d76655ecba5496a1711c612e7c2a76..4e7017dfdca88306435a2b42926e08c617461b55 100644 (file)
@@ -80,12 +80,14 @@ if(NOT LINKER_NAME)
     if(LLD_PATH)
         if (COMPILER_CLANG)
             set(LINKER_NAME "lld")
-        else()
+        elseif(NOT SANITIZE)
             if(GOLD_PATH)
                 set(LINKER_NAME "gold")
             else()
-                message(STATUS "Use generic 'ld' as a linker")
+                message(STATUS "Use generic 'ld' as a linker: gold not found")
             endif()
+        else()
+            message(STATUS "Use generic 'ld' as a linker: sanitizers are enabled")
         endif()
     elseif(GOLD_PATH)
         set(LINKER_NAME "gold")