diff options
Diffstat (limited to 'lldb/source/Plugins/ObjectFile')
-rw-r--r-- | lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp | 15 | ||||
-rw-r--r-- | lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h | 1 |
2 files changed, 13 insertions, 3 deletions
diff --git a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp index bcac5ed..c5013ea 100644 --- a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp +++ b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp @@ -58,8 +58,8 @@ Status MinidumpFileBuilder::AddHeaderAndCalculateDirectories() { // First set the offset on the file, and on the bytes saved m_saved_data_size = HEADER_SIZE; // We know we will have at least Misc, SystemInfo, Modules, and ThreadList - // (corresponding memory list for stacks) And an additional memory list for - // non-stacks. + // (corresponding memory list for stacks), an additional memory list for + // non-stacks, and a stream to mark this minidump was generated by LLDB. lldb_private::Target &target = m_process_sp->GetTarget(); m_expected_directories = 6; // Check if OS is linux and reserve directory space for all linux specific @@ -90,7 +90,10 @@ Status MinidumpFileBuilder::AddHeaderAndCalculateDirectories() { "sections. Written / Expected (%" PRIx64 " / %" PRIx64 ")", new_offset, m_saved_data_size); - return error; + if (error.Fail()) + return error; + + return AddLLDBGeneratedStream(); } Status MinidumpFileBuilder::AddDirectory(StreamType type, @@ -126,6 +129,12 @@ Status MinidumpFileBuilder::AddDirectory(StreamType type, return error; } +Status MinidumpFileBuilder::AddLLDBGeneratedStream() { + Status error; + StreamType type = StreamType::LLDBGenerated; + return AddDirectory(type, 0); +} + Status MinidumpFileBuilder::AddSystemInfo() { Status error; const llvm::Triple &target_triple = diff --git a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h index 58b2846..48293ee 100644 --- a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h +++ b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h @@ -120,6 +120,7 @@ public: void DeleteFile() noexcept; private: + lldb_private::Status AddLLDBGeneratedStream(); // Add data to the end of the buffer, if the buffer exceeds the flush level, // trigger a flush. lldb_private::Status AddData(const void *data, uint64_t size); |