[all-commits] [llvm/llvm-project] 6cb145: [LLDB][Minidump] Fix ProcessMinidump::GetMemoryReg...

Jacob Lalonde via All-commits all-commits at lists.llvm.org
Wed Aug 21 10:25:45 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6cb14599ade843be3171fa7e4dd5f3601a3bb0de
      https://github.com/llvm/llvm-project/commit/6cb14599ade843be3171fa7e4dd5f3601a3bb0de
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.h
    M lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpTypes.h
    M lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
    A lldb/test/API/functionalities/postmortem/minidump-new/linux-x86_64_mem64.yaml

  Log Message:
  -----------
  [LLDB][Minidump] Fix ProcessMinidump::GetMemoryRegions to include 64b regions when /proc/pid maps are missing. (#101086)

This PR is in response to a bug my coworker @mbucko discovered where on
MacOS Minidumps were being created where the 64b memory regions were
readable, but were not being listed in
`SBProcess.GetMemoryRegionList()`. This went unnoticed in #95312 due to
all the linux testing including /proc/pid maps. On MacOS generated dumps
(or any dump without access to /proc/pid) we would fail to properly map
Memory Regions due to there being two independent methods for 32b and
64b mapping.

In this PR I addressed this minor bug and merged the methods, but in
order to add test coverage required additions to `obj2yaml` and
`yaml2obj` which make up the bulk of this patch.

Lastly, there are some non-required changes such as the addition of the
`Memory64ListHeader` type, to make writing/reading the header section of
the Memory64List easier.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list