[PATCH] D68210: Object/minidump: Add support for the MemoryInfoList stream

Pavel Labath via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 30 05:39:07 PDT 2019


labath created this revision.
labath added reviewers: amccarth, jhenderson, clayborg.
Herald added a project: LLVM.

This patch adds the definitions of the constants and structures
necessary to interpret the MemoryInfoList minidump stream, as well as
the object::MinidumpFile interface to access the stream.

While the code is fairly simple, there is one important deviation from
the other minidump streams, which is worth calling out explicitly.
Unlike other "List" streams, the size of the records inside
MemoryInfoList stream is not known statically. Instead it is described
in the stream header. This makes it impossible to return
ArrayRef<MemoryInfo> from the accessor method, as it is done with other
streams. Instead, I create an iterator class, which can be parameterized
by the runtime size of the structure, and return
iterator_range<iterator> instead.


Repository:
  rL LLVM

https://reviews.llvm.org/D68210

Files:
  include/llvm/BinaryFormat/Minidump.h
  include/llvm/BinaryFormat/MinidumpConstants.def
  include/llvm/Object/Minidump.h
  lib/Object/Minidump.cpp
  unittests/Object/MinidumpTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68210.222395.patch
Type: text/x-patch
Size: 17546 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190930/78cd9e6b/attachment.bin>


More information about the llvm-commits mailing list