summaryrefslogtreecommitdiff
path: root/lib/asan/asan_report.cc
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2013-10-18 14:50:44 +0000
committerKostya Serebryany <kcc@google.com>2013-10-18 14:50:44 +0000
commit6d95869fa900da9ddd68e15e2aa065854cfa176b (patch)
tree56c2d87779d8736d1ca4016d6974f89424f61670 /lib/asan/asan_report.cc
parentacd18b94d494ea946599ae40425ef9ee670b0183 (diff)
downloadcompiler-rt-6d95869fa900da9ddd68e15e2aa065854cfa176b.tar.gz
compiler-rt-6d95869fa900da9ddd68e15e2aa065854cfa176b.tar.bz2
compiler-rt-6d95869fa900da9ddd68e15e2aa065854cfa176b.tar.xz
[asan] reduce the size of AsanThreadContext by storing the stack trace in the stack depot
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192979 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/asan_report.cc')
-rw-r--r--lib/asan/asan_report.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/asan/asan_report.cc b/lib/asan/asan_report.cc
index 864c3e96..c62e00be 100644
--- a/lib/asan/asan_report.cc
+++ b/lib/asan/asan_report.cc
@@ -20,6 +20,7 @@
#include "sanitizer_common/sanitizer_common.h"
#include "sanitizer_common/sanitizer_flags.h"
#include "sanitizer_common/sanitizer_report_decorator.h"
+#include "sanitizer_common/sanitizer_stackdepot.h"
#include "sanitizer_common/sanitizer_symbolizer.h"
namespace __asan {
@@ -485,7 +486,9 @@ void DescribeThread(AsanThreadContext *context) {
context->parent_tid,
ThreadNameWithParenthesis(context->parent_tid,
tname, sizeof(tname)));
- PrintStack(&context->stack);
+ uptr stack_size;
+ const uptr *stack_trace = StackDepotGet(context->stack_id, &stack_size);
+ PrintStack(stack_trace, stack_size);
// Recursively described parent thread if needed.
if (flags()->print_full_thread_history) {
AsanThreadContext *parent_context =