Author: Jonas Devlieghere Date: 2022-04-05T13:46:41-07:00 New Revision: f2ea125ea09d9e4512fa08a89eac5e0069d83738
URL: https://github.com/llvm/llvm-project/commit/f2ea125ea09d9e4512fa08a89eac5e0069d83738 DIFF: https://github.com/llvm/llvm-project/commit/f2ea125ea09d9e4512fa08a89eac5e0069d83738.diff LOG: [lldb] Change CreateMemoryInstance to take a WritableDataBuffer Change the CreateMemoryInstance interface to take a WritableDataBuffer. Differential revision: https://reviews.llvm.org/D123073 Added: Modified: lldb/include/lldb/Symbol/ObjectFile.h lldb/include/lldb/lldb-private-interfaces.h lldb/source/Core/Module.cpp lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h lldb/source/Symbol/ObjectFile.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/Symbol/ObjectFile.h b/lldb/include/lldb/Symbol/ObjectFile.h index 73202a2d6ec55..c61e3c138944a 100644 --- a/lldb/include/lldb/Symbol/ObjectFile.h +++ b/lldb/include/lldb/Symbol/ObjectFile.h @@ -116,10 +116,10 @@ class ObjectFile : public std::enable_shared_from_this<ObjectFile>, /// 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 @@ class ObjectFile : public std::enable_shared_from_this<ObjectFile>, 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 index 33b902b378f18..426fede9a7433 100644 --- a/lldb/include/lldb/lldb-private-interfaces.h +++ b/lldb/include/lldb/lldb-private-interfaces.h @@ -51,7 +51,7 @@ typedef ObjectFile *(*ObjectFileCreateInstance)(const lldb::ModuleSP &module_sp, 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 index 8dbbac7187edd..3adfefb6e37d7 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -304,15 +304,15 @@ ObjectFile *Module::GetMemoryObjectFile(const lldb::ProcessSP &process_sp, std::lock_guard<std::recursive_mutex> guard(m_mutex); if (process_sp) { m_did_load_objfile = true; - auto data_up = std::make_unique<DataBufferHeap>(size_to_read, 0); + std::shared_ptr<DataBufferHeap> data_sp = + std::make_shared<DataBufferHeap>(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.cpp b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp index 6b208c220221b..c591a4a7534ca 100644 --- a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp +++ b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp @@ -84,7 +84,7 @@ ObjectFile *ObjectFileBreakpad::CreateInstance( } 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/Breakpad/ObjectFileBreakpad.h b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h index 155ad9631be32..074d667c1ca57 100644 --- a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h +++ b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h @@ -32,7 +32,7 @@ class ObjectFileBreakpad : public ObjectFile { 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/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index ce71c71b71371..684d070c54d26 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -390,7 +390,7 @@ ObjectFile *ObjectFileELF::CreateInstance(const lldb::ModuleSP &module_sp, } 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 @@ size_t ObjectFileELF::GetModuleSpecifications( // 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, } 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/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h index d55d88697f4bc..5deb2c7d163cc 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -73,7 +73,7 @@ class ObjectFileELF : public lldb_private::ObjectFile { 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 @@ class ObjectFileELF : public lldb_private::ObjectFile { 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<elf::ELFProgramHeader> ProgramHeaderColl; diff --git a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp index 97fac5cc70631..2ea83e4b68831 100644 --- a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp +++ b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp @@ -65,7 +65,7 @@ ObjectFile *ObjectFileJIT::CreateInstance(const lldb::ModuleSP &module_sp, } 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/JIT/ObjectFileJIT.h b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h index 8489d4924ef00..91fdd205eb200 100644 --- a/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h +++ b/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h @@ -38,7 +38,7 @@ class ObjectFileJIT : public lldb_private::ObjectFile { 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/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp index 211eaa00e217e..3de3ed2f84b79 100644 --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp @@ -848,7 +848,7 @@ ObjectFile *ObjectFileMachO::CreateInstance(const lldb::ModuleSP &module_sp, } 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<ObjectFile> objfile_up( @@ -929,7 +929,7 @@ ConstString ObjectFileMachO::GetSectionNameEHFrame() { 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 @@ bool ObjectFileMachO::MagicBytesMatch(DataBufferSP &data_sp, } 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, } 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/Mach-O/ObjectFileMachO.h b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h index aefc1fcaee8a8..b4f4ba6242a16 100644 --- 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 @@ class ObjectFileMachO : public lldb_private::ObjectFile { 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 @@ class ObjectFileMachO : public lldb_private::ObjectFile { 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/Minidump/ObjectFileMinidump.cpp b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp index bfa6d9e20497f..17b37afe557d9 100644 --- a/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp +++ b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp @@ -40,7 +40,7 @@ ObjectFile *ObjectFileMinidump::CreateInstance( } 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/Minidump/ObjectFileMinidump.h b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h index f055d64bf440d..b5c40445fe742 100644 --- a/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h +++ b/lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h @@ -43,7 +43,7 @@ class ObjectFileMinidump : public lldb_private::PluginInterface { 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/PDB/ObjectFilePDB.cpp b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp index 3981e1be0b726..1c10efed95640 100644 --- a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp +++ b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp @@ -98,7 +98,7 @@ ObjectFilePDB::CreateInstance(const ModuleSP &module_sp, DataBufferSP data_sp, } 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/PDB/ObjectFilePDB.h b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h index f516e1cd0760a..c06e72650e011 100644 --- a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h +++ b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h @@ -36,7 +36,7 @@ class ObjectFilePDB : public ObjectFile { 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/PECOFF/ObjectFilePECOFF.cpp b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp index 1238b32f8fe9a..e07b2edd2b173 100644 --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp @@ -111,7 +111,7 @@ ObjectFile *ObjectFilePECOFF::CreateInstance( } 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 @@ bool ObjectFilePECOFF::SaveCore(const lldb::ProcessSP &process_sp, 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 @@ bool ObjectFilePECOFF::CreateBinary() { } 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, } 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/PECOFF/ObjectFilePECOFF.h b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h index 44e9271d0b5b4..9f1adb5e484a5 100644 --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h @@ -41,13 +41,13 @@ class ObjectFilePECOFF : public lldb_private::ObjectFile { 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 @@ class ObjectFilePECOFF : public lldb_private::ObjectFile { 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 @@ class ObjectFilePECOFF : public lldb_private::ObjectFile { 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/wasm/ObjectFileWasm.cpp b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp index d0863590c31f8..58be1d0c7dbe4 100644 --- a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp +++ b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp @@ -141,7 +141,7 @@ ObjectFileWasm::CreateInstance(const ModuleSP &module_sp, DataBufferSP data_sp, } 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 @@ size_t ObjectFileWasm::GetModuleSpecifications( 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 ModuleSP &module_sp, DataBufferSP &data_sp, } 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/Plugins/ObjectFile/wasm/ObjectFileWasm.h b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h index d6024ba014bb4..5676030f955eb 100644 --- a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h +++ b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h @@ -35,7 +35,7 @@ class ObjectFileWasm : public ObjectFile { 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 @@ class ObjectFileWasm : public ObjectFile { llvm::Optional<FileSpec> 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/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp index b3c0fd452204b..6d4fb22631bc6 100644 --- a/lldb/source/Symbol/ObjectFile.cpp +++ b/lldb/source/Symbol/ObjectFile.cpp @@ -35,7 +35,7 @@ size_t ObjectFile::g_initial_bytes_to_read = 512; 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 @@ ObjectFile::FindPlugin(const lldb::ModuleSP &module_sp, const FileSpec *file, 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 @@ size_t ObjectFile::GetModuleSpecifications( 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 diff erent from the original module's file m_type(eTypeInvalid), m_strata(eStrataInvalid), @@ -265,7 +264,7 @@ ObjectFile::ObjectFile(const lldb::ModuleSP &module_sp, 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(), _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits