[Lldb-commits] [PATCH] D86261: Add hashing of the .text section to ProcessMinidump.

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 19 20:56:20 PDT 2020


clayborg created this revision.
clayborg added reviewers: labath, jhenderson, aadsm, wallace.
Herald added a project: LLDB.
clayborg requested review of this revision.
Herald added a subscriber: JDevlieghere.

Breakpad will always have a UUID for binaries when it creates minidump files. If an ELF files has a GNU build ID, it will use that. If it doesn't, it will create one by hashing up to the first 4096 bytes of the .text section. LLDB was not able to load these binaries even when we had the right binary because the UUID didn't match. LLDB will use the GNU build ID first as the main UUID for a binary and fallback onto a 8 byte CRC if a binary doesn't have one. With this fix, we will check for the Breakpad hash or the Facebook hash (a modified version of the breakpad hash that collides a bit less) and accept binaries when these hashes match.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86261

Files:
  lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
  lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
  lldb/test/API/functionalities/postmortem/minidump-new/libbreakpad.yaml
  lldb/test/API/functionalities/postmortem/minidump-new/linux-arm-breakpad-uuid-match.yaml
  lldb/test/API/functionalities/postmortem/minidump-new/linux-arm-facebook-uuid-match.yaml

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86261.286706.patch
Type: text/x-patch
Size: 9875 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200820/2af5db33/attachment-0001.bin>


More information about the lldb-commits mailing list