UBSan doesn't globally replace new/delete but it still makes some tests fail. Investigation needed.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@273372 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2016-06-22 04:00:45 +00:00
parent 506f9d5bd3
commit 2aa1c4af39
7 changed files with 20 additions and 1 deletions

View File

@@ -628,7 +628,6 @@ class Configuration(object):
self.cxx.compile_flags += ['-O3'] self.cxx.compile_flags += ['-O3']
self.env['UBSAN_OPTIONS'] = 'print_stacktrace=1' self.env['UBSAN_OPTIONS'] = 'print_stacktrace=1'
self.config.available_features.add('ubsan') self.config.available_features.add('ubsan')
self.config.available_features.add('sanitizer-new-delete')
elif san == 'Thread': elif san == 'Thread':
self.cxx.flags += ['-fsanitize=thread'] self.cxx.flags += ['-fsanitize=thread']
self.config.available_features.add('tsan') self.config.available_features.add('tsan')

View File

@@ -11,6 +11,10 @@
// UNSUPPORTED: sanitizer-new-delete // UNSUPPORTED: sanitizer-new-delete
// TODO Investigate why UBSAN prevents new from calling our replacement.
// XFAIL: ubsan
#include <new> #include <new>
#include <cstddef> #include <cstddef>
#include <cstdlib> #include <cstdlib>

View File

@@ -11,6 +11,10 @@
// UNSUPPORTED: sanitizer-new-delete // UNSUPPORTED: sanitizer-new-delete
// TODO Investigate why UBSAN prevents new from calling our replacement.
// XFAIL: ubsan
#include <new> #include <new>
#include <cstddef> #include <cstddef>
#include <cstdlib> #include <cstdlib>

View File

@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// XFAIL: libcpp-no-exceptions // XFAIL: libcpp-no-exceptions
// test operator new // test operator new
// asan and msan will not call the new handler. // asan and msan will not call the new handler.

View File

@@ -11,6 +11,10 @@
// UNSUPPORTED: sanitizer-new-delete // UNSUPPORTED: sanitizer-new-delete
// TODO Investigate why UBSAN prevents nothrow new from calling our replacement.
// XFAIL: ubsan
#include <new> #include <new>
#include <cstddef> #include <cstddef>
#include <cstdlib> #include <cstdlib>

View File

@@ -13,6 +13,10 @@
// UNSUPPORTED: sanitizer-new-delete // UNSUPPORTED: sanitizer-new-delete
// TODO Investigate why UBSAN prevents new from calling our replacement.
// XFAIL: ubsan
#include <new> #include <new>
#include <cstddef> #include <cstddef>
#include <cstdlib> #include <cstdlib>

View File

@@ -14,6 +14,9 @@
// UNSUPPORTED: sanitizer-new-delete // UNSUPPORTED: sanitizer-new-delete
// TODO Investigate why UBSAN prevents new from calling our replacement.
// XFAIL: ubsan
// NOTE: Only clang-3.7 and GCC 5.1 and greater support -fsized-deallocation. // NOTE: Only clang-3.7 and GCC 5.1 and greater support -fsized-deallocation.
// REQUIRES: fsized-deallocation // REQUIRES: fsized-deallocation