diff --git a/test/libcxx/test/config.py b/test/libcxx/test/config.py index dd496b2d0..4d4eb066e 100644 --- a/test/libcxx/test/config.py +++ b/test/libcxx/test/config.py @@ -617,9 +617,12 @@ class Configuration(object): self.config.available_features.add('msan') self.config.available_features.add('sanitizer-new-delete') elif san == 'Undefined': + blacklist = os.path.join(self.libcxx_src_root, + 'test/ubsan_blacklist.txt') self.cxx.flags += ['-fsanitize=undefined', '-fno-sanitize=vptr,function', - '-fno-sanitize-recover'] + '-fno-sanitize-recover=all', + '-fsanitize-blacklist=' + blacklist] self.cxx.compile_flags += ['-O3'] self.env['UBSAN_OPTIONS'] = 'print_stacktrace=1' self.config.available_features.add('ubsan') diff --git a/test/ubsan_blacklist.txt b/test/ubsan_blacklist.txt new file mode 100644 index 000000000..6c686fb8d --- /dev/null +++ b/test/ubsan_blacklist.txt @@ -0,0 +1,2 @@ +fun:*__tree* +fun:*__hash_table*