From ca2d0d41fc85baa6773b853a9b4ec8707b0238dc Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 14 Aug 2024 23:06:28 -0700 Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20ch?= =?UTF-8?q?anges=20to=20main=20this=20commit=20is=20based=20on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.4 [skip ci] --- compiler-rt/lib/asan/asan_poisoning.cpp | 4 ++-- .../lib/sanitizer_common/sanitizer_common.h | 14 ++++++++------ .../sanitizer_common/sanitizer_tls_get_addr.cpp | 2 +- .../TestCases/Linux/resize_tls_dynamic.cpp | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/compiler-rt/lib/asan/asan_poisoning.cpp b/compiler-rt/lib/asan/asan_poisoning.cpp index 746ad61813c65..d600b1a0c241f 100644 --- a/compiler-rt/lib/asan/asan_poisoning.cpp +++ b/compiler-rt/lib/asan/asan_poisoning.cpp @@ -410,7 +410,7 @@ void __sanitizer_annotate_contiguous_container(const void *beg_p, const void *new_mid_p) { if (!flags()->detect_container_overflow) return; - VPrintf(2, "contiguous_container: %p %p %p %p\n", beg_p, end_p, old_mid_p, + VPrintf(3, "contiguous_container: %p %p %p %p\n", beg_p, end_p, old_mid_p, new_mid_p); uptr storage_beg = reinterpret_cast(beg_p); uptr storage_end = reinterpret_cast(end_p); @@ -479,7 +479,7 @@ void __sanitizer_annotate_double_ended_contiguous_container( if (!flags()->detect_container_overflow) return; - VPrintf(2, "contiguous_container: %p %p %p %p %p %p\n", storage_beg_p, + VPrintf(3, "contiguous_container: %p %p %p %p %p %p\n", storage_beg_p, storage_end_p, old_container_beg_p, old_container_end_p, new_container_beg_p, new_container_end_p); diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common.h b/compiler-rt/lib/sanitizer_common/sanitizer_common.h index 2428a8cd14794..182dc8f26c88f 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_common.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_common.h @@ -239,13 +239,15 @@ void RemoveANSIEscapeSequencesFromString(char *buffer); void Printf(const char *format, ...) FORMAT(1, 2); void Report(const char *format, ...) FORMAT(1, 2); void SetPrintfAndReportCallback(void (*callback)(const char *)); -#define VReport(level, ...) \ - do { \ - if ((uptr)Verbosity() >= (level)) Report(__VA_ARGS__); \ +#define VReport(level, ...) \ + do { \ + if (UNLIKELY((uptr)Verbosity() >= (level))) \ + Report(__VA_ARGS__); \ } while (0) -#define VPrintf(level, ...) \ - do { \ - if ((uptr)Verbosity() >= (level)) Printf(__VA_ARGS__); \ +#define VPrintf(level, ...) \ + do { \ + if (UNLIKELY((uptr)Verbosity() >= (level))) \ + Printf(__VA_ARGS__); \ } while (0) // Lock sanitizer error reporting and protects against nested errors. diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp index ee293bbd68875..e2a66142e584e 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp @@ -66,7 +66,7 @@ static DTLS::DTVBlock *DTLS_NextBlock(atomic_uintptr_t *cur) { } static DTLS::DTV *DTLS_Find(uptr id) { - VReport(2, "__tls_get_addr: DTLS_Find %p %zd\n", (void *)&dtls, id); + VReport(3, "__tls_get_addr: DTLS_Find %p %zd\n", (void *)&dtls, id); static constexpr uptr kPerBlock = ARRAY_SIZE(DTLS::DTVBlock::dtvs); DTLS::DTVBlock *cur = DTLS_NextBlock(&dtls.dtv_block); if (!cur) diff --git a/compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp b/compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp index 2d6e6c60f2437..c288e1d69baf9 100644 --- a/compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp +++ b/compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp @@ -1,6 +1,6 @@ // RUN: %clangxx %s -DBUILD_DSO -fPIC -shared -o %t.so // RUN: %clangxx --std=c++11 %s -o %t -// RUN: %env_tool_opts=verbosity=2 %run %t 2>&1 | FileCheck %s +// RUN: %env_tool_opts=verbosity=3 %run %t 2>&1 | FileCheck %s // Does not call __tls_get_addr // UNSUPPORTED: i386-linux From d107c1907f6f07d059fb954d92bc55b20d179739 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Thu, 15 Aug 2024 17:11:17 -0700 Subject: [PATCH 2/2] 4->3 Created using spr 1.3.4 --- .../test/asan/TestCases/Linux/odr_indicator_unregister.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp b/compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp index f9d2518552d3c..b75f5be101ef8 100644 --- a/compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp +++ b/compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp @@ -4,7 +4,7 @@ // RUN: %clangxx_asan -g -O0 -DSHARED_LIB -DSIZE=1 %s -fPIC -shared -o %t-so-1.so // RUN: %clangxx_asan -g -O0 -DSHARED_LIB -DSIZE=2 %s -fPIC -shared -o %t-so-2.so // RUN: %clangxx_asan -g -O0 %s %libdl -Wl,--export-dynamic -o %t -// RUN: %env_asan_opts=report_globals=1:detect_odr_violation=1:verbosity=4 %run %t 2>&1 | FileCheck %s +// RUN: %env_asan_opts=report_globals=1:detect_odr_violation=1:verbosity=3 %run %t 2>&1 | FileCheck %s // FIXME: Checks do not match on Android. // UNSUPPORTED: android