LLDB mainline
|
#include <SymbolFileDWARFDebugMap.h>
Classes | |
struct | CompileUnitInfo |
class | OSOEntry |
struct | OSOInfo |
Public Member Functions | |
SymbolFileDWARFDebugMap (lldb::ObjectFileSP objfile_sp) | |
~SymbolFileDWARFDebugMap () override | |
uint32_t | CalculateAbilities () override |
void | InitializeObject () override |
Initialize the SymbolFile object. | |
lldb::LanguageType | ParseLanguage (CompileUnit &comp_unit) override |
XcodeSDK | ParseXcodeSDK (CompileUnit &comp_unit) override |
Return the Xcode SDK comp_unit was compiled against. | |
llvm::SmallSet< lldb::LanguageType, 4 > | ParseAllLanguages (CompileUnit &comp_unit) override |
This function exists because SymbolFileDWARFDebugMap may extra compile units which aren't exposed as "real" compile units. | |
size_t | ParseFunctions (CompileUnit &comp_unit) override |
bool | ParseLineTable (CompileUnit &comp_unit) override |
bool | ParseDebugMacros (CompileUnit &comp_unit) override |
bool | ForEachExternalModule (CompileUnit &, llvm::DenseSet< SymbolFile * > &, llvm::function_ref< bool(Module &)>) override |
bool | ParseSupportFiles (CompileUnit &comp_unit, SupportFileList &support_files) override |
bool | ParseIsOptimized (CompileUnit &comp_unit) override |
size_t | ParseTypes (CompileUnit &comp_unit) override |
bool | ParseImportedModules (const SymbolContext &sc, std::vector< SourceModule > &imported_modules) override |
size_t | ParseBlocksRecursive (Function &func) override |
size_t | ParseVariablesForContext (const SymbolContext &sc) override |
Type * | ResolveTypeUID (lldb::user_id_t type_uid) override |
std::optional< ArrayInfo > | GetDynamicArrayInfoForUID (lldb::user_id_t type_uid, const ExecutionContext *exe_ctx) override |
If type_uid points to an array type, return its characteristics. | |
CompilerDeclContext | GetDeclContextForUID (lldb::user_id_t uid) override |
CompilerDeclContext | GetDeclContextContainingUID (lldb::user_id_t uid) override |
std::vector< CompilerContext > | GetCompilerContextForUID (lldb::user_id_t uid) override |
void | ParseDeclsForContext (CompilerDeclContext decl_ctx) override |
bool | CompleteType (CompilerType &compiler_type) override |
uint32_t | ResolveSymbolContext (const Address &so_addr, lldb::SymbolContextItem resolve_scope, SymbolContext &sc) override |
uint32_t | ResolveSymbolContext (const SourceLocationSpec &src_location_spec, lldb::SymbolContextItem resolve_scope, SymbolContextList &sc_list) override |
Status | CalculateFrameVariableError (StackFrame &frame) override |
Subclasses will override this function to for GetFrameVariableError(). | |
void | FindGlobalVariables (ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, VariableList &variables) override |
void | FindGlobalVariables (const RegularExpression ®ex, uint32_t max_matches, VariableList &variables) override |
void | FindFunctions (const Module::LookupInfo &lookup_info, const CompilerDeclContext &parent_decl_ctx, bool include_inlines, SymbolContextList &sc_list) override |
void | FindFunctions (const RegularExpression ®ex, bool include_inlines, SymbolContextList &sc_list) override |
void | FindTypes (const lldb_private::TypeQuery &match, lldb_private::TypeResults &results) override |
Find types using a type-matching object that contains all search parameters. | |
CompilerDeclContext | FindNamespace (ConstString name, const CompilerDeclContext &parent_decl_ctx, bool only_root_namespaces) override |
Finds a namespace of name name and whose parent context is parent_decl_ctx. | |
void | GetTypes (SymbolContextScope *sc_scope, lldb::TypeClass type_mask, TypeList &type_list) override |
std::vector< std::unique_ptr< CallEdge > > | ParseCallEdgesInFunction (UserID func_id) override |
void | DumpClangAST (Stream &s) override |
bool | GetSeparateDebugInfo (StructuredData::Dictionary &d, bool errors_only) override |
List separate oso files. | |
llvm::StringRef | GetPluginName () override |
ModuleList | GetDebugInfoModules () override |
Get the additional modules that this symbol file uses to parse debug info. | |
void | GetCompileOptions (std::unordered_map< lldb::CompUnitSP, Args > &args) override |
Public Member Functions inherited from lldb_private::SymbolFileCommon | |
SymbolFileCommon (lldb::ObjectFileSP objfile_sp) | |
~SymbolFileCommon () override=default | |
uint32_t | GetAbilities () override |
Get a mask of what this symbol file supports for the object file that it was constructed with. | |
Symtab * | GetSymtab () override |
ObjectFile * | GetObjectFile () override |
const ObjectFile * | GetObjectFile () const override |
ObjectFile * | GetMainObjectFile () override |
void | SectionFileAddressesChanged () override |
Notify the SymbolFile that the file addresses in the Sections for this module have been changed. | |
uint32_t | GetNumCompileUnits () override |
lldb::CompUnitSP | GetCompileUnitAtIndex (uint32_t idx) override |
llvm::Expected< lldb::TypeSystemSP > | GetTypeSystemForLanguage (lldb::LanguageType language) override |
void | Dump (Stream &s) override |
uint64_t | GetDebugInfoSize (bool load_all_debug_info=false) override |
Metrics gathering functions. | |
bool | GetDebugInfoIndexWasLoadedFromCache () const override |
Accessors for the bool that indicates if the debug info index was loaded from, or saved to the module index cache. | |
void | SetDebugInfoIndexWasLoadedFromCache () override |
bool | GetDebugInfoIndexWasSavedToCache () const override |
void | SetDebugInfoIndexWasSavedToCache () override |
bool | GetDebugInfoHadFrameVariableErrors () const override |
Accessors for the bool that indicates if there was debug info, but errors stopped variables from being able to be displayed correctly. | |
void | SetDebugInfoHadFrameVariableErrors () override |
lldb::TypeSP | MakeType (lldb::user_id_t uid, ConstString name, std::optional< uint64_t > byte_size, SymbolContextScope *context, lldb::user_id_t encoding_uid, Type::EncodingDataType encoding_uid_type, const Declaration &decl, const CompilerType &compiler_qual_type, Type::ResolveState compiler_type_resolve_state, uint32_t opaque_payload=0) override |
This function is used to create types that belong to a SymbolFile. | |
lldb::TypeSP | CopyType (const lldb::TypeSP &other_type) override |
Public Member Functions inherited from lldb_private::SymbolFile | |
SymbolFile ()=default | |
~SymbolFile () override=default | |
virtual SymbolFile * | GetBackingSymbolFile () |
SymbolFileOnDemand class overrides this to return the underlying backing SymbolFile implementation that loads on-demand. | |
virtual uint32_t | GetAbilities ()=0 |
Get a mask of what this symbol file supports for the object file that it was constructed with. | |
virtual uint32_t | CalculateAbilities ()=0 |
virtual std::recursive_mutex & | GetModuleMutex () const |
Symbols file subclasses should override this to return the Module that owns the TypeSystem that this symbol file modifies type information in. | |
virtual void | InitializeObject () |
Initialize the SymbolFile object. | |
virtual bool | GetLoadDebugInfoEnabled () |
Whether debug info will be loaded or not. | |
virtual void | SetLoadDebugInfoEnabled () |
Specify debug info should be loaded. | |
virtual uint32_t | GetNumCompileUnits ()=0 |
virtual lldb::CompUnitSP | GetCompileUnitAtIndex (uint32_t idx)=0 |
virtual Symtab * | GetSymtab ()=0 |
virtual lldb::LanguageType | ParseLanguage (CompileUnit &comp_unit)=0 |
virtual XcodeSDK | ParseXcodeSDK (CompileUnit &comp_unit) |
Return the Xcode SDK comp_unit was compiled against. | |
virtual llvm::SmallSet< lldb::LanguageType, 4 > | ParseAllLanguages (CompileUnit &comp_unit) |
This function exists because SymbolFileDWARFDebugMap may extra compile units which aren't exposed as "real" compile units. | |
virtual size_t | ParseFunctions (CompileUnit &comp_unit)=0 |
virtual bool | ParseLineTable (CompileUnit &comp_unit)=0 |
virtual bool | ParseDebugMacros (CompileUnit &comp_unit)=0 |
virtual bool | ForEachExternalModule (lldb_private::CompileUnit &comp_unit, llvm::DenseSet< lldb_private::SymbolFile * > &visited_symbol_files, llvm::function_ref< bool(Module &)> lambda) |
Apply a lambda to each external lldb::Module referenced by this comp_unit . | |
virtual bool | ParseSupportFiles (CompileUnit &comp_unit, SupportFileList &support_files)=0 |
virtual size_t | ParseTypes (CompileUnit &comp_unit)=0 |
virtual bool | ParseIsOptimized (CompileUnit &comp_unit) |
virtual bool | ParseImportedModules (const SymbolContext &sc, std::vector< SourceModule > &imported_modules)=0 |
virtual size_t | ParseBlocksRecursive (Function &func)=0 |
virtual size_t | ParseVariablesForContext (const SymbolContext &sc)=0 |
virtual Type * | ResolveTypeUID (lldb::user_id_t type_uid)=0 |
virtual std::optional< ArrayInfo > | GetDynamicArrayInfoForUID (lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx)=0 |
If type_uid points to an array type, return its characteristics. | |
virtual bool | CompleteType (CompilerType &compiler_type)=0 |
virtual void | ParseDeclsForContext (CompilerDeclContext decl_ctx) |
virtual CompilerDecl | GetDeclForUID (lldb::user_id_t uid) |
virtual CompilerDeclContext | GetDeclContextForUID (lldb::user_id_t uid) |
virtual CompilerDeclContext | GetDeclContextContainingUID (lldb::user_id_t uid) |
virtual std::vector< CompilerContext > | GetCompilerContextForUID (lldb::user_id_t uid) |
virtual uint32_t | ResolveSymbolContext (const Address &so_addr, lldb::SymbolContextItem resolve_scope, SymbolContext &sc)=0 |
Status | GetFrameVariableError (StackFrame &frame) |
Get an error that describes why variables might be missing for a given symbol context. | |
virtual Status | CalculateFrameVariableError (StackFrame &frame) |
Subclasses will override this function to for GetFrameVariableError(). | |
virtual uint32_t | ResolveSymbolContext (const SourceLocationSpec &src_location_spec, lldb::SymbolContextItem resolve_scope, SymbolContextList &sc_list) |
virtual void | DumpClangAST (Stream &s) |
virtual void | FindGlobalVariables (ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, VariableList &variables) |
virtual void | FindGlobalVariables (const RegularExpression ®ex, uint32_t max_matches, VariableList &variables) |
virtual void | FindFunctions (const Module::LookupInfo &lookup_info, const CompilerDeclContext &parent_decl_ctx, bool include_inlines, SymbolContextList &sc_list) |
virtual void | FindFunctions (const RegularExpression ®ex, bool include_inlines, SymbolContextList &sc_list) |
virtual void | FindTypes (const TypeQuery &query, TypeResults &results) |
Find types using a type-matching object that contains all search parameters. | |
virtual void | GetMangledNamesForFunction (const std::string &scope_qualified_name, std::vector< ConstString > &mangled_names) |
virtual void | GetTypes (lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list)=0 |
virtual void | PreloadSymbols () |
virtual llvm::Expected< lldb::TypeSystemSP > | GetTypeSystemForLanguage (lldb::LanguageType language)=0 |
virtual CompilerDeclContext | FindNamespace (ConstString name, const CompilerDeclContext &parent_decl_ctx, bool only_root_namespaces=false) |
Finds a namespace of name name and whose parent context is parent_decl_ctx. | |
virtual ObjectFile * | GetObjectFile ()=0 |
virtual const ObjectFile * | GetObjectFile () const =0 |
virtual ObjectFile * | GetMainObjectFile ()=0 |
virtual std::vector< std::unique_ptr< CallEdge > > | ParseCallEdgesInFunction (UserID func_id) |
virtual void | AddSymbols (Symtab &symtab) |
virtual void | SectionFileAddressesChanged ()=0 |
Notify the SymbolFile that the file addresses in the Sections for this module have been changed. | |
virtual lldb::UnwindPlanSP | GetUnwindPlan (const Address &address, const RegisterInfoResolver &resolver) |
virtual llvm::Expected< lldb::addr_t > | GetParameterStackSize (Symbol &symbol) |
Return the number of stack bytes taken up by the parameters to this function. | |
virtual void | Dump (Stream &s)=0 |
virtual uint64_t | GetDebugInfoSize (bool load_all_debug_info=false)=0 |
Metrics gathering functions. | |
virtual StatsDuration::Duration | GetDebugInfoParseTime () |
Return the time taken to parse the debug information. | |
virtual StatsDuration::Duration | GetDebugInfoIndexTime () |
Return the time it took to index the debug information in the object file. | |
virtual ModuleList | GetDebugInfoModules () |
Get the additional modules that this symbol file uses to parse debug info. | |
virtual bool | GetDebugInfoHadFrameVariableErrors () const =0 |
Accessors for the bool that indicates if there was debug info, but errors stopped variables from being able to be displayed correctly. | |
virtual void | SetDebugInfoHadFrameVariableErrors ()=0 |
virtual bool | GetSeparateDebugInfo (StructuredData::Dictionary &d, bool errors_only) |
Return true if separate debug info files are supported and this function succeeded, false otherwise. | |
virtual lldb::TypeSP | MakeType (lldb::user_id_t uid, ConstString name, std::optional< uint64_t > byte_size, SymbolContextScope *context, lldb::user_id_t encoding_uid, Type::EncodingDataType encoding_uid_type, const Declaration &decl, const CompilerType &compiler_qual_type, Type::ResolveState compiler_type_resolve_state, uint32_t opaque_payload=0)=0 |
virtual lldb::TypeSP | CopyType (const lldb::TypeSP &other_type)=0 |
std::unordered_map< lldb::CompUnitSP, Args > | GetCompileOptions () |
Returns a map of compilation unit to the compile option arguments associated with that compilation unit. | |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
static void | Initialize () |
static void | Terminate () |
static llvm::StringRef | GetPluginNameStatic () |
static llvm::StringRef | GetPluginDescriptionStatic () |
static SymbolFile * | CreateInstance (lldb::ObjectFileSP objfile_sp) |
Static Public Member Functions inherited from lldb_private::SymbolFileCommon | |
static bool | classof (const SymbolFileCommon *obj) |
Static Public Member Functions inherited from lldb_private::SymbolFile | |
static SymbolFile * | FindPlugin (lldb::ObjectFileSP objfile_sp) |
static bool | classof (const SymbolFile *obj) |
Protected Types | |
enum | { kHaveInitializedOSOs = (1 << 0) , kNumFlags } |
typedef std::shared_ptr< OSOInfo > | OSOInfoSP |
typedef RangeDataVector< lldb::addr_t, lldb::addr_t, lldb::addr_t > | FileRangeMap |
typedef RangeDataVector< lldb::addr_t, lldb::addr_t, OSOEntry > | DebugMap |
Protected Member Functions | |
void | InitOSO () |
uint32_t | CalculateNumCompileUnits () override |
This function actually returns the number of object files, which may be less than the actual number of compile units, since an object file may contain more than one compile unit. | |
lldb::CompUnitSP | ParseCompileUnitAtIndex (uint32_t index) override |
This function actually returns the first compile unit the object file at the given index contains. | |
bool | GetFileSpecForSO (uint32_t oso_idx, FileSpec &file_spec) |
CompileUnitInfo * | GetCompUnitInfo (const SymbolContext &sc) |
CompileUnitInfo * | GetCompUnitInfo (const CompileUnit &comp_unit) |
size_t | GetCompUnitInfosForModule (const Module *oso_module, std::vector< CompileUnitInfo * > &cu_infos) |
Module * | GetModuleByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
Module * | GetModuleByOSOIndex (uint32_t oso_idx) |
ObjectFile * | GetObjectFileByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
ObjectFile * | GetObjectFileByOSOIndex (uint32_t oso_idx) |
uint32_t | GetCompUnitInfoIndex (const CompileUnitInfo *comp_unit_info) |
SymbolFileDWARF * | GetSymbolFile (const SymbolContext &sc) |
SymbolFileDWARF * | GetSymbolFile (const CompileUnit &comp_unit) |
SymbolFileDWARF * | GetSymbolFileByCompUnitInfo (CompileUnitInfo *comp_unit_info) |
SymbolFileDWARF * | GetSymbolFileByOSOIndex (uint32_t oso_idx) |
void | ForEachSymbolFile (std::function< IterationAction(SymbolFileDWARF *)> closure) |
If closure returns IterationAction::Continue, iteration continues. | |
CompileUnitInfo * | GetCompileUnitInfoForSymbolWithIndex (uint32_t symbol_idx, uint32_t *oso_idx_ptr) |
CompileUnitInfo * | GetCompileUnitInfoForSymbolWithID (lldb::user_id_t symbol_id, uint32_t *oso_idx_ptr) |
void | PrivateFindGlobalVariables (ConstString name, const CompilerDeclContext &parent_decl_ctx, const std::vector< uint32_t > &name_symbol_indexes, uint32_t max_matches, VariableList &variables) |
void | SetCompileUnit (SymbolFileDWARF *oso_dwarf, const lldb::CompUnitSP &cu_sp) |
lldb::CompUnitSP | GetCompileUnit (SymbolFileDWARF *oso_dwarf, DWARFCompileUnit &dwarf_cu) |
Returns the compile unit associated with the dwarf compile unit. | |
CompileUnitInfo * | GetCompileUnitInfo (SymbolFileDWARF *oso_dwarf) |
DWARFDIE | FindDefinitionDIE (const DWARFDIE &die) |
bool | Supports_DW_AT_APPLE_objc_complete_type (SymbolFileDWARF *skip_dwarf_oso) |
lldb::TypeSP | FindCompleteObjCDefinitionTypeForDIE (const DWARFDIE &die, ConstString type_name, bool must_be_implementation) |
llvm::DenseMap< lldb::opaque_compiler_type_t, DIERef > & | GetForwardDeclCompilerTypeToDIE () |
UniqueDWARFASTTypeMap & | GetUniqueDWARFASTTypeMap () |
bool | AddOSOFileRange (CompileUnitInfo *cu_info, lldb::addr_t exe_file_addr, lldb::addr_t exe_byte_size, lldb::addr_t oso_file_addr, lldb::addr_t oso_byte_size) |
void | FinalizeOSOFileRanges (CompileUnitInfo *cu_info) |
bool | LinkOSOAddress (Address &addr) |
Convert addr from a .o file address, to an executable address. | |
lldb::addr_t | LinkOSOFileAddress (SymbolFileDWARF *oso_symfile, lldb::addr_t oso_file_addr) |
Convert a .o file "file address" to an executable "file address". | |
LineTable * | LinkOSOLineTable (SymbolFileDWARF *oso_symfile, LineTable *line_table) |
Given a line table full of lines with "file addresses" that are for a .o file represented by oso_symfile, link a new line table and return it. | |
size_t | AddOSOARanges (SymbolFileDWARF *dwarf2Data, DWARFDebugAranges *debug_aranges) |
Protected Member Functions inherited from lldb_private::SymbolFileCommon | |
virtual uint32_t | CalculateNumCompileUnits ()=0 |
virtual lldb::CompUnitSP | ParseCompileUnitAtIndex (uint32_t idx)=0 |
virtual TypeList & | GetTypeList () |
void | SetCompileUnitAtIndex (uint32_t idx, const lldb::CompUnitSP &cu_sp) |
Protected Member Functions inherited from lldb_private::SymbolFile | |
void | AssertModuleLock () |
virtual void | GetCompileOptions (std::unordered_map< lldb::CompUnitSP, lldb_private::Args > &args) |
Static Protected Member Functions | |
static uint32_t | GetOSOIndexFromUserID (lldb::user_id_t uid) |
static SymbolFileDWARF * | GetSymbolFileAsSymbolFileDWARF (SymbolFile *sym_file) |
static int | SymbolContainsSymbolWithIndex (uint32_t *symbol_idx_ptr, const CompileUnitInfo *comp_unit_info) |
static int | SymbolContainsSymbolWithID (lldb::user_id_t *symbol_idx_ptr, const CompileUnitInfo *comp_unit_info) |
Protected Attributes | |
std::bitset< kNumFlags > | m_flags |
std::vector< CompileUnitInfo > | m_compile_unit_infos |
std::vector< uint32_t > | m_func_indexes |
std::vector< uint32_t > | m_glob_indexes |
std::map< std::pair< ConstString, llvm::sys::TimePoint<> >, OSOInfoSP > | m_oso_map |
llvm::DenseMap< lldb::opaque_compiler_type_t, DIERef > | m_forward_decl_compiler_type_to_die |
UniqueDWARFASTTypeMap | m_unique_ast_type_map |
LazyBool | m_supports_DW_AT_APPLE_objc_complete_type |
DebugMap | m_debug_map |
Protected Attributes inherited from lldb_private::SymbolFileCommon | |
lldb::ObjectFileSP | m_objfile_sp |
std::optional< std::vector< lldb::CompUnitSP > > | m_compile_units |
TypeList | m_type_list |
uint32_t | m_abilities = 0 |
bool | m_calculated_abilities = false |
bool | m_index_was_loaded_from_cache = false |
bool | m_index_was_saved_to_cache = false |
bool | m_debug_info_had_variable_errors = false |
Set to true if any variable feteching errors have been found when calling GetFrameVariableError(). | |
Static Private Attributes | |
static char | ID |
LLVM RTTI support. | |
Friends | |
class | DebugMapModule |
class | ::DWARFASTParserClang |
class | DWARFCompileUnit |
class | SymbolFileDWARF |
bool | isA (const void *ClassID) const override |
LLVM RTTI support. | |
static bool | classof (const SymbolFile *obj) |
Additional Inherited Members | |
Public Types inherited from lldb_private::SymbolFile | |
enum | Abilities { CompileUnits = (1u << 0) , LineTables = (1u << 1) , Functions = (1u << 2) , Blocks = (1u << 3) , GlobalVariables = (1u << 4) , LocalVariables = (1u << 5) , VariableTypes = (1u << 6) , kAllAbilities = ((1u << 7) - 1u) } |
Definition at line 34 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 321 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 163 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 160 of file SymbolFileDWARFDebugMap.h.
|
protected |
Enumerator | |
---|---|
kHaveInitializedOSOs | |
kNumFlags |
Definition at line 148 of file SymbolFileDWARFDebugMap.h.
SymbolFileDWARFDebugMap::SymbolFileDWARFDebugMap | ( | lldb::ObjectFileSP | objfile_sp | ) |
Definition at line 250 of file SymbolFileDWARFDebugMap.cpp.
|
overridedefault |
|
protected |
Definition at line 1508 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::DWARFDebugAranges::AppendRange(), GetCompileUnitInfo(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetFileIndex(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), and lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize().
Referenced by lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable().
|
protected |
Definition at line 1408 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::RangeData< B, S, T >::data, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::file_range_map, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryIndexThatContains(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), m_debug_map, and UINT32_MAX.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 565 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::Blocks, lldb_private::SymbolFile::CompileUnits, lldb_private::SymbolFile::Functions, lldb_private::SymbolFileCommon::GetNumCompileUnits(), lldb_private::SymbolFile::GlobalVariables, InitOSO(), lldb_private::SymbolFile::LineTables, lldb_private::SymbolFile::LocalVariables, m_compile_unit_infos, and lldb_private::SymbolFile::VariableTypes.
|
overridevirtual |
Subclasses will override this function to for GetFrameVariableError().
This allows GetFrameVariableError() to set the member variable m_debug_info_had_variable_errors correctly without users having to do it manually which is error prone.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1544 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::Status::Fail(), lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), GetCompileUnitInfoForSymbolWithID(), lldb_private::ConstString::GetCString(), lldb_private::Address::GetFileAddress(), lldb_private::StackFrame::GetFrameCodeAddress(), lldb_private::SymbolFile::GetFrameVariableError(), lldb_private::Symbol::GetID(), lldb_private::Address::GetModule(), GetModuleByCompUnitInfo(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::Module::GetSymbolFile(), m_debug_map, lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_load_error, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, and lldb_private::Symtab::SymbolAtIndex().
|
overrideprotectedvirtual |
This function actually returns the number of object files, which may be less than the actual number of compile units, since an object file may contain more than one compile unit.
SymbolFileDWARFDebugMap looks up the number of compile units by reading the nlist symbol table, which currently, on macOS, only reports one compile unit per object file, and there's no efficient way to calculate the actual number of compile units upfront.
Implements lldb_private::SymbolFileCommon.
Definition at line 584 of file SymbolFileDWARFDebugMap.cpp.
References InitOSO(), and m_compile_unit_infos.
|
inlinestatic |
Definition at line 44 of file SymbolFileDWARFDebugMap.h.
References ID, and lldb_private::SymbolFile::isA().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 804 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, ForEachSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::HasForwardDeclForCompilerType().
|
static |
Definition at line 246 of file SymbolFileDWARFDebugMap.cpp.
Referenced by Initialize(), and Terminate().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1266 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::DumpClangAST(), ForEachSymbolFile(), and lldb_private::Stop.
|
protected |
Definition at line 1432 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::file_range_map, lldb_private::Range< B, S >::GetByteSize(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryRef(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, and lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
protected |
Definition at line 1175 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::Symtab::eDebugAny, lldb::eSymbolTypeObjCClass, lldb::eSymbolTypeSourceFile, lldb_private::Symtab::eVisibilityAny, lldb_private::plugin::dwarf::SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE(), lldb_private::Symtab::FindFirstSymbolWithNameAndType(), ForEachSymbolFile(), GetCompileUnitInfoForSymbolWithIndex(), lldb_private::Symtab::GetIndexForSymbol(), lldb_private::Symtab::GetParent(), GetSymbolFileByCompUnitInfo(), lldb_private::ObjectFile::GetSymtab(), lldb_private::Symbol::GetType(), lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::Stop, and UINT32_MAX.
Referenced by DWARFASTParserClang::ParseStructureLikeDIE().
Definition at line 1150 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindDefinitionDIE(), ForEachSymbolFile(), and lldb_private::Stop.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::CompleteType(), and DWARFASTParserClang::ParseEnum().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1075 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindFunctions(), ForEachSymbolFile(), lldb_private::ConstString::GetCString(), lldb_private::Module::LookupInfo::GetLookupName(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::SymbolContextList::GetSize(), lldb_private::SymbolContextList::IsEmpty(), and LLDB_SCOPED_TIMERF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1095 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindFunctions(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::SymbolContextList::GetSize(), lldb_private::RegularExpression::GetText(), lldb_private::SymbolContextList::IsEmpty(), and LLDB_SCOPED_TIMERF.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 952 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), lldb_private::Stop, and UINT32_MAX.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 921 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), lldb_private::Stop, and UINT32_MAX.
|
overridevirtual |
Finds a namespace of name name and whose parent context is parent_decl_ctx.
If
then this function will consider all namespaces that match the name. If only_root_namespaces is true, only consider in the search those DIEs that represent top-level namespaces.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1249 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::plugin::dwarf::SymbolFileDWARF::FindNamespace(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), and lldb_private::Stop.
|
overridevirtual |
Find types using a type-matching object that contains all search parameters.
[in] | query | A type matching object that contains all of the details of the type search. |
[in] | results | Any matching types will be populated into the results object using TypeMap::InsertUnique(...). |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1239 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::TypeResults::Done(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindTypes(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), and lldb_private::Stop.
|
override |
Definition at line 719 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::ForEachExternalModule(), lldb_private::SymbolFile::GetModuleMutex(), and GetSymbolFile().
|
inlineprotected |
If closure returns IterationAction::Continue, iteration continues.
Otherwise, iteration terminates.
Definition at line 240 of file SymbolFileDWARFDebugMap.h.
References GetSymbolFileByOSOIndex(), m_compile_unit_infos, and lldb_private::Stop.
Referenced by CompleteType(), DumpClangAST(), FindCompleteObjCDefinitionTypeForDIE(), FindDefinitionDIE(), FindFunctions(), FindGlobalVariables(), FindNamespace(), FindTypes(), GetCompileOptions(), GetDebugInfoModules(), GetTypes(), ParseDeclsForContext(), and Supports_DW_AT_APPLE_objc_complete_type().
|
override |
Definition at line 1589 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, ForEachSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::GetCompileOptions().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1393 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetCompilerContextForUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
protected |
Returns the compile unit associated with the dwarf compile unit.
This may be one of the extra compile units an object file contains which isn't reachable by ParseCompileUnitAtIndex(uint32_t).
Definition at line 1314 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, and ParseCompileUnitAtIndex().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::ParseCompileUnit().
|
protected |
Definition at line 1336 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by AddOSOARanges(), lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), LinkOSOAddress(), LinkOSOFileAddress(), and LinkOSOLineTable().
|
protected |
Definition at line 1030 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithID(), and UINT32_MAX.
Referenced by CalculateFrameVariableError().
|
protected |
Definition at line 1009 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithIndex(), and UINT32_MAX.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), and PrivateFindGlobalVariables().
|
protected |
Definition at line 642 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 637 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit, and GetCompUnitInfo().
Referenced by GetCompUnitInfo(), GetSymbolFile(), GetTypes(), and ParseAllLanguages().
|
protected |
Definition at line 530 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, and UINT32_MAX.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 656 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
overridevirtual |
Get the additional modules that this symbol file uses to parse debug info.
Some debug info is stored in stand alone object files that are represented by unique modules that will show up in the statistics module list. Return a list of modules that are not in the target module list that this symbol file is currently using so that they can be tracked and assoicated with the module in the statistics.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1530 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::ModuleList::Append(), lldb_private::Continue, ForEachSymbolFile(), lldb_private::ModuleChild::GetModule(), and lldb_private::SymbolFileCommon::GetObjectFile().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1385 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDeclContextContainingUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1377 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDeclContextForUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
overridevirtual |
If type_uid
points to an array type, return its characteristics.
To support variable-length array types, this function takes an optional ExecutionContext
. If exe_ctx
is non-null, the dynamic characteristics for that context are returned.
Implements lldb_private::SymbolFile.
Definition at line 795 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::GetDynamicArrayInfoForUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
protected |
Definition at line 491 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos.
Referenced by ParseCompileUnitAtIndex().
|
inlineprotected |
Definition at line 288 of file SymbolFileDWARFDebugMap.h.
References m_forward_decl_compiler_type_to_die.
|
protected |
Definition at line 404 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Status::AsCString(), lldb_private::ConstString::AsCString(), lldb_private::FileSystem::Exists(), GetCompUnitInfoIndex(), lldb_private::ConstString::GetCString(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), lldb_private::FileSpec::GetPath(), lldb_private::FileSystem::Instance(), lldb_private::SymbolFileCommon::m_objfile_sp, m_oso_map, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_load_error, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_mod_time, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, lldb_private::Status::SetErrorStringWithFormat(), lldb_private::ArchSpec::SetTriple(), and lldb_private::ObjectFile::SplitArchivePathWithObject().
Referenced by CalculateFrameVariableError(), GetCompUnitInfosForModule(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), GetModuleByOSOIndex(), GetObjectFileByCompUnitInfo(), GetSymbolFileByCompUnitInfo(), and ParseCompileUnitAtIndex().
|
protected |
Definition at line 397 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by GetObjectFileByOSOIndex(), and GetSeparateDebugInfo().
|
protected |
Definition at line 522 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and lldb_private::Module::GetObjectFile().
|
protected |
Definition at line 502 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByOSOIndex(), and lldb_private::Module::GetObjectFile().
|
inlinestaticprotected |
Definition at line 204 of file SymbolFileDWARFDebugMap.h.
References lldb_private::plugin::dwarf::DIERef::file_index(), and lldbassert.
Referenced by GetCompilerContextForUID(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), and ResolveTypeUID().
|
static |
Definition at line 242 of file SymbolFileDWARFDebugMap.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 139 of file SymbolFileDWARFDebugMap.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 52 of file SymbolFileDWARFDebugMap.h.
Referenced by GetPluginName(), and Initialize().
|
overridevirtual |
List separate oso files.
Reimplemented from lldb_private::SymbolFile.
Definition at line 1276 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::StructuredData::Array::AddItem(), lldb_private::StructuredData::Dictionary::AddItem(), lldb_private::StructuredData::Dictionary::AddStringItem(), lldb_private::SymbolFileCommon::GetMainObjectFile(), GetModuleByOSOIndex(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 515 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and GetSymbolFileByCompUnitInfo().
|
protected |
Definition at line 510 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit, and GetSymbolFile().
Referenced by ForEachExternalModule(), GetSymbolFile(), ParseBlocksRecursive(), ParseDebugMacros(), ParseFunctions(), ParseImportedModules(), ParseIsOptimized(), ParseLanguage(), ParseLineTable(), ParseSupportFiles(), ParseTypes(), ParseVariablesForContext(), and ParseXcodeSDK().
|
staticprotected |
Definition at line 551 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::PluginInterface::GetPluginName(), and lldb_private::plugin::dwarf::SymbolFileDWARF::GetPluginNameStatic().
Referenced by lldb_private::plugin::dwarf::DebugMapModule::GetSymbolFile(), GetSymbolFileByCompUnitInfo(), and LinkOSOAddress().
|
protected |
Definition at line 558 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and GetSymbolFileAsSymbolFileDWARF().
Referenced by FindCompleteObjCDefinitionTypeForDIE(), GetCompileUnit(), GetCompileUnitInfo(), GetSymbolFile(), GetSymbolFileByOSOIndex(), GetTypes(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 543 of file SymbolFileDWARFDebugMap.cpp.
References GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by ForEachSymbolFile(), GetCompilerContextForUID(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), PrivateFindGlobalVariables(), and ResolveTypeUID().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 1114 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContextScope::CalculateSymbolContext(), lldb_private::Continue, ForEachSymbolFile(), GetCompUnitInfo(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFileByCompUnitInfo(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetTypes(), and LLDB_SCOPED_TIMERF.
|
inlineprotected |
Definition at line 292 of file SymbolFileDWARFDebugMap.h.
References m_unique_ast_type_map.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::GetUniqueDWARFASTTypeMap().
|
static |
Definition at line 233 of file SymbolFileDWARFDebugMap.cpp.
References CreateInstance(), GetPluginDescriptionStatic(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::Initialize().
|
overridevirtual |
Initialize the SymbolFile object.
The SymbolFile object with the best set of abilities (detected in "uint32_t SymbolFile::GetAbilities()) will have this function called if it is chosen to parse an object file. More complete initialization can happen in this function which will get called prior to any other functions in the SymbolFile protocol.
Reimplemented from lldb_private::SymbolFile.
Definition at line 257 of file SymbolFileDWARFDebugMap.cpp.
|
protected |
Definition at line 259 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::Symtab::AppendSymbolIndexesWithType(), lldb_private::Symtab::AppendSymbolIndexesWithTypeAndFlagsValue(), lldb_private::ConstString::AsCString(), lldb_private::DebugMap, lldb_private::Symtab::eDebugYes, lldb::eSymbolTypeCode, lldb::eSymbolTypeData, lldb::eSymbolTypeObjectFile, lldb::eSymbolTypeSourceFile, lldb_private::ObjectFile::eTypeCoreFile, lldb_private::ObjectFile::eTypeDebugInfo, lldb_private::ObjectFile::eTypeDynamicLinker, lldb_private::ObjectFile::eTypeExecutable, lldb_private::ObjectFile::eTypeInvalid, lldb_private::ObjectFile::eTypeJIT, lldb_private::ObjectFile::eTypeObjectFile, lldb_private::ObjectFile::eTypeSharedLibrary, lldb_private::ObjectFile::eTypeStubLibrary, lldb_private::ObjectFile::eTypeUnknown, lldb_private::Symtab::eVisibilityAny, lldb_private::Symbol::GetAddressRef(), lldb_private::Symbol::GetByteSize(), lldb_private::ConstString::GetCString(), lldb_private::Address::GetFileAddress(), lldb_private::Symbol::GetID(), lldb_private::Symbol::GetIntegerValue(), lldb_private::GetLog(), lldb_private::Symbol::GetName(), lldb_private::Symbol::GetSiblingIndex(), lldb_private::Symbol::GetType(), kHaveInitializedOSOs, LLDB_INVALID_ADDRESS, LLDB_LOGF, m_compile_unit_infos, m_debug_map, m_flags, m_func_indexes, m_glob_indexes, lldb_private::SymbolFileCommon::m_objfile_sp, lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort(), lldb_private::Symtab::SortSymbolIndexesByValue(), lldb_private::Symtab::SymbolAtIndex(), and UINT32_MAX.
Referenced by CalculateAbilities(), and CalculateNumCompileUnits().
|
inlineoverridevirtual |
LLVM RTTI support.
Reimplemented from lldb_private::SymbolFileCommon.
Definition at line 41 of file SymbolFileDWARFDebugMap.h.
References ID, and lldb_private::SymbolFileCommon::isA().
|
protected |
Convert addr from a .o file address, to an executable address.
[in] | addr | A section offset address from a .o file |
Definition at line 1471 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), GetCompileUnitInfo(), lldb_private::Address::GetFileAddress(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Address::GetModule(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Module::GetSymbolFile(), GetSymbolFileAsSymbolFileDWARF(), m_debug_map, and lldb_private::Module::ResolveFileAddress().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::FixupAddress().
|
protected |
Convert a .o file "file address" to an executable "file address".
[in] | oso_symfile | The DWARF symbol file that contains oso_file_addr |
[in] | oso_file_addr | A .o file "file address" to convert. |
Definition at line 1450 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), GetCompileUnitInfo(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), LLDB_INVALID_ADDRESS, and m_debug_map.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::FixupAddress(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariableDIE().
|
protected |
Given a line table full of lines with "file addresses" that are for a .o file represented by oso_symfile, link a new line table and return it.
[in] | oso_symfile | The DWARF symbol file that produced the line_table |
[in] | line_table | A pointer to the line table. |
Definition at line 1499 of file SymbolFileDWARFDebugMap.cpp.
References GetCompileUnitInfo(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), and lldb_private::LineTable::LinkLineTable().
|
overridevirtual |
This function exists because SymbolFileDWARFDebugMap may extra compile units which aren't exposed as "real" compile units.
In every other case this function should behave identically as ParseLanguage.
Reimplemented from lldb_private::SymbolFile.
Definition at line 685 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and lldb_private::CompileUnit::GetLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 756 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Function::GetCompileUnit(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseBlocksRecursive().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1141 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseCallEdgesInFunction().
|
overrideprotectedvirtual |
This function actually returns the first compile unit the object file at the given index contains.
Implements lldb_private::SymbolFileCommon.
Definition at line 589 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::eLazyBoolCalculate, GetFileSpecForSO(), GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, lldb_private::SymbolFileCommon::m_objfile_sp, and lldb_private::SymbolFileCommon::SetCompileUnitAtIndex().
Referenced by GetCompileUnit().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 711 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseDebugMacros().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1400 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, ForEachSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseDeclsForContext().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 695 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseFunctions().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 747 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseImportedModules().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 739 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseIsOptimized().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 668 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 703 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseLineTable().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 730 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseSupportFiles().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 768 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseTypes().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 777 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesForContext().
|
overridevirtual |
Return the Xcode SDK comp_unit was compiled against.
Reimplemented from lldb_private::SymbolFile.
Definition at line 676 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseXcodeSDK().
|
protected |
Definition at line 899 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), GetCompileUnitInfoForSymbolWithIndex(), lldb_private::VariableList::GetSize(), and GetSymbolFileByOSOIndex().
|
overridevirtual |
Implements lldb_private::SymbolFile.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 785 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveTypeUID().
|
protected |
Definition at line 1350 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, and lldb_private::SymbolFileCommon::SetCompileUnitAtIndex().
|
protected |
Definition at line 1159 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Continue, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, ForEachSymbolFile(), m_supports_DW_AT_APPLE_objc_complete_type, and lldb_private::plugin::dwarf::SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type().
|
staticprotected |
Definition at line 995 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithID().
|
staticprotected |
Definition at line 982 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithIndex().
|
static |
Definition at line 238 of file SymbolFileDWARFDebugMap.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::Terminate().
|
friend |
Definition at line 151 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 150 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 152 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 153 of file SymbolFileDWARFDebugMap.h.
|
staticprivate |
LLVM RTTI support.
Definition at line 36 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 325 of file SymbolFileDWARFDebugMap.h.
Referenced by CalculateAbilities(), CalculateNumCompileUnits(), ForEachSymbolFile(), GetCompileUnit(), GetCompileUnitInfo(), GetCompileUnitInfoForSymbolWithID(), GetCompileUnitInfoForSymbolWithIndex(), GetCompUnitInfo(), GetCompUnitInfoIndex(), GetCompUnitInfosForModule(), GetFileSpecForSO(), GetModuleByOSOIndex(), GetSeparateDebugInfo(), GetSymbolFileByOSOIndex(), InitOSO(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 335 of file SymbolFileDWARFDebugMap.h.
Referenced by AddOSOFileRange(), CalculateFrameVariableError(), InitOSO(), LinkOSOAddress(), and LinkOSOFileAddress().
|
protected |
Definition at line 324 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 332 of file SymbolFileDWARFDebugMap.h.
Referenced by GetForwardDeclCompilerTypeToDIE().
|
protected |
Definition at line 326 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 327 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 328 of file SymbolFileDWARFDebugMap.h.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 334 of file SymbolFileDWARFDebugMap.h.
Referenced by Supports_DW_AT_APPLE_objc_complete_type().
|
protected |
Definition at line 333 of file SymbolFileDWARFDebugMap.h.
Referenced by GetUniqueDWARFASTTypeMap().