llvm-project/lldb/unittests/Process/minidump
Joseph Tremoulet 85dfcaadc5 [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
2021-01-14 13:17:57 -05:00
..
Inputs minidump: Use yaml for memory info tests 2019-10-14 14:16:39 +00:00
CMakeLists.txt minidump: Use yaml for memory info tests 2019-10-14 14:16:39 +00:00
MinidumpParserTest.cpp [LLDB] MinidumpParser: Prefer executable module even at higher address 2021-01-14 13:17:57 -05:00
RegisterContextMinidumpTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00