[PATCH] D28686: Fix UBSan bots by blacklisting bits/stl_tree.h.
Ivan Krasin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 13 09:32:09 PST 2017
krasin created this revision.
krasin added a reviewer: vitalybuka.
krasin added a subscriber: llvm-commits.
Herald added a subscriber: mgorny.
libstdc++ has some undefined behavior in bits/stl_tree.h that
has recently became excercised by some of the LLVM code.
Given that fixing libstdc++ will take years, adding the file
into a blacklist to fix bots seems like a necessity.
https://reviews.llvm.org/D28686
Files:
cmake/modules/HandleLLVMOptions.cmake
utils/sanitizers/
utils/sanitizers/ubsan_blacklist.txt
Index: utils/sanitizers/ubsan_blacklist.txt
===================================================================
--- /dev/null
+++ utils/sanitizers/ubsan_blacklist.txt
@@ -0,0 +1,5 @@
+# This blacklist should be applied when LLVM is built
+# with -fsanitize=undefined instrumentation. It exists
+# because libstdc++ has some undefined behavior issues
+# in some of the headers, in particular, stl_tree.h.
+src:*bits/stl_tree.h
Index: cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -555,6 +555,8 @@
append_common_sanitizer_flags()
append("-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all"
CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ append(" -fsanitize-blacklist=${CMAKE_SOURCE_DIR}/utils/sanitizers/ubsan_blacklist.txt"
+ CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
elseif (LLVM_USE_SANITIZER STREQUAL "Thread")
append_common_sanitizer_flags()
append("-fsanitize=thread" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28686.84326.patch
Type: text/x-patch
Size: 1108 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170113/36ceaa94/attachment.bin>
More information about the llvm-commits
mailing list