[all-commits] [llvm/llvm-project] 85dfca: [LLDB] MinidumpParser: Prefer executable module ev...

Joseph Tremoulet via All-commits all-commits at lists.llvm.org
Thu Jan 14 10:18:50 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 85dfcaadc5f0920dc8ecbece6c786701b8f45ab4
      https://github.com/llvm/llvm-project/commit/85dfcaadc5f0920dc8ecbece6c786701b8f45ab4
  Author: Joseph Tremoulet <jotrem at microsoft.com>
  Date:   2021-01-14 (Thu, 14 Jan 2021)

  Changed paths:
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp

  Log Message:
  -----------
  [LLDB] MinidumpParser: Prefer executable module even at higher address

When a program maps one of its own modules for reading, and then
crashes, breakpad can emit two entries for that module in the
ModuleList.  We have logic to identify this case by checking permissions
on mapped memory regions and report just the module with an executable
region.  As currently written, though, the check is asymmetric -- the
entry with the executable region must be the second one encountered for
the preference to kick in.

This change makes the logic symmetric, so that the first-encountered
module will similarly be preferred if it has an executable region but
the second-encountered module does not.  This happens for example when
the module in question is the executable itself, which breakpad likes to
report first -- we need to ignore the other entry for that module when
we see it later, even though it may be mapped at a lower virtual
address.

Reviewed By: clayborg

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




More information about the All-commits mailing list