diff --git a/lldb/include/lldb/Symbol/ObjectFile.h b/lldb/include/lldb/Symbol/ObjectFile.h --- a/lldb/include/lldb/Symbol/ObjectFile.h +++ b/lldb/include/lldb/Symbol/ObjectFile.h @@ -116,10 +116,10 @@ /// more than one architecture or object. ObjectFile(const lldb::ModuleSP &module_sp, const FileSpec *file_spec_ptr, lldb::offset_t file_offset, lldb::offset_t length, - const lldb::DataBufferSP &data_sp, lldb::offset_t data_offset); + lldb::DataBufferSP data_sp, lldb::offset_t data_offset); ObjectFile(const lldb::ModuleSP &module_sp, const lldb::ProcessSP &process_sp, - lldb::addr_t header_addr, lldb::DataBufferSP &data_sp); + lldb::addr_t header_addr, lldb::DataBufferSP data_sp); /// Destructor. /// @@ -183,7 +183,7 @@ static lldb::ObjectFileSP FindPlugin(const lldb::ModuleSP &module_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr, - lldb::DataBufferSP &file_data_sp); + lldb::WritableDataBufferSP file_data_sp); static size_t GetModuleSpecifications(const FileSpec &file, lldb::offset_t file_offset, diff --git a/lldb/include/lldb/lldb-private-interfaces.h b/lldb/include/lldb/lldb-private-interfaces.h --- a/lldb/include/lldb/lldb-private-interfaces.h +++ b/lldb/include/lldb/lldb-private-interfaces.h @@ -51,7 +51,7 @@ lldb::offset_t file_offset, lldb::offset_t length); typedef ObjectFile *(*ObjectFileCreateMemoryInstance)( - const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t offset); typedef bool (*ObjectFileSaveCore)(const lldb::ProcessSP &process_sp, const FileSpec &outfile, diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -304,15 +304,15 @@ std::lock_guard guard(m_mutex); if (process_sp) { m_did_load_objfile = true; - auto data_up = std::make_unique(size_to_read, 0); + std::shared_ptr data_sp = + std::make_shared(size_to_read, 0); Status readmem_error; const size_t bytes_read = - process_sp->ReadMemory(header_addr, data_up->GetBytes(), - data_up->GetByteSize(), readmem_error); + process_sp->ReadMemory(header_addr, data_sp->GetBytes(), + data_sp->GetByteSize(), readmem_error); if (bytes_read < size_to_read) - data_up->SetByteSize(bytes_read); - if (data_up->GetByteSize() > 0) { - DataBufferSP data_sp(data_up.release()); + data_sp->SetByteSize(bytes_read); + if (data_sp->GetByteSize() > 0) { m_objfile_sp = ObjectFile::FindPlugin(shared_from_this(), process_sp, header_addr, data_sp); if (m_objfile_sp) { diff --git a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h --- a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h +++ b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h @@ -32,7 +32,7 @@ lldb::offset_t file_offset, lldb::offset_t length); static ObjectFile *CreateMemoryInstance(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP data_sp, + lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); diff --git a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp --- a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp +++ b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp @@ -84,7 +84,7 @@ } ObjectFile *ObjectFileBreakpad::CreateMemoryInstance( - const ModuleSP &module_sp, DataBufferSP data_sp, + const ModuleSP &module_sp, WritableDataBufferSP data_sp, const ProcessSP &process_sp, addr_t header_addr) { return nullptr; } diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -73,7 +73,7 @@ lldb::offset_t file_offset, lldb::offset_t length); static lldb_private::ObjectFile *CreateMemoryInstance( - const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); static size_t GetModuleSpecifications(const lldb_private::FileSpec &file, @@ -164,12 +164,12 @@ uint64_t Offset); private: - ObjectFileELF(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, + ObjectFileELF(const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t offset, lldb::offset_t length); ObjectFileELF(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP &header_data_sp, + lldb::DataBufferSP header_data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); typedef std::vector ProgramHeaderColl; diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -390,7 +390,7 @@ } ObjectFile *ObjectFileELF::CreateMemoryInstance( - const lldb::ModuleSP &module_sp, DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr) { if (data_sp && data_sp->GetByteSize() > (llvm::ELF::EI_NIDENT)) { const uint8_t *magic = data_sp->GetBytes(); @@ -639,7 +639,7 @@ // ObjectFile protocol ObjectFileELF::ObjectFileELF(const lldb::ModuleSP &module_sp, - DataBufferSP &data_sp, lldb::offset_t data_offset, + DataBufferSP data_sp, lldb::offset_t data_offset, const FileSpec *file, lldb::offset_t file_offset, lldb::offset_t length) : ObjectFile(module_sp, file, file_offset, length, data_sp, data_offset) { @@ -648,7 +648,7 @@ } ObjectFileELF::ObjectFileELF(const lldb::ModuleSP &module_sp, - DataBufferSP &header_data_sp, + DataBufferSP header_data_sp, const lldb::ProcessSP &process_sp, addr_t header_addr) : ObjectFile(module_sp, process_sp, header_addr, header_data_sp) {} diff --git a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h --- a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h +++ b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h @@ -38,7 +38,7 @@ lldb::offset_t file_offset, lldb::offset_t length); static lldb_private::ObjectFile *CreateMemoryInstance( - const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); static size_t GetModuleSpecifications(const lldb_private::FileSpec &file, diff --git a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp --- a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp +++ b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp @@ -65,7 +65,7 @@ } ObjectFile *ObjectFileJIT::CreateMemoryInstance(const lldb::ModuleSP &module_sp, - DataBufferSP data_sp, + WritableDataBufferSP data_sp, const ProcessSP &process_sp, lldb::addr_t header_addr) { // JIT'ed object file is backed by the ObjectFileJITDelegate, never read from diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h @@ -22,12 +22,13 @@ // will export the ObjectFile protocol class ObjectFileMachO : public lldb_private::ObjectFile { public: - ObjectFileMachO(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, + ObjectFileMachO(const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t offset, lldb::offset_t length); - ObjectFileMachO(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, + ObjectFileMachO(const lldb::ModuleSP &module_sp, + lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); ~ObjectFileMachO() override = default; @@ -49,7 +50,7 @@ lldb::offset_t file_offset, lldb::offset_t length); static lldb_private::ObjectFile *CreateMemoryInstance( - const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); static size_t GetModuleSpecifications(const lldb_private::FileSpec &file, @@ -64,7 +65,7 @@ lldb::SaveCoreStyle &core_style, lldb_private::Status &error); - static bool MagicBytesMatch(lldb::DataBufferSP &data_sp, lldb::addr_t offset, + static bool MagicBytesMatch(lldb::DataBufferSP data_sp, lldb::addr_t offset, lldb::addr_t length); // LLVM RTTI support diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp @@ -848,7 +848,7 @@ } ObjectFile *ObjectFileMachO::CreateMemoryInstance( - const lldb::ModuleSP &module_sp, DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, WritableDataBufferSP data_sp, const ProcessSP &process_sp, lldb::addr_t header_addr) { if (ObjectFileMachO::MagicBytesMatch(data_sp, 0, data_sp->GetByteSize())) { std::unique_ptr objfile_up( @@ -929,7 +929,7 @@ return g_section_name_eh_frame; } -bool ObjectFileMachO::MagicBytesMatch(DataBufferSP &data_sp, +bool ObjectFileMachO::MagicBytesMatch(DataBufferSP data_sp, lldb::addr_t data_offset, lldb::addr_t data_length) { DataExtractor data; @@ -940,7 +940,7 @@ } ObjectFileMachO::ObjectFileMachO(const lldb::ModuleSP &module_sp, - DataBufferSP &data_sp, + DataBufferSP data_sp, lldb::offset_t data_offset, const FileSpec *file, lldb::offset_t file_offset, @@ -954,7 +954,7 @@ } ObjectFileMachO::ObjectFileMachO(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP &header_data_sp, + lldb::WritableDataBufferSP header_data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr) : ObjectFile(module_sp, process_sp, header_addr, header_data_sp), diff --git a/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h --- a/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h +++ b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h @@ -43,7 +43,7 @@ lldb::offset_t offset, lldb::offset_t length); static lldb_private::ObjectFile *CreateMemoryInstance( - const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); static size_t GetModuleSpecifications(const lldb_private::FileSpec &file, diff --git a/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp --- a/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp +++ b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp @@ -40,7 +40,7 @@ } ObjectFile *ObjectFileMinidump::CreateMemoryInstance( - const lldb::ModuleSP &module_sp, DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, WritableDataBufferSP data_sp, const ProcessSP &process_sp, lldb::addr_t header_addr) { return nullptr; } diff --git a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h --- a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h +++ b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h @@ -36,7 +36,7 @@ lldb::offset_t file_offset, lldb::offset_t length); static ObjectFile *CreateMemoryInstance(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP data_sp, + lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); diff --git a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp --- a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp +++ b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp @@ -98,7 +98,7 @@ } ObjectFile *ObjectFilePDB::CreateMemoryInstance(const ModuleSP &module_sp, - DataBufferSP data_sp, + WritableDataBufferSP data_sp, const ProcessSP &process_sp, addr_t header_addr) { return nullptr; diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h @@ -41,13 +41,13 @@ MachineWcemIpsv2 = 0x169 }; - ObjectFilePECOFF(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, + ObjectFilePECOFF(const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t file_offset, lldb::offset_t length); ObjectFilePECOFF(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP &header_data_sp, + lldb::WritableDataBufferSP header_data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); ~ObjectFilePECOFF() override; @@ -67,7 +67,7 @@ lldb::offset_t offset, lldb::offset_t length); static lldb_private::ObjectFile *CreateMemoryInstance( - const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); static size_t GetModuleSpecifications(const lldb_private::FileSpec &file, @@ -82,7 +82,7 @@ lldb::SaveCoreStyle &core_style, lldb_private::Status &error); - static bool MagicBytesMatch(lldb::DataBufferSP &data_sp); + static bool MagicBytesMatch(lldb::DataBufferSP data_sp); static lldb::SymbolType MapSymbolType(uint16_t coff_symbol_type); diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp @@ -111,7 +111,7 @@ } ObjectFile *ObjectFilePECOFF::CreateMemoryInstance( - const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, + const lldb::ModuleSP &module_sp, lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr) { if (!data_sp || !ObjectFilePECOFF::MagicBytesMatch(data_sp)) return nullptr; @@ -189,7 +189,7 @@ return SaveMiniDump(process_sp, outfile, error); } -bool ObjectFilePECOFF::MagicBytesMatch(DataBufferSP &data_sp) { +bool ObjectFilePECOFF::MagicBytesMatch(DataBufferSP data_sp) { DataExtractor data(data_sp, eByteOrderLittle, 4); lldb::offset_t offset = 0; uint16_t magic = data.GetU16(&offset); @@ -234,7 +234,7 @@ } ObjectFilePECOFF::ObjectFilePECOFF(const lldb::ModuleSP &module_sp, - DataBufferSP &data_sp, + DataBufferSP data_sp, lldb::offset_t data_offset, const FileSpec *file, lldb::offset_t file_offset, @@ -247,7 +247,7 @@ } ObjectFilePECOFF::ObjectFilePECOFF(const lldb::ModuleSP &module_sp, - DataBufferSP &header_data_sp, + WritableDataBufferSP header_data_sp, const lldb::ProcessSP &process_sp, addr_t header_addr) : ObjectFile(module_sp, process_sp, header_addr, header_data_sp), diff --git a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h --- a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h +++ b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h @@ -35,7 +35,7 @@ lldb::offset_t file_offset, lldb::offset_t length); static ObjectFile *CreateMemoryInstance(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP data_sp, + lldb::WritableDataBufferSP data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); @@ -111,11 +111,11 @@ llvm::Optional GetExternalDebugInfoFileSpec(); private: - ObjectFileWasm(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, + ObjectFileWasm(const lldb::ModuleSP &module_sp, lldb::DataBufferSP data_sp, lldb::offset_t data_offset, const FileSpec *file, lldb::offset_t offset, lldb::offset_t length); ObjectFileWasm(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP &header_data_sp, + lldb::WritableDataBufferSP header_data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr); /// Wasm section decoding routines. diff --git a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp --- a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp +++ b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp @@ -141,7 +141,7 @@ } ObjectFile *ObjectFileWasm::CreateMemoryInstance(const ModuleSP &module_sp, - DataBufferSP data_sp, + WritableDataBufferSP data_sp, const ProcessSP &process_sp, addr_t header_addr) { if (!ValidateModuleHeader(data_sp)) @@ -227,7 +227,7 @@ return 1; } -ObjectFileWasm::ObjectFileWasm(const ModuleSP &module_sp, DataBufferSP &data_sp, +ObjectFileWasm::ObjectFileWasm(const ModuleSP &module_sp, DataBufferSP data_sp, offset_t data_offset, const FileSpec *file, offset_t offset, offset_t length) : ObjectFile(module_sp, file, offset, length, data_sp, data_offset), @@ -236,7 +236,7 @@ } ObjectFileWasm::ObjectFileWasm(const lldb::ModuleSP &module_sp, - lldb::DataBufferSP &header_data_sp, + lldb::WritableDataBufferSP header_data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr) : ObjectFile(module_sp, process_sp, header_addr, header_data_sp), diff --git a/lldb/source/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp --- a/lldb/source/Symbol/ObjectFile.cpp +++ b/lldb/source/Symbol/ObjectFile.cpp @@ -35,7 +35,7 @@ static ObjectFileSP CreateObjectFromContainer(const lldb::ModuleSP &module_sp, const FileSpec *file, lldb::offset_t file_offset, lldb::offset_t file_size, - DataBufferSP &data_sp, lldb::offset_t &data_offset) { + DataBufferSP data_sp, lldb::offset_t &data_offset) { ObjectContainerCreateInstance callback; for (uint32_t idx = 0; (callback = PluginManager::GetObjectContainerCreateCallbackAtIndex( @@ -152,7 +152,7 @@ ObjectFileSP ObjectFile::FindPlugin(const lldb::ModuleSP &module_sp, const ProcessSP &process_sp, lldb::addr_t header_addr, - DataBufferSP &data_sp) { + WritableDataBufferSP data_sp) { ObjectFileSP object_file_sp; if (module_sp) { @@ -241,8 +241,7 @@ ObjectFile::ObjectFile(const lldb::ModuleSP &module_sp, const FileSpec *file_spec_ptr, lldb::offset_t file_offset, lldb::offset_t length, - const lldb::DataBufferSP &data_sp, - lldb::offset_t data_offset) + lldb::DataBufferSP data_sp, lldb::offset_t data_offset) : ModuleChild(module_sp), m_file(), // This file could be different from the original module's file m_type(eTypeInvalid), m_strata(eStrataInvalid), @@ -265,7 +264,7 @@ ObjectFile::ObjectFile(const lldb::ModuleSP &module_sp, const ProcessSP &process_sp, lldb::addr_t header_addr, - DataBufferSP &header_data_sp) + DataBufferSP header_data_sp) : ModuleChild(module_sp), m_file(), m_type(eTypeInvalid), m_strata(eStrataInvalid), m_file_offset(0), m_length(0), m_data(), m_process_wp(process_sp), m_memory_addr(header_addr), m_sections_up(),