summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/msan/msan.cc
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-11-07 07:28:33 +0000
committerAlexey Samsonov <samsonov@google.com>2013-11-07 07:28:33 +0000
commitb3d939902a287fc1354da101349ffdd6830cb0a7 (patch)
tree08e20b30c96fe93a96f8762103604b37f4e42163 /compiler-rt/lib/msan/msan.cc
parent5d350b2ab6992e697a6bf143a44bfd78ca46224a (diff)
downloadbcm5719-llvm-b3d939902a287fc1354da101349ffdd6830cb0a7.tar.gz
bcm5719-llvm-b3d939902a287fc1354da101349ffdd6830cb0a7.zip
[Sanitizer] Make StackTrace::Unwind the only public way to unwind a stack trace.
llvm-svn: 194196
Diffstat (limited to 'compiler-rt/lib/msan/msan.cc')
-rw-r--r--compiler-rt/lib/msan/msan.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/compiler-rt/lib/msan/msan.cc b/compiler-rt/lib/msan/msan.cc
index 2530fb11673..26498a9b1f3 100644
--- a/compiler-rt/lib/msan/msan.cc
+++ b/compiler-rt/lib/msan/msan.cc
@@ -180,16 +180,15 @@ static void GetCurrentStackBounds(uptr *stack_top, uptr *stack_bottom) {
}
void GetStackTrace(StackTrace *stack, uptr max_s, uptr pc, uptr bp,
- bool fast) {
- if (!fast) {
+ bool request_fast_unwind) {
+ if (!StackTrace::WillUseFastUnwind(request_fast_unwind)) {
// Block reports from our interceptors during _Unwind_Backtrace.
SymbolizerScope sym_scope;
- return stack->SlowUnwindStack(pc, max_s);
+ return stack->Unwind(max_s, pc, bp, 0, 0, request_fast_unwind);
}
-
uptr stack_top, stack_bottom;
GetCurrentStackBounds(&stack_top, &stack_bottom);
- stack->FastUnwindStack(pc, bp, stack_top, stack_bottom, max_s);
+ stack->Unwind(max_s, pc, bp, stack_top, stack_bottom, request_fast_unwind);
}
void PrintWarning(uptr pc, uptr bp) {
OpenPOWER on IntegriCloud