From 7996a2e2a1c461743c9216f13429c04d75050230 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Tue, 29 Oct 2013 05:31:25 +0000 Subject: [Sanitizer] Simplify StackTrace::PrintStack interface: prefer common flags to turn on/off the symbolization git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193587 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/asan/asan_stack.cc | 5 ++--- lib/lsan/lsan_common.cc | 2 +- lib/msan/msan.cc | 1 + lib/msan/msan_report.cc | 2 +- lib/sanitizer_common/sanitizer_stacktrace.cc | 4 ++-- lib/sanitizer_common/sanitizer_stacktrace.h | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/asan/asan_stack.cc b/lib/asan/asan_stack.cc index b70ee814..7fa9e05a 100644 --- a/lib/asan/asan_stack.cc +++ b/lib/asan/asan_stack.cc @@ -29,9 +29,8 @@ void PrintStack(const uptr *trace, uptr size) { Printf("\n\n"); return; } - StackTrace::PrintStack(trace, size, common_flags()->symbolize, - MaybeCallAsanSymbolize); - Printf("\n"); + StackTrace::PrintStack(trace, size, MaybeCallAsanSymbolize); + Printf("\n"); } void PrintStack(StackTrace *stack) { diff --git a/lib/lsan/lsan_common.cc b/lib/lsan/lsan_common.cc index 8a3bc2e3..e305c0e2 100644 --- a/lib/lsan/lsan_common.cc +++ b/lib/lsan/lsan_common.cc @@ -295,7 +295,7 @@ static void PrintStackTraceById(u32 stack_trace_id) { CHECK(stack_trace_id); uptr size = 0; const uptr *trace = StackDepotGet(stack_trace_id, &size); - StackTrace::PrintStack(trace, size, common_flags()->symbolize, 0); + StackTrace::PrintStack(trace, size); } // ForEachChunk callback. Aggregates unreachable chunks into a LeakReport. diff --git a/lib/msan/msan.cc b/lib/msan/msan.cc index 92384315..8d2c5ec9 100644 --- a/lib/msan/msan.cc +++ b/lib/msan/msan.cc @@ -142,6 +142,7 @@ static void ParseFlagsFromString(Flags *f, const char *str) { static void InitializeFlags(Flags *f, const char *options) { CommonFlags *cf = common_flags(); cf->external_symbolizer_path = GetEnv("MSAN_SYMBOLIZER_PATH"); + cf->symbolize = true; cf->strip_path_prefix = ""; cf->fast_unwind_on_fatal = false; cf->fast_unwind_on_malloc = true; diff --git a/lib/msan/msan_report.cc b/lib/msan/msan_report.cc index c0765016..a629304e 100644 --- a/lib/msan/msan_report.cc +++ b/lib/msan/msan_report.cc @@ -36,7 +36,7 @@ class Decorator: private __sanitizer::AnsiColorDecorator { static void PrintStack(const uptr *trace, uptr size) { SymbolizerScope sym_scope; - StackTrace::PrintStack(trace, size, true, 0); + StackTrace::PrintStack(trace, size); Printf("\n"); } diff --git a/lib/sanitizer_common/sanitizer_stacktrace.cc b/lib/sanitizer_common/sanitizer_stacktrace.cc index 2e9640b8..70209f25 100644 --- a/lib/sanitizer_common/sanitizer_stacktrace.cc +++ b/lib/sanitizer_common/sanitizer_stacktrace.cc @@ -38,7 +38,7 @@ static void PrintStackFramePrefix(uptr frame_num, uptr pc) { Printf(" #%zu 0x%zx", frame_num, pc); } -void StackTrace::PrintStack(const uptr *addr, uptr size, bool symbolize, +void StackTrace::PrintStack(const uptr *addr, uptr size, SymbolizeCallback symbolize_callback) { MemoryMappingLayout proc_maps(/*cache_enabled*/true); InternalScopedBuffer buff(GetPageSizeCached() * 2); @@ -62,7 +62,7 @@ void StackTrace::PrintStack(const uptr *addr, uptr size, bool symbolize, frame_num++; } } - if (symbolize && addr_frames_num == 0) { + if (common_flags()->symbolize && addr_frames_num == 0) { // Use our own (online) symbolizer, if necessary. if (Symbolizer *sym = Symbolizer::GetOrNull()) addr_frames_num = diff --git a/lib/sanitizer_common/sanitizer_stacktrace.h b/lib/sanitizer_common/sanitizer_stacktrace.h index c191d891..e66e2a9b 100644 --- a/lib/sanitizer_common/sanitizer_stacktrace.h +++ b/lib/sanitizer_common/sanitizer_stacktrace.h @@ -34,8 +34,8 @@ struct StackTrace { uptr size; uptr trace[kStackTraceMax]; - static void PrintStack(const uptr *addr, uptr size, bool symbolize, - SymbolizeCallback symbolize_callback); + static void PrintStack(const uptr *addr, uptr size, + SymbolizeCallback symbolize_callback = 0); void CopyFrom(const uptr *src, uptr src_size) { size = src_size; -- cgit v1.2.3