mirror of
https://github.com/intel/llvm.git
synced 2026-01-27 06:06:34 +08:00
Added the ability to extract a ModuleSpecList (a new class) from an ObjectFile. This is designed to be used when you have an object file that contains one or more architectures (MacOSX universal (fat) files) and/or one or more objects (BSD archive (.a files)).
There is a new static ObjectFile function you can call:
size_t
ObjectFile::GetModuleSpecifications (const FileSpec &file,
lldb::offset_t file_offset,
ModuleSpecList &specs)
This will fill in "specs" which the details of all the module specs (file + arch + UUID (if there is one) + object name (for BSD archive objects eventually) + file offset to the object in question).
This helps us when a user specifies a file that contains a single architecture, and also helps us when we are given a debug symbol file (like a dSYM file on MacOSX) that contains one or more architectures and we need to be able to match it up to an existing Module that has no debug info.
llvm-svn: 180224
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#include "lldb/Host/FileSpec.h"
|
||||
#include "lldb/Core/FileSpecList.h"
|
||||
#include "lldb/Core/Module.h"
|
||||
#include "lldb/Core/ModuleSpec.h"
|
||||
#include "lldb/Core/PluginManager.h"
|
||||
#include "lldb/Core/Section.h"
|
||||
#include "lldb/Core/StreamFile.h"
|
||||
@@ -121,7 +122,8 @@ ObjectFilePECOFF::Initialize()
|
||||
PluginManager::RegisterPlugin (GetPluginNameStatic(),
|
||||
GetPluginDescriptionStatic(),
|
||||
CreateInstance,
|
||||
CreateMemoryInstance);
|
||||
CreateMemoryInstance,
|
||||
GetModuleSpecifications);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -179,6 +181,18 @@ ObjectFilePECOFF::CreateMemoryInstance (const lldb::ModuleSP &module_sp,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
size_t
|
||||
ObjectFilePECOFF::GetModuleSpecifications (const lldb_private::FileSpec& file,
|
||||
lldb::DataBufferSP& data_sp,
|
||||
lldb::offset_t data_offset,
|
||||
lldb::offset_t file_offset,
|
||||
lldb::offset_t length,
|
||||
lldb_private::ModuleSpecList &specs)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
ObjectFilePECOFF::MagicBytesMatch (DataBufferSP& data_sp)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user