[all-commits] [llvm/llvm-project] 91e90c: lldb/Instrumentation: NFC-ish use GetFrameCodeAddr...

fredriss via All-commits all-commits at lists.llvm.org
Thu Apr 22 13:33:52 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 91e90cf622074633009788a220a354043a609dee
      https://github.com/llvm/llvm-project/commit/91e90cf622074633009788a220a354043a609dee
  Author: Fred Riss <friss at apple.com>
  Date:   2021-04-22 (Thu, 22 Apr 2021)

  Changed paths:
    M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp
    M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp

  Log Message:
  -----------
  lldb/Instrumentation: NFC-ish use GetFrameCodeAddressForSymbolication()

A couple of our Instrumentation runtimes were gathering backtraces,
storing it in a StructuredData array and later creating a HistoryThread
using this data. By deafult HistoryThread will consider the history PCs
as return addresses and thus will substract 1 from them to go to the
call address.

This is usually correct, but it's also wasteful as when we gather the
backtraces ourselves, we have much better information to decide how
to backtrace and symbolicate. This patch uses the new
GetFrameCodeAddressForSymbolication() to gather the PCs that should
be used for symbolication and configures the HistoryThread to just
use those PCs as-is.

(The MTC plugin was actaully applying a -1 itself and then the
HistoryThread would do it again, so this actaully fixes a bug there.)

rdar://77027680

Differential Revision: https://reviews.llvm.org/D101094




More information about the All-commits mailing list