#ifndef liblldb_ObjectContainerBSDArchive_h_
#define liblldb_ObjectContainerBSDArchive_h_
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
#include "lldb/Symbol/ObjectContainer.h"
-
#include "lldb/Core/ArchSpec.h"
#include "lldb/Core/ConstString.h"
#include "lldb/Host/FileSpec.h"
public lldb_private::ObjectContainer
{
public:
+ ObjectContainerBSDArchive(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);
+
+ ~ObjectContainerBSDArchive() override;
//------------------------------------------------------------------
// Static Functions
//------------------------------------------------------------------
// Member Functions
//------------------------------------------------------------------
- ObjectContainerBSDArchive (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);
-
- virtual
- ~ObjectContainerBSDArchive();
+ bool
+ ParseHeader() override;
- virtual bool
- ParseHeader ();
-
- virtual size_t
- GetNumObjects () const
+ size_t
+ GetNumObjects() const override
{
if (m_archive_sp)
return m_archive_sp->GetNumObjects();
return 0;
}
- virtual void
- Dump (lldb_private::Stream *s) const;
- virtual lldb::ObjectFileSP
- GetObjectFile (const lldb_private::FileSpec *file);
+ void
+ Dump(lldb_private::Stream *s) const override;
+
+ lldb::ObjectFileSP
+ GetObjectFile(const lldb_private::FileSpec *file) override;
//------------------------------------------------------------------
// PluginInterface protocol
//------------------------------------------------------------------
- virtual lldb_private::ConstString
- GetPluginName();
+ lldb_private::ConstString
+ GetPluginName() override;
- virtual uint32_t
- GetPluginVersion();
+ uint32_t
+ GetPluginVersion() override;
protected:
-
struct Object
{
Object();
typedef std::shared_ptr<Archive> shared_ptr;
typedef std::multimap<lldb_private::FileSpec, shared_ptr> Map;
+ Archive(const lldb_private::ArchSpec &arch,
+ const lldb_private::TimeValue &mod_time,
+ lldb::offset_t file_offset,
+ lldb_private::DataExtractor &data);
+
+ ~Archive();
+
static Map &
GetArchiveCache ();
lldb::offset_t file_offset,
lldb_private::DataExtractor &data);
- Archive (const lldb_private::ArchSpec &arch,
- const lldb_private::TimeValue &mod_time,
- lldb::offset_t file_offset,
- lldb_private::DataExtractor &data);
-
- ~Archive ();
-
size_t
GetNumObjects () const
{
Archive::shared_ptr m_archive_sp;
};
-#endif // liblldb_ObjectContainerBSDArchive_h_
+#endif // liblldb_ObjectContainerBSDArchive_h_
#ifndef liblldb_ObjectContainerUniversalMachO_h_
#define liblldb_ObjectContainerUniversalMachO_h_
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
#include "lldb/Symbol/ObjectContainer.h"
#include "lldb/Host/FileSpec.h"
-
#include "lldb/Utility/SafeMachO.h"
class ObjectContainerUniversalMachO :
public lldb_private::ObjectContainer
{
public:
+ ObjectContainerUniversalMachO(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);
+
+ ~ObjectContainerUniversalMachO() override;
+
//------------------------------------------------------------------
// Static Functions
//------------------------------------------------------------------
//------------------------------------------------------------------
// Member Functions
//------------------------------------------------------------------
- ObjectContainerUniversalMachO (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);
+ bool
+ ParseHeader() override;
- virtual
- ~ObjectContainerUniversalMachO();
+ void
+ Dump(lldb_private::Stream *s) const override;
- virtual bool
- ParseHeader ();
+ size_t
+ GetNumArchitectures() const override;
- virtual void
- Dump (lldb_private::Stream *s) const;
+ bool
+ GetArchitectureAtIndex(uint32_t cpu_idx, lldb_private::ArchSpec& arch) const override;
- virtual size_t
- GetNumArchitectures () const;
-
- virtual bool
- GetArchitectureAtIndex (uint32_t cpu_idx, lldb_private::ArchSpec& arch) const;
-
- virtual lldb::ObjectFileSP
- GetObjectFile (const lldb_private::FileSpec *file);
+ lldb::ObjectFileSP
+ GetObjectFile(const lldb_private::FileSpec *file) override;
//------------------------------------------------------------------
// PluginInterface protocol
//------------------------------------------------------------------
- virtual lldb_private::ConstString
- GetPluginName();
+ lldb_private::ConstString
+ GetPluginName() override;
- virtual uint32_t
- GetPluginVersion();
+ uint32_t
+ GetPluginVersion() override;
protected:
llvm::MachO::fat_header m_header;
ParseHeader (lldb_private::DataExtractor &data,
llvm::MachO::fat_header &header,
std::vector<llvm::MachO::fat_arch> &fat_archs);
-
};
-#endif // liblldb_ObjectContainerUniversalMachO_h_
+#endif // liblldb_ObjectContainerUniversalMachO_h_
#ifndef liblldb_ObjectFileELF_h_
#define liblldb_ObjectFileELF_h_
+// C Includes
#include <stdint.h>
+
+// C++ Includes
#include <vector>
+// Other libraries and framework includes
+// Project includes
#include "lldb/lldb-private.h"
#include "lldb/Host/FileSpec.h"
#include "lldb/Symbol/ObjectFile.h"
public lldb_private::ObjectFile
{
public:
+ ~ObjectFileELF() override;
+
//------------------------------------------------------------------
// Static Functions
//------------------------------------------------------------------
//------------------------------------------------------------------
// ObjectFile Protocol.
//------------------------------------------------------------------
- virtual
- ~ObjectFileELF();
-
bool
ParseHeader() override;
{
lldb_private::ConstString section_name;
};
+
typedef std::vector<ELFSectionHeaderInfo> SectionHeaderColl;
typedef SectionHeaderColl::iterator SectionHeaderCollIter;
typedef SectionHeaderColl::const_iterator SectionHeaderCollConstIter;
RefineModuleDetailsFromNote (lldb_private::DataExtractor &data, lldb_private::ArchSpec &arch_spec, lldb_private::UUID &uuid);
};
-#endif // #ifndef liblldb_ObjectFileELF_h_
+#endif // liblldb_ObjectFileELF_h_
#ifndef liblldb_ObjectFileJIT_h_
#define liblldb_ObjectFileJIT_h_
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
#include "lldb/Core/Address.h"
#include "lldb/Symbol/ObjectFile.h"
-
//----------------------------------------------------------------------
// This class needs to be hidden as eventually belongs in a plugin that
// will export the ObjectFile protocol
public lldb_private::ObjectFile
{
public:
+ ObjectFileJIT(const lldb::ModuleSP &module_sp,
+ const lldb::ObjectFileJITDelegateSP &delegate_sp);
+
+ ~ObjectFileJIT() override;
+
//------------------------------------------------------------------
// Static Functions
//------------------------------------------------------------------
//------------------------------------------------------------------
// Member Functions
//------------------------------------------------------------------
- ObjectFileJIT (const lldb::ModuleSP &module_sp,
- const lldb::ObjectFileJITDelegateSP &delegate_sp);
-
- virtual
- ~ObjectFileJIT();
-
- virtual bool
- ParseHeader ();
+ bool
+ ParseHeader() override;
- virtual bool
+ bool
SetLoadAddress(lldb_private::Target &target,
lldb::addr_t value,
- bool value_is_offset);
+ bool value_is_offset) override;
- virtual lldb::ByteOrder
- GetByteOrder () const;
+ lldb::ByteOrder
+ GetByteOrder() const override;
- virtual bool
- IsExecutable () const;
+ bool
+ IsExecutable() const override;
- virtual uint32_t
- GetAddressByteSize () const;
+ uint32_t
+ GetAddressByteSize() const override;
- virtual lldb_private::Symtab *
- GetSymtab();
+ lldb_private::Symtab *
+ GetSymtab() override;
- virtual bool
- IsStripped ();
+ bool
+ IsStripped() override;
- virtual void
- CreateSections (lldb_private::SectionList &unified_section_list);
+ void
+ CreateSections(lldb_private::SectionList &unified_section_list) override;
- virtual void
- Dump (lldb_private::Stream *s);
+ void
+ Dump(lldb_private::Stream *s) override;
- virtual bool
- GetArchitecture (lldb_private::ArchSpec &arch);
+ bool
+ GetArchitecture(lldb_private::ArchSpec &arch) override;
- virtual bool
- GetUUID (lldb_private::UUID* uuid);
+ bool
+ GetUUID(lldb_private::UUID* uuid) override;
- virtual uint32_t
- GetDependentModules (lldb_private::FileSpecList& files);
+ uint32_t
+ GetDependentModules(lldb_private::FileSpecList& files) override;
+
+ size_t
+ ReadSectionData(const lldb_private::Section *section,
+ lldb::offset_t section_offset,
+ void *dst,
+ size_t dst_len) const override;
+
+ size_t
+ ReadSectionData(const lldb_private::Section *section,
+ lldb_private::DataExtractor& section_data) const override;
- virtual size_t
- ReadSectionData (const lldb_private::Section *section,
- lldb::offset_t section_offset,
- void *dst,
- size_t dst_len) const;
- virtual size_t
- ReadSectionData (const lldb_private::Section *section,
- lldb_private::DataExtractor& section_data) const;
+ lldb_private::Address
+ GetEntryPointAddress() override;
+ lldb_private::Address
+ GetHeaderAddress() override;
+
+ ObjectFile::Type
+ CalculateType() override;
+
+ ObjectFile::Strata
+ CalculateStrata() override;
+
//------------------------------------------------------------------
// PluginInterface protocol
//------------------------------------------------------------------
- virtual lldb_private::ConstString
- GetPluginName();
+ lldb_private::ConstString
+ GetPluginName() override;
- virtual uint32_t
- GetPluginVersion();
+ uint32_t
+ GetPluginVersion() override;
- virtual lldb_private::Address
- GetEntryPointAddress ();
-
- virtual lldb_private::Address
- GetHeaderAddress ();
-
- virtual ObjectFile::Type
- CalculateType();
-
- virtual ObjectFile::Strata
- CalculateStrata();
protected:
lldb::ObjectFileJITDelegateWP m_delegate_wp;
};
-#endif // liblldb_ObjectFileJIT_h_
+#endif // liblldb_ObjectFileJIT_h_
//
//===----------------------------------------------------------------------===//
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
#include "llvm/ADT/StringRef.h"
+// Project includes
#include "lldb/Core/ArchSpec.h"
#include "lldb/Core/DataBuffer.h"
#include "lldb/Core/Debugger.h"
SetRegisterDataFrom_LC_THREAD (data);
}
- virtual void
- InvalidateAllRegisters ()
+ void
+ InvalidateAllRegisters() override
{
// Do nothing... registers are always valid...
}
}
}
}
-
static size_t
WriteRegister (RegisterContext *reg_ctx, const char *name, const char *alt_name, size_t reg_byte_size, Stream &data)
}
protected:
- virtual int
- DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr)
+ int
+ DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr) override
{
return 0;
}
- virtual int
- DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu)
+ int
+ DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) override
{
return 0;
}
- virtual int
- DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc)
+ int
+ DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc) override
{
return 0;
}
- virtual int
- DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr)
+ int
+ DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr) override
{
return 0;
}
- virtual int
- DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu)
+ int
+ DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) override
{
return 0;
}
- virtual int
- DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc)
+ int
+ DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc) override
{
return 0;
}
};
-
class RegisterContextDarwin_i386_Mach : public RegisterContextDarwin_i386
{
public:
SetRegisterDataFrom_LC_THREAD (data);
}
- virtual void
- InvalidateAllRegisters ()
+ void
+ InvalidateAllRegisters() override
{
// Do nothing... registers are always valid...
}
}
protected:
- virtual int
- DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr)
+ int
+ DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr) override
{
return 0;
}
- virtual int
- DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu)
+ int
+ DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) override
{
return 0;
}
- virtual int
- DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc)
+ int
+ DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc) override
{
return 0;
}
- virtual int
- DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr)
+ int
+ DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr) override
{
return 0;
}
- virtual int
- DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu)
+ int
+ DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) override
{
return 0;
}
- virtual int
- DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc)
+ int
+ DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc) override
{
return 0;
}
SetRegisterDataFrom_LC_THREAD (data);
}
- virtual void
- InvalidateAllRegisters ()
+ void
+ InvalidateAllRegisters() override
{
// Do nothing... registers are always valid...
}
}
protected:
- virtual int
- DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr)
+ int
+ DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr) override
{
return -1;
}
- virtual int
- DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu)
+ int
+ DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) override
{
return -1;
}
- virtual int
- DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc)
+ int
+ DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc) override
{
return -1;
}
- virtual int
- DoReadDBG (lldb::tid_t tid, int flavor, DBG &dbg)
+ int
+ DoReadDBG(lldb::tid_t tid, int flavor, DBG &dbg) override
{
return -1;
}
- virtual int
- DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr)
+ int
+ DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr) override
{
return 0;
}
- virtual int
- DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu)
+ int
+ DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) override
{
return 0;
}
- virtual int
- DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc)
+ int
+ DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc) override
{
return 0;
}
- virtual int
- DoWriteDBG (lldb::tid_t tid, int flavor, const DBG &dbg)
+ int
+ DoWriteDBG(lldb::tid_t tid, int flavor, const DBG &dbg) override
{
return -1;
}
SetRegisterDataFrom_LC_THREAD (data);
}
- virtual void
- InvalidateAllRegisters ()
+ void
+ InvalidateAllRegisters() override
{
// Do nothing... registers are always valid...
}
}
protected:
- virtual int
- DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr)
+ int
+ DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr) override
{
return -1;
}
- virtual int
- DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu)
+ int
+ DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) override
{
return -1;
}
- virtual int
- DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc)
+ int
+ DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc) override
{
return -1;
}
- virtual int
- DoReadDBG (lldb::tid_t tid, int flavor, DBG &dbg)
+ int
+ DoReadDBG(lldb::tid_t tid, int flavor, DBG &dbg) override
{
return -1;
}
- virtual int
- DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr)
+ int
+ DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr) override
{
return 0;
}
- virtual int
- DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu)
+ int
+ DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) override
{
return 0;
}
- virtual int
- DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc)
+ int
+ DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc) override
{
return 0;
}
- virtual int
- DoWriteDBG (lldb::tid_t tid, int flavor, const DBG &dbg)
+ int
+ DoWriteDBG(lldb::tid_t tid, int flavor, const DBG &dbg) override
{
return -1;
}
PluginManager::UnregisterPlugin (CreateInstance);
}
-
lldb_private::ConstString
ObjectFileMachO::GetPluginNameStatic()
{
return specs.GetSize() - initial_count;
}
-
-
const ConstString &
ObjectFileMachO::GetSegmentNameTEXT()
{
return MachHeaderSizeFromMagic(magic) != 0;
}
-
ObjectFileMachO::ObjectFileMachO(const lldb::ModuleSP &module_sp,
DataBufferSP& data_sp,
lldb::offset_t data_offset,
::memset (&m_dysymtab, 0, sizeof(m_dysymtab));
}
-ObjectFileMachO::~ObjectFileMachO()
-{
-}
-
bool
ObjectFileMachO::ParseHeader (DataExtractor &data,
lldb::offset_t *data_offset_ptr,
return false;
}
-
ByteOrder
ObjectFileMachO::GetByteOrder () const
{
class MachSymtabSectionInfo
{
public:
-
MachSymtabSectionInfo (SectionList *section_list) :
m_section_list (section_list),
m_section_infos()
m_section_infos.resize(section_list->GetNumSections(1));
}
-
SectionSP
GetSection (uint8_t n_sect, addr_t file_addr)
{
return 0;
}
-
const bool have_strtab_data = strtab_data.GetByteSize() > 0;
if (!have_strtab_data)
{
uint64_t localSymbolsOffset; // file offset of where local symbols are stored
uint64_t localSymbolsSize; // size of local symbols information
};
+
struct lldb_copy_dyld_cache_header_v1
{
char magic[16]; // e.g. "dyld_v0 i386", "dyld_v1 armv7", etc.
uint32_t entriesOffset;
uint32_t entriesCount;
};
+
struct lldb_copy_dyld_cache_local_symbols_entry
{
uint32_t dylibOffset;
add_nlist = false;
break;
-
case N_OPT:
// emitted with gcc2_compiled and in gcc source
type = eSymbolTypeCompiler;
N_SO_index = sym_idx;
}
}
-
break;
case N_OSO:
sym[pos.first].SetReExportedSymbolSharedLibrary(dylib_files.GetFileSpecAtIndex(dylib_ordinal-1));
}
}
-
}
uint32_t synthetic_sym_id = symtab_load_command.nsyms;
}
}
-
if (!trie_entries.empty())
{
for (const auto &e : trie_entries)
}
}
}
-
-
-
+
// StreamFile s(stdout, false);
// s.Printf ("Symbol table before CalculateSymbolSizes():\n");
// symtab->Dump(&s, NULL, eSortOrderNone);
return 0;
}
-
void
ObjectFileMachO::Dump (Stream *s)
{
return false;
}
-
bool
ObjectFileMachO::GetArchitecture (const llvm::MachO::mach_header &header,
const lldb_private::DataExtractor &data,
return false;
}
-
uint32_t
ObjectFileMachO::GetDependentModules (FileSpecList& files)
{
}
return m_entry_point_address;
-
}
lldb_private::Address
return reg_ctx_sp;
}
-
ObjectFile::Type
ObjectFileMachO::CalculateType()
{
return eStrataUnknown;
}
-
uint32_t
ObjectFileMachO::GetVersion (uint32_t *versions, uint32_t num_versions)
{
return false;
}
-
UUID
ObjectFileMachO::GetProcessSharedCacheUUID (Process *process)
{
return ObjectFile::GetSDKVersion (versions, num_versions);
}
-
bool
ObjectFileMachO::GetIsDynamicLinkEditor()
{
return 1;
}
-
Section *
ObjectFileMachO::GetMachHeaderSection()
{
}
return false;
}
-
#ifndef liblldb_ObjectFileMachO_h_
#define liblldb_ObjectFileMachO_h_
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
#include "lldb/Utility/SafeMachO.h"
-
#include "lldb/Core/Address.h"
#include "lldb/Core/FileSpecList.h"
#include "lldb/Core/RangeMap.h"
public lldb_private::ObjectFile
{
public:
+ 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,
+ const lldb::ProcessSP &process_sp,
+ lldb::addr_t header_addr);
+
+ ~ObjectFileMachO() override = default;
+
//------------------------------------------------------------------
// Static Functions
//------------------------------------------------------------------
//------------------------------------------------------------------
// Member Functions
//------------------------------------------------------------------
- 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,
- const lldb::ProcessSP &process_sp,
- lldb::addr_t header_addr);
-
- virtual
- ~ObjectFileMachO();
+ bool
+ ParseHeader() override;
- virtual bool
- ParseHeader ();
-
- virtual bool
+ bool
SetLoadAddress(lldb_private::Target &target,
lldb::addr_t value,
- bool value_is_offset);
+ bool value_is_offset) override;
- virtual lldb::ByteOrder
- GetByteOrder () const;
+ lldb::ByteOrder
+ GetByteOrder() const override;
- virtual bool
- IsExecutable () const;
+ bool
+ IsExecutable() const override;
- virtual uint32_t
- GetAddressByteSize () const;
+ uint32_t
+ GetAddressByteSize() const override;
- virtual lldb::AddressClass
- GetAddressClass (lldb::addr_t file_addr);
+ lldb::AddressClass
+ GetAddressClass(lldb::addr_t file_addr) override;
- virtual lldb_private::Symtab *
- GetSymtab();
+ lldb_private::Symtab *
+ GetSymtab() override;
- virtual bool
- IsStripped ();
+ bool
+ IsStripped() override;
- virtual void
- CreateSections (lldb_private::SectionList &unified_section_list);
+ void
+ CreateSections(lldb_private::SectionList &unified_section_list) override;
- virtual void
- Dump (lldb_private::Stream *s);
+ void
+ Dump(lldb_private::Stream *s) override;
- virtual bool
- GetArchitecture (lldb_private::ArchSpec &arch);
+ bool
+ GetArchitecture(lldb_private::ArchSpec &arch) override;
- virtual bool
- GetUUID (lldb_private::UUID* uuid);
+ bool
+ GetUUID(lldb_private::UUID* uuid) override;
- virtual uint32_t
- GetDependentModules (lldb_private::FileSpecList& files);
+ uint32_t
+ GetDependentModules(lldb_private::FileSpecList& files) override;
- virtual lldb_private::FileSpecList
- GetReExportedLibraries ()
+ lldb_private::FileSpecList
+ GetReExportedLibraries() override
{
return m_reexported_dylibs;
}
- //------------------------------------------------------------------
- // PluginInterface protocol
- //------------------------------------------------------------------
- virtual lldb_private::ConstString
- GetPluginName();
-
- virtual uint32_t
- GetPluginVersion();
- virtual lldb_private::Address
- GetEntryPointAddress ();
+ lldb_private::Address
+ GetEntryPointAddress() override;
- virtual lldb_private::Address
- GetHeaderAddress ();
+ lldb_private::Address
+ GetHeaderAddress() override;
- virtual uint32_t
- GetNumThreadContexts ();
+ uint32_t
+ GetNumThreadContexts() override;
- virtual lldb::RegisterContextSP
- GetThreadContextAtIndex (uint32_t idx, lldb_private::Thread &thread);
+ lldb::RegisterContextSP
+ GetThreadContextAtIndex(uint32_t idx, lldb_private::Thread &thread) override;
- virtual ObjectFile::Type
- CalculateType();
+ ObjectFile::Type
+ CalculateType() override;
- virtual ObjectFile::Strata
- CalculateStrata();
+ ObjectFile::Strata
+ CalculateStrata() override;
- virtual uint32_t
- GetVersion (uint32_t *versions, uint32_t num_versions);
+ uint32_t
+ GetVersion(uint32_t *versions, uint32_t num_versions) override;
- virtual uint32_t
- GetMinimumOSVersion (uint32_t *versions, uint32_t num_versions);
+ uint32_t
+ GetMinimumOSVersion(uint32_t *versions, uint32_t num_versions) override;
- virtual uint32_t
- GetSDKVersion (uint32_t *versions, uint32_t num_versions);
+ uint32_t
+ GetSDKVersion(uint32_t *versions, uint32_t num_versions) override;
- virtual bool
- GetIsDynamicLinkEditor();
+ bool
+ GetIsDynamicLinkEditor() override;
static bool
ParseHeader (lldb_private::DataExtractor &data,
lldb::offset_t *data_offset_ptr,
llvm::MachO::mach_header &header);
+ //------------------------------------------------------------------
+ // PluginInterface protocol
+ //------------------------------------------------------------------
+ lldb_private::ConstString
+ GetPluginName() override;
+
+ uint32_t
+ GetPluginVersion() override;
+
protected:
-
static bool
GetUUID (const llvm::MachO::mach_header &header,
const lldb_private::DataExtractor &data,
const lldb_private::Section *mach_header_section,
const lldb_private::Section *section);
+ size_t
+ ParseSymtab();
+
llvm::MachO::mach_header m_header;
static const lldb_private::ConstString &GetSegmentNameTEXT();
static const lldb_private::ConstString &GetSegmentNameDATA();
FileRangeArray m_thread_context_offsets;
bool m_thread_context_offsets_valid;
lldb_private::FileSpecList m_reexported_dylibs;
-
- size_t
- ParseSymtab ();
-
};
-#endif // liblldb_ObjectFileMachO_h_
+#endif // liblldb_ObjectFileMachO_h_
#ifndef liblldb_ObjectFilePECOFF_h_
#define liblldb_ObjectFilePECOFF_h_
+// C Includes
+// C++ Includes
#include <vector>
+// Other libraries and framework includes
+// Project includes
#include "lldb/Symbol/ObjectFile.h"
class ObjectFilePECOFF :
MachineWcemIpsv2 = 0x169
} MachineType;
+ 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() override;
+
//------------------------------------------------------------------
// Static Functions
//------------------------------------------------------------------
static bool
MagicBytesMatch (lldb::DataBufferSP& data_sp);
+ bool
+ ParseHeader() override;
- 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);
-
- virtual
- ~ObjectFilePECOFF();
-
- virtual bool
- ParseHeader ();
-
- virtual bool
- SetLoadAddress(lldb_private::Target &target, lldb::addr_t value, bool value_is_offset);
+ bool
+ SetLoadAddress(lldb_private::Target &target, lldb::addr_t value, bool value_is_offset) override;
- virtual lldb::ByteOrder
- GetByteOrder () const;
+ lldb::ByteOrder
+ GetByteOrder() const override;
- virtual bool
- IsExecutable () const;
+ bool
+ IsExecutable() const override;
- virtual uint32_t
- GetAddressByteSize () const;
+ uint32_t
+ GetAddressByteSize() const override;
// virtual lldb_private::AddressClass
// GetAddressClass (lldb::addr_t file_addr);
-//
- virtual lldb_private::Symtab *
- GetSymtab ();
+
+ lldb_private::Symtab *
+ GetSymtab() override;
- virtual bool
- IsStripped ();
+ bool
+ IsStripped() override;
- virtual void
- CreateSections (lldb_private::SectionList &unified_section_list);
+ void
+ CreateSections(lldb_private::SectionList &unified_section_list) override;
- virtual void
- Dump (lldb_private::Stream *s);
+ void
+ Dump(lldb_private::Stream *s) override;
- virtual bool
- GetArchitecture (lldb_private::ArchSpec &arch);
+ bool
+ GetArchitecture(lldb_private::ArchSpec &arch) override;
- virtual bool
- GetUUID (lldb_private::UUID* uuid);
+ bool
+ GetUUID(lldb_private::UUID* uuid) override;
- virtual uint32_t
- GetDependentModules (lldb_private::FileSpecList& files);
+ uint32_t
+ GetDependentModules(lldb_private::FileSpecList& files) override;
- //------------------------------------------------------------------
- // PluginInterface protocol
- //------------------------------------------------------------------
- virtual lldb_private::ConstString
- GetPluginName();
-
- virtual uint32_t
- GetPluginVersion();
-//
// virtual lldb_private::Address
// GetEntryPointAddress ();
- virtual ObjectFile::Type
- CalculateType();
+ ObjectFile::Type
+ CalculateType() override;
- virtual ObjectFile::Strata
- CalculateStrata();
+ ObjectFile::Strata
+ CalculateStrata() override;
+ //------------------------------------------------------------------
+ // PluginInterface protocol
+ //------------------------------------------------------------------
+ lldb_private::ConstString
+ GetPluginName() override;
+
+ uint32_t
+ GetPluginVersion() override;
+
protected:
bool NeedsEndianSwap() const;
lldb::addr_t m_image_base;
};
-#endif // #ifndef liblldb_ObjectFilePECOFF_h_
+#endif // liblldb_ObjectFilePECOFF_h_