summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_stacktrace.cc
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2012-10-18 11:46:22 +0000
committerAlexey Samsonov <samsonov@google.com>2012-10-18 11:46:22 +0000
commitd5951e6b869dc973dd442bf3c79dc9d852d404f7 (patch)
tree60e7cf9ab6087ae4562583ba5192efde5885333f /lib/sanitizer_common/sanitizer_stacktrace.cc
parent49441816aa9a4c7bb27a41c880e56f01d9fd85d6 (diff)
downloadcompiler-rt-d5951e6b869dc973dd442bf3c79dc9d852d404f7.tar.gz
compiler-rt-d5951e6b869dc973dd442bf3c79dc9d852d404f7.tar.bz2
compiler-rt-d5951e6b869dc973dd442bf3c79dc9d852d404f7.tar.xz
[Sanitizer] fall back to online symbolizer if user-provided callback failed
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@166177 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_stacktrace.cc')
-rw-r--r--lib/sanitizer_common/sanitizer_stacktrace.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sanitizer_common/sanitizer_stacktrace.cc b/lib/sanitizer_common/sanitizer_stacktrace.cc
index 537f1973..0a54e7c9 100644
--- a/lib/sanitizer_common/sanitizer_stacktrace.cc
+++ b/lib/sanitizer_common/sanitizer_stacktrace.cc
@@ -77,7 +77,8 @@ void StackTrace::PrintStack(const uptr *addr, uptr size,
Printf(" %s\n", StripPathPrefix(buff.data(), strip_file_prefix));
frame_num++;
}
- } else if (symbolize) {
+ }
+ if (symbolize && addr_frames_num == 0) {
// Use our own (online) symbolizer, if necessary.
addr_frames_num = SymbolizeCode(pc, addr_frames.data(),
addr_frames.size());