[PATCH] D77466: libcxx 'LLVM_USE_SANITIZER=Address;Undefined'
Brian Gesiak via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 4 10:37:04 PDT 2020
modocache created this revision.
modocache added reviewers: jroelofs, EricWF, ldionne.
Herald added subscribers: dexonsmith, mgorny.
Herald added a project: libc++.
Herald added a reviewer: libc++.
Allow users to simultaneously enable address and undefined behavior
sanitizers, in the same manner that LLVM's 'HandleLLVMOptions.cmake'
allows.
Prior to this patch, `cmake -DLLVM_USE_SANITIZER="Address;Undefined"`
would succeed and the build would build most of the LLVM project with
`-fsanitize=address,undefined`, but a warning would be printed by
libcxx's CMake, and the build would use neither sanitizer. This
patch results in no warning being printed, and both sanitizers are used
in building libcxx.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D77466
Files:
libcxx/CMakeLists.txt
Index: libcxx/CMakeLists.txt
===================================================================
--- libcxx/CMakeLists.txt
+++ libcxx/CMakeLists.txt
@@ -678,6 +678,9 @@
endif()
elseif (USE_SANITIZER STREQUAL "Undefined")
append_flags(SANITIZER_FLAGS "-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all")
+ elseif (USE_SANITIZER STREQUAL "Address;Undefined" OR
+ USE_SANITIZER STREQUAL "Undefined;Address")
+ append_flags(SANITIZER_FLAGS "-fsanitize=address,undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all")
elseif (USE_SANITIZER STREQUAL "Thread")
append_flags(SANITIZER_FLAGS -fsanitize=thread)
else()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77466.255057.patch
Type: text/x-patch
Size: 698 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200404/31276070/attachment.bin>
More information about the llvm-commits
mailing list