diff options
-rw-r--r-- | build/common.gypi | 20 | ||||
-rw-r--r-- | tools/ubsan/blacklist.txt (renamed from tools/ubsan_vptr/blacklist.txt) | 0 |
2 files changed, 13 insertions, 7 deletions
diff --git a/build/common.gypi b/build/common.gypi index 33bf25b..46125c8 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -431,11 +431,11 @@ # -fsanitize=undefined only works with clang, but ubsan=1 implies clang=1 # See http://clang.llvm.org/docs/UsersManual.html 'ubsan%': 0, + 'ubsan_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan/blacklist.txt', # Enable building with UBsan's vptr (Clang's -fsanitize=vptr option). # -fsanitize=vptr only works with clang, but ubsan_vptr=1 implies clang=1 'ubsan_vptr%': 0, - 'ubsan_vptr_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan_vptr/blacklist.txt', # Use the dynamic libraries instrumented by one of the sanitizers # instead of the standard system libraries. @@ -1130,8 +1130,8 @@ 'tsan%': '<(tsan)', 'tsan_blacklist%': '<(tsan_blacklist)', 'ubsan%': '<(ubsan)', + 'ubsan_blacklist%': '<(ubsan_blacklist)', 'ubsan_vptr%': '<(ubsan_vptr)', - 'ubsan_vptr_blacklist%': '<(ubsan_vptr_blacklist)', 'use_instrumented_libraries%': '<(use_instrumented_libraries)', 'use_custom_libcxx%': '<(use_custom_libcxx)', 'use_system_libcxx%': '<(use_system_libcxx)', @@ -4216,8 +4216,7 @@ ['_toolset=="target"', { 'cflags': [ '-fsanitize=undefined', - # -fsanitize=vptr is incompatible with -fno-rtti. - '-fno-sanitize=vptr', + '-fsanitize-blacklist=<(ubsan_blacklist)', # Employ the experimental PBQP register allocator to avoid # slow compilation on files with too many basic blocks. # See http://crbug.com/426271. @@ -4226,10 +4225,17 @@ # generated by PBQP regallocator. May increase compile time. '-mllvm -pbqp-coalescing', ], + 'cflags_cc!': [ + '-fno-rtti', + ], + 'cflags!': [ + '-fno-rtti', + ], 'ldflags': [ '-fsanitize=undefined', - # -fsanitize=vptr is incompatible with -fno-rtti. - '-fno-sanitize=vptr', + ], + 'defines': [ + 'UNDEFINED_SANITIZER', ], }], ], @@ -4239,7 +4245,7 @@ ['_toolset=="target"', { 'cflags': [ '-fsanitize=vptr', - '-fsanitize-blacklist=<(ubsan_vptr_blacklist)', + '-fsanitize-blacklist=<(ubsan_blacklist)', ], 'cflags_cc!': [ '-fno-rtti', diff --git a/tools/ubsan_vptr/blacklist.txt b/tools/ubsan/blacklist.txt index 6b5915f..6b5915f 100644 --- a/tools/ubsan_vptr/blacklist.txt +++ b/tools/ubsan/blacklist.txt |