[PATCH] D88988: [llvm-symbolizer] Add inline stack traces for Windows.

Amy Huang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 22 13:40:09 PDT 2020


akhuang added a comment.

The result of `GetCurrentPc` does point to the GetCurrentPc return address. If I give that address to llvm-symbolizer it correctly gets `calloc` as the function. (And the call stack from the VS debugger looks correct as well). So as far as I can tell, LLVM's inline line annotations are correct and the symbolizer is doing the right thing.

However the first address in the stack trace is not that address.

I looked a bit more in the debugger yesterday asan's stack trace code, and stack traces are being created here <https://github.com/llvm/llvm-project/blob/1882568fcb08ed8af689f13826cc7e84c3c84e33/compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp#L27>. I guess it searches for the result of `GetCurrentPc` in the stack trace, but for some reason it's not there and the closest thing is the `UnwindImpl` return address?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88988/new/

https://reviews.llvm.org/D88988



More information about the llvm-commits mailing list