[lldb] [llvm] [Obj2Yaml] Add support for minidump generation with 64b memory ranges. (PR #101272)

Greg Clayton via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 30 21:32:21 PDT 2024


================
@@ -136,6 +136,22 @@ static size_t layout(BlobAllocator &File, MinidumpYAML::ExceptionStream &S) {
   return DataEnd;
 }
 
+static size_t layout(BlobAllocator &File, MinidumpYAML::Memory64ListStream &S) {
+  size_t BaseRVA = File.tell() + sizeof(minidump::Memory64ListHeader);
----------------
clayborg wrote:

Don't use `size_t`, it is 32 bits on 32 bit architectures.

Shouldn't the BaseRVA be:
```
uint64_t BaseRVA = File.tell() + sizeof(minidump::Memory64ListHeader) + S.Entries.size() * sizeof(minidump:: MemoryDescriptor_64);
if (BaseRVA > UINT32_MAX)
  Error!
```
This RVA puts the BaseRVA right after the header and would explain your test suite issues.

https://github.com/llvm/llvm-project/pull/101272


More information about the llvm-commits mailing list