Skip to content

Commit 47a9528

Browse files
committed
[NFC][msan] Rename SymbolizerScope to UnwinderScope and hide
1 parent ce1cb9d commit 47a9528

File tree

3 files changed

+18
-21
lines changed

3 files changed

+18
-21
lines changed

compiler-rt/lib/msan/msan.cpp

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,6 @@ THREADLOCAL u64 __msan_va_arg_overflow_size_tls;
6969
SANITIZER_INTERFACE_ATTRIBUTE
7070
THREADLOCAL u32 __msan_origin_tls;
7171

72-
static THREADLOCAL int is_in_symbolizer;
73-
7472
extern "C" SANITIZER_WEAK_ATTRIBUTE const int __msan_track_origins;
7573

7674
int __msan_get_track_origins() {
@@ -81,15 +79,19 @@ extern "C" SANITIZER_WEAK_ATTRIBUTE const int __msan_keep_going;
8179

8280
namespace __msan {
8381

84-
void EnterSymbolizer() { ++is_in_symbolizer; }
85-
void ExitSymbolizer() { --is_in_symbolizer; }
86-
bool IsInSymbolizer() { return is_in_symbolizer; }
82+
static THREADLOCAL int is_in_symbolizer_or_unwinder;
83+
static void EnterSymbolizerOrUnwider() { ++is_in_symbolizer_or_unwinder; }
84+
static void ExitSymbolizerOrUnwider() { --is_in_symbolizer_or_unwinder; }
85+
bool IsInSymbolizerOrUnwider() { return is_in_symbolizer_or_unwinder; }
86+
87+
struct UnwinderScope {
88+
UnwinderScope() { EnterSymbolizerOrUnwider(); }
89+
~UnwinderScope() { ExitSymbolizerOrUnwider(); }
90+
};
8791

8892
static Flags msan_flags;
8993

90-
Flags *flags() {
91-
return &msan_flags;
92-
}
94+
Flags *flags() { return &msan_flags; }
9395

9496
int msan_inited = 0;
9597
bool msan_init_is_running;
@@ -301,15 +303,15 @@ u32 ChainOrigin(u32 id, StackTrace *stack) {
301303
return chained.raw_id();
302304
}
303305

304-
} // namespace __msan
306+
} // namespace __msan
305307

306308
void __sanitizer::BufferedStackTrace::UnwindImpl(
307309
uptr pc, uptr bp, void *context, bool request_fast, u32 max_depth) {
308310
using namespace __msan;
309311
MsanThread *t = GetCurrentThread();
310312
if (!t || !StackTrace::WillUseFastUnwind(request_fast)) {
311313
// Block reports from our interceptors during _Unwind_Backtrace.
312-
SymbolizerScope sym_scope;
314+
UnwinderScope sym_scope;
313315
return Unwind(max_depth, pc, bp, context, t ? t->stack_top() : 0,
314316
t ? t->stack_bottom() : 0, false);
315317
}
@@ -462,7 +464,8 @@ void __msan_init() {
462464
Die();
463465
}
464466

465-
Symbolizer::GetOrInit()->AddHooks(EnterSymbolizer, ExitSymbolizer);
467+
Symbolizer::GetOrInit()->AddHooks(EnterSymbolizerOrUnwider,
468+
ExitSymbolizerOrUnwider);
466469

467470
InitializeCoverage(common_flags()->coverage, common_flags()->coverage_dir);
468471

compiler-rt/lib/msan/msan.h

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -314,14 +314,7 @@ void InstallAtExitHandler();
314314

315315
const char *GetStackOriginDescr(u32 id, uptr *pc);
316316

317-
void EnterSymbolizer();
318-
void ExitSymbolizer();
319-
bool IsInSymbolizer();
320-
321-
struct SymbolizerScope {
322-
SymbolizerScope() { EnterSymbolizer(); }
323-
~SymbolizerScope() { ExitSymbolizer(); }
324-
};
317+
bool IsInSymbolizerOrUnwider();
325318

326319
void PrintWarning(uptr pc, uptr bp);
327320
void PrintWarningWithOrigin(uptr pc, uptr bp, u32 origin);

compiler-rt/lib/msan/msan_interceptors.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ struct DlsymAlloc : public DlSymAllocator<DlsymAlloc> {
9090
#define CHECK_UNPOISONED_0(x, n) \
9191
do { \
9292
sptr __offset = __msan_test_shadow(x, n); \
93-
if (__msan::IsInSymbolizer()) break; \
93+
if (__msan::IsInSymbolizerOrUnwider()) \
94+
break; \
9495
if (__offset >= 0 && __msan::flags()->report_umrs) { \
9596
GET_CALLER_PC_BP_SP; \
9697
(void)sp; \
@@ -1599,7 +1600,7 @@ void __msan_clear_and_unpoison(void *a, uptr size) {
15991600

16001601
void *__msan_memcpy(void *dest, const void *src, SIZE_T n) {
16011602
if (!msan_inited) return internal_memcpy(dest, src, n);
1602-
if (msan_init_is_running || __msan::IsInSymbolizer())
1603+
if (msan_init_is_running || __msan::IsInSymbolizerOrUnwider())
16031604
return REAL(memcpy)(dest, src, n);
16041605
ENSURE_MSAN_INITED();
16051606
GET_STORE_STACK_TRACE;

0 commit comments

Comments
 (0)