[all-commits] [llvm/llvm-project] d30797: [lldb] Minidump: check for .text hash match with d...

Joseph Tremoulet via All-commits all-commits at lists.llvm.org
Fri Oct 16 06:33:08 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d30797b4041ffe215b92d376af60c4f26a0555ae
      https://github.com/llvm/llvm-project/commit/d30797b4041ffe215b92d376af60c4f26a0555ae
  Author: Joseph Tremoulet <jotrem at microsoft.com>
  Date:   2020-10-16 (Fri, 16 Oct 2020)

  Changed paths:
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
    M lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
    A lldb/test/API/functionalities/postmortem/minidump-new/libbreakpad-decoy.yaml

  Log Message:
  -----------
  [lldb] Minidump: check for .text hash match with directory

When opening a minidump, we might discover that it reports a UUID for a
module that doesn't match the build ID, but rather a hash of the .text
section (according to either of two different hash functions, used by
breakpad and Facebook respectively).  The current logic searches for a
module by filename only to check the hash; this change updates it to
first search by directory+filename.  This is important when the
directory specified in the minidump must be interpreted relative to a
user-provided sysoort, as the leaf directory won't be in the search path
in that case.

Also add a regression test; without this change, module validation fails
because we have just the placeholder module which reports as its path
the platform path in the minidump.

Reviewed By: clayborg

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




More information about the All-commits mailing list