[lldb/Module] Allow for the creation of memory-only modules
Summary: This patch extends the ModuleSpec class to include a DataBufferSP which contains the module data. If this data is provided, LLDB won't try to hit the filesystem to create the Module, but use only the data stored in the ModuleSpec. Reviewers: labath, espindola Subscribers: emaste, MaskRay, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D83512
This commit is contained in:
@@ -541,7 +541,8 @@ size_t ObjectFileELF::GetModuleSpecifications(
|
||||
__FUNCTION__, file.GetPath().c_str());
|
||||
}
|
||||
|
||||
data_sp = MapFileData(file, -1, file_offset);
|
||||
if (data_sp->GetByteSize() < length)
|
||||
data_sp = MapFileData(file, -1, file_offset);
|
||||
if (data_sp)
|
||||
data.SetData(data_sp);
|
||||
// In case there is header extension in the section #0, the header we
|
||||
@@ -580,8 +581,7 @@ size_t ObjectFileELF::GetModuleSpecifications(
|
||||
func_cat,
|
||||
"Calculating module crc32 %s with size %" PRIu64 " KiB",
|
||||
file.GetLastPathComponent().AsCString(),
|
||||
(FileSystem::Instance().GetByteSize(file) - file_offset) /
|
||||
1024);
|
||||
(length - file_offset) / 1024);
|
||||
|
||||
// For core files - which usually don't happen to have a
|
||||
// gnu_debuglink, and are pretty bulky - calculating whole
|
||||
|
||||
Reference in New Issue
Block a user