[PATCH] D34149: [ASAN] ASAN is not properly calling libbacktrace to symbolize program

Denis Khalikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 13 09:19:28 PDT 2017


denis13 updated this revision to Diff 102351.
denis13 added a comment.

Fix


https://reviews.llvm.org/D34149

Files:
  lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc


Index: lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc
===================================================================
--- lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc
+++ lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc
@@ -110,12 +110,14 @@
                                        const char *filename, int lineno,
                                        const char *function) {
   SymbolizeCodeCallbackArg *cdata = (SymbolizeCodeCallbackArg *)vdata;
+  if (function == NULL && cdata->frames_symbolized)
+    return 0;
+  AddressInfo *info = cdata->get_new_frame(addr);
+  if (filename)
+    info->file = internal_strdup(filename);
+  info->line = lineno;
   if (function) {
-    AddressInfo *info = cdata->get_new_frame(addr);
     info->function = DemangleAlloc(function, /*always_alloc*/ true);
-    if (filename)
-      info->file = internal_strdup(filename);
-    info->line = lineno;
     cdata->frames_symbolized++;
   }
   return 0;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34149.102351.patch
Type: text/x-patch
Size: 979 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170613/ae264402/attachment.bin>


More information about the llvm-commits mailing list