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

Jacob Lalonde via lldb-commits lldb-commits at lists.llvm.org
Thu Aug 8 09:25:05 PDT 2024


================
@@ -494,6 +528,23 @@ Stream::create(const Directory &StreamDesc, const object::MinidumpFile &File) {
     }
     return std::make_unique<MemoryListStream>(std::move(Ranges));
   }
+  case StreamKind::Memory64List: {
+    Error Err = Error::success();
+    auto Memory64List = File.getMemory64List(Err);
+    if (Err)
+      return Err;
+    std::vector<Memory64ListStream::entry_type> Ranges;
+    for (const auto &Pair : Memory64List) {
+      Ranges.push_back({Pair.first, Pair.second});
+    }
+
+    // If we don't have an error, or if any of the reads succeed, return ranges
+    // this would also work if we have no descriptors.
+    if (!Err || Ranges.size() > 0)
+      return std::make_unique<Memory64ListStream>(std::move(Ranges));
+
+    return Err;
----------------
Jlalond wrote:

You know it's been a fun PR when we've gone full circle! I've edited the code as you suggest.

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


More information about the lldb-commits mailing list