summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2020-05-26 10:17:30 +0200
committerGitHub <noreply@github.com>2020-05-26 10:17:30 +0200
commit7ea778385b9d971cea2bf7537fb1d646373c6170 (patch)
treec04f81577ecdc8bfd6b803f58094c32f14f0cd07
parentbfe146647b32c2cc7b362bcc7abb2db120526207 (diff)
parente31ac5e37b4f8d84846e7047eea10715c24d372d (diff)
Merge pull request #13370 from vespa-engine/toregge/allow-unresolved-symbols-in-shared-libraries-when-using-clang-and-address-sanitizer
Allow unresolved symbols in shared libraries when using a sanitizer with clang.
-rw-r--r--build_settings.cmake7
1 files changed, 5 insertions, 2 deletions
diff --git a/build_settings.cmake b/build_settings.cmake
index c96a626ad0b..0028935ad18 100644
--- a/build_settings.cmake
+++ b/build_settings.cmake
@@ -167,8 +167,11 @@ endif()
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
else()
-# Don't allow unresolved symbols in executables or shared libraries
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
+if(NOT VESPA_USE_SANITIZER OR NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ # Don't allow unresolved symbols in shared libraries
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
+endif()
+# Don't allow unresolved symbols in executables
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined")
# Enable GTest unit tests in shared libraries