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

Maxim Ostapenko via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 13 11:06:16 PDT 2017


m.ostapenko added inline comments.


================
Comment at: lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc:113
   SymbolizeCodeCallbackArg *cdata = (SymbolizeCodeCallbackArg *)vdata;
+  if (function == NULL && cdata->frames_symbolized)
+    return 0;
----------------
Hm, still can't get this. As far as I can understand, this callback is called before **SymbolizeCodeCallback** and `cdata->frames_symbolized > 0` becomes true only if somewhere before we executed line 121 where we have `function != NULL`. So, the situation with `(!function && cdata->frames_symbolized > 0)` corresponds to inlined calls (when multiple locations correspond to one PC), right? But in this case, won't we miss **filename** and **lineno** for that inlined functions? Or perhaps I'm missing something?


https://reviews.llvm.org/D34149





More information about the llvm-commits mailing list