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. More... | |
lldb::LanguageType | ParseLanguage (lldb_private::CompileUnit &comp_unit) override |
lldb_private::XcodeSDK | ParseXcodeSDK (lldb_private::CompileUnit &comp_unit) override |
Return the Xcode SDK comp_unit was compiled against. More... | |
size_t | ParseFunctions (lldb_private::CompileUnit &comp_unit) override |
bool | ParseLineTable (lldb_private::CompileUnit &comp_unit) override |
bool | ParseDebugMacros (lldb_private::CompileUnit &comp_unit) override |
bool | ForEachExternalModule (lldb_private::CompileUnit &, llvm::DenseSet< lldb_private::SymbolFile * > &, llvm::function_ref< bool(lldb_private::Module &)>) override |
bool | ParseSupportFiles (lldb_private::CompileUnit &comp_unit, lldb_private::FileSpecList &support_files) override |
bool | ParseIsOptimized (lldb_private::CompileUnit &comp_unit) override |
size_t | ParseTypes (lldb_private::CompileUnit &comp_unit) override |
bool | ParseImportedModules (const lldb_private::SymbolContext &sc, std::vector< lldb_private::SourceModule > &imported_modules) override |
size_t | ParseBlocksRecursive (lldb_private::Function &func) override |
size_t | ParseVariablesForContext (const lldb_private::SymbolContext &sc) override |
lldb_private::Type * | ResolveTypeUID (lldb::user_id_t type_uid) override |
llvm::Optional< ArrayInfo > | GetDynamicArrayInfoForUID (lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx) override |
If type_uid points to an array type, return its characteristics. More... | |
lldb_private::CompilerDeclContext | GetDeclContextForUID (lldb::user_id_t uid) override |
lldb_private::CompilerDeclContext | GetDeclContextContainingUID (lldb::user_id_t uid) override |
void | ParseDeclsForContext (lldb_private::CompilerDeclContext decl_ctx) override |
bool | CompleteType (lldb_private::CompilerType &compiler_type) override |
uint32_t | ResolveSymbolContext (const lldb_private::Address &so_addr, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContext &sc) override |
uint32_t | ResolveSymbolContext (const lldb_private::SourceLocationSpec &src_location_spec, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContextList &sc_list) override |
void | FindGlobalVariables (lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, lldb_private::VariableList &variables) override |
void | FindGlobalVariables (const lldb_private::RegularExpression ®ex, uint32_t max_matches, lldb_private::VariableList &variables) override |
void | FindFunctions (lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, lldb::FunctionNameType name_type_mask, bool include_inlines, lldb_private::SymbolContextList &sc_list) override |
void | FindFunctions (const lldb_private::RegularExpression ®ex, bool include_inlines, lldb_private::SymbolContextList &sc_list) override |
void | FindTypes (lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, lldb_private::TypeMap &types) override |
void | FindTypes (llvm::ArrayRef< lldb_private::CompilerContext > context, lldb_private::LanguageSet languages, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, lldb_private::TypeMap &types) override |
lldb_private::CompilerDeclContext | FindNamespace (lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx) override |
void | GetTypes (lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list) override |
std::vector< std::unique_ptr< lldb_private::CallEdge > > | ParseCallEdgesInFunction (lldb_private::UserID func_id) override |
void | DumpClangAST (lldb_private::Stream &s) override |
llvm::StringRef | GetPluginName () override |
lldb_private::ModuleList | GetDebugInfoModules () override |
Get the additional modules that this symbol file uses to parse debug info. More... | |
![]() | |
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. More... | |
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. More... | |
uint32_t | GetNumCompileUnits () override |
lldb::CompUnitSP | GetCompileUnitAtIndex (uint32_t idx) override |
llvm::Expected< lldb_private::TypeSystem & > | GetTypeSystemForLanguage (lldb::LanguageType language) override |
void | Dump (Stream &s) override |
uint64_t | GetDebugInfoSize () override |
Metrics gathering functions. More... | |
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. More... | |
void | SetDebugInfoIndexWasLoadedFromCache () override |
bool | GetDebugInfoIndexWasSavedToCache () const override |
void | SetDebugInfoIndexWasSavedToCache () override |
![]() | |
SymbolFile ()=default | |
~SymbolFile () override=default | |
virtual SymbolFile * | GetBackingSymbolFile () |
SymbolFileOnDemand class overrides this to return the underlying backing SymbolFile implementation that loads on-demand. More... | |
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. More... | |
virtual bool | GetLoadDebugInfoEnabled () |
Whether debug info will be loaded or not. More... | |
virtual void | SetLoadDebugInfoEnabled () |
Specify debug info should be loaded. More... | |
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 . More... | |
virtual bool | ParseSupportFiles (CompileUnit &comp_unit, FileSpecList &support_files)=0 |
virtual CompilerDecl | GetDeclForUID (lldb::user_id_t uid) |
virtual void | FindTypes (ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, TypeMap &types) |
virtual void | FindTypes (llvm::ArrayRef< CompilerContext > pattern, LanguageSet languages, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, TypeMap &types) |
Find types specified by a CompilerContextPattern. More... | |
virtual void | GetMangledNamesForFunction (const std::string &scope_qualified_name, std::vector< ConstString > &mangled_names) |
virtual void | PreloadSymbols () |
virtual void | AddSymbols (Symtab &symtab) |
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. More... | |
virtual StatsDuration::Duration | GetDebugInfoParseTime () |
Return the time taken to parse the debug information. More... | |
virtual StatsDuration::Duration | GetDebugInfoIndexTime () |
Return the time it took to index the debug information in the object file. More... | |
![]() | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
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 lldb_private::SymbolFile * | CreateInstance (lldb::ObjectFileSP objfile_sp) |
![]() | |
static bool | classof (const SymbolFileCommon *obj) |
![]() | |
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 lldb_private::RangeDataVector< lldb::addr_t, lldb::addr_t, lldb::addr_t > | FileRangeMap |
typedef lldb_private::RangeDataVector< lldb::addr_t, lldb::addr_t, OSOEntry > | DebugMap |
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< lldb_private::ConstString, llvm::sys::TimePoint<> >, OSOInfoSP > | m_oso_map |
UniqueDWARFASTTypeMap | m_unique_ast_type_map |
lldb_private::LazyBool | m_supports_DW_AT_APPLE_objc_complete_type |
DebugMap | m_debug_map |
![]() | |
lldb::ObjectFileSP | m_objfile_sp |
llvm::Optional< std::vector< lldb::CompUnitSP > > | m_compile_units |
TypeList | m_type_list |
Symtab * | m_symtab = nullptr |
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 |
Static Private Attributes | |
static char | ID |
LLVM RTTI support. More... | |
Friends | |
class | DebugMapModule |
class | DWARFASTParserClang |
class | DWARFCompileUnit |
class | SymbolFileDWARF |
bool | isA (const void *ClassID) const override |
LLVM RTTI support. More... | |
static bool | classof (const SymbolFile *obj) |
Additional Inherited Members | |
![]() | |
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 25 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 305 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 165 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 161 of file SymbolFileDWARFDebugMap.h.
|
protected |
Enumerator | |
---|---|
kHaveInitializedOSOs | |
kNumFlags |
Definition at line 149 of file SymbolFileDWARFDebugMap.h.
SymbolFileDWARFDebugMap::SymbolFileDWARFDebugMap | ( | lldb::ObjectFileSP | objfile_sp | ) |
Definition at line 239 of file SymbolFileDWARFDebugMap.cpp.
|
overridedefault |
|
protected |
Definition at line 1399 of file SymbolFileDWARFDebugMap.cpp.
References DWARFDebugAranges::AppendRange(), GetCompileUnitInfo(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::UserID::GetID(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), and lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize().
Referenced by DWARFCompileUnit::BuildAddressRangeTable().
|
protected |
Definition at line 1299 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::RangeData< B, S, T >::data, 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 SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 538 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), InitOSO(), and m_compile_unit_infos.
|
overrideprotectedvirtual |
Implements lldb_private::SymbolFileCommon.
Definition at line 557 of file SymbolFileDWARFDebugMap.cpp.
References InitOSO(), and m_compile_unit_infos.
|
inlinestatic |
Definition at line 35 of file SymbolFileDWARFDebugMap.h.
References ID.
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 743 of file SymbolFileDWARFDebugMap.cpp.
References ForEachSymbolFile(), and SymbolFileDWARF::HasForwardDeclForClangType().
|
static |
Definition at line 235 of file SymbolFileDWARFDebugMap.cpp.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1209 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::DumpClangAST(), and ForEachSymbolFile().
|
protected |
Definition at line 1323 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, SymbolFileDWARFDebugMap::CompileUnitInfo::file_range_map, lldb_private::Range< B, S >::GetByteSize(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryRef(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, and lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort().
Referenced by SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap().
|
protected |
Definition at line 1106 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eSymbolTypeObjCClass, lldb::eSymbolTypeSourceFile, 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, and UINT32_MAX.
Referenced by DWARFASTParserClang::ParseStructureLikeDIE().
|
protected |
Definition at line 1080 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext(), and ForEachSymbolFile().
Referenced by DWARFASTParserClang::ParseEnum(), and DWARFASTParserClang::ParseStructureLikeDIE().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1026 of file SymbolFileDWARFDebugMap.cpp.
References 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.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 883 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), and UINT32_MAX.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 852 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindGlobalVariables(), ForEachSymbolFile(), lldb_private::SymbolFile::GetModuleMutex(), lldb_private::VariableList::GetSize(), and UINT32_MAX.
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1194 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::FindNamespace(), ForEachSymbolFile(), and lldb_private::SymbolFile::GetModuleMutex().
|
override |
|
override |
|
override |
Definition at line 658 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::ForEachExternalModule(), lldb_private::SymbolFile::GetModuleMutex(), and GetSymbolFile().
|
inlineprotected |
Definition at line 230 of file SymbolFileDWARFDebugMap.h.
References GetSymbolFileByOSOIndex(), and m_compile_unit_infos.
Referenced by CompleteType(), DumpClangAST(), FindCompleteObjCDefinitionTypeForDIE(), FindDefinitionTypeForDWARFDeclContext(), FindFunctions(), FindGlobalVariables(), FindNamespace(), GetDebugInfoModules(), GetTypes(), ParseDeclsForContext(), and Supports_DW_AT_APPLE_objc_complete_type().
|
protected |
Definition at line 1220 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, and ParseCompileUnitAtIndex().
Referenced by SymbolFileDWARF::ParseCompileUnit().
|
protected |
Definition at line 1239 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by AddOSOARanges(), LinkOSOAddress(), LinkOSOFileAddress(), and LinkOSOLineTable().
|
protected |
Definition at line 961 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithID(), and UINT32_MAX.
|
protected |
Definition at line 940 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, SymbolContainsSymbolWithIndex(), and UINT32_MAX.
Referenced by FindCompleteObjCDefinitionTypeForDIE(), and PrivateFindGlobalVariables().
|
protected |
Definition at line 597 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
|
protected |
Definition at line 592 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit.
Referenced by GetSymbolFile(), and GetTypes().
|
protected |
Definition at line 503 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos, and UINT32_MAX.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 606 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by 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 1420 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::ModuleList::Append(), ForEachSymbolFile(), lldb_private::ModuleChild::GetModule(), and lldb_private::SymbolFileCommon::GetObjectFile().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1283 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::GetDeclContextContainingUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1274 of file SymbolFileDWARFDebugMap.cpp.
References 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 734 of file SymbolFileDWARFDebugMap.cpp.
References SymbolFileDWARF::GetDynamicArrayInfoForUID(), GetOSOIndexFromUserID(), and GetSymbolFileByOSOIndex().
|
protected |
Definition at line 464 of file SymbolFileDWARFDebugMap.cpp.
References m_compile_unit_infos.
Referenced by ParseCompileUnitAtIndex().
|
protected |
Definition at line 396 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfoIndex(), lldb_private::ConstString::GetCString(), lldb_private::ModuleChild::GetModule(), lldb_private::SymbolFileCommon::GetObjectFile(), lldb_private::FileSpec::GetPath(), lldb_private::SymbolFileCommon::m_objfile_sp, m_oso_map, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_mod_time, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_path, SymbolFileDWARFDebugMap::CompileUnitInfo::oso_sp, and lldb_private::ArchSpec::SetTriple().
Referenced by GetCompUnitInfosForModule(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), GetModuleByOSOIndex(), GetObjectFileByCompUnitInfo(), GetSymbolFileByCompUnitInfo(), and ParseCompileUnitAtIndex().
Definition at line 389 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), and m_compile_unit_infos.
Referenced by GetObjectFileByOSOIndex().
|
protected |
Definition at line 495 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and lldb_private::Module::GetObjectFile().
|
protected |
Definition at line 475 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByOSOIndex(), and lldb_private::Module::GetObjectFile().
|
inlinestaticprotected |
Definition at line 195 of file SymbolFileDWARFDebugMap.h.
Referenced by GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), and ResolveTypeUID().
|
static |
Definition at line 231 of file SymbolFileDWARFDebugMap.cpp.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 143 of file SymbolFileDWARFDebugMap.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 43 of file SymbolFileDWARFDebugMap.h.
Referenced by GetPluginName().
|
protected |
Definition at line 488 of file SymbolFileDWARFDebugMap.cpp.
References GetCompUnitInfo(), and GetSymbolFileByCompUnitInfo().
|
protected |
Definition at line 483 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContext::comp_unit.
Referenced by ForEachExternalModule(), ParseBlocksRecursive(), ParseDebugMacros(), ParseFunctions(), ParseImportedModules(), ParseIsOptimized(), ParseLanguage(), ParseLineTable(), ParseSupportFiles(), ParseTypes(), ParseVariablesForContext(), and ParseXcodeSDK().
|
staticprotected |
Definition at line 524 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::PluginInterface::GetPluginName(), and SymbolFileDWARF::GetPluginNameStatic().
Referenced by DebugMapModule::GetSymbolFile(), GetSymbolFileByCompUnitInfo(), and LinkOSOAddress().
|
protected |
Definition at line 531 of file SymbolFileDWARFDebugMap.cpp.
References GetModuleByCompUnitInfo(), and GetSymbolFileAsSymbolFileDWARF().
Referenced by FindCompleteObjCDefinitionTypeForDIE(), GetCompileUnit(), GetCompileUnitInfo(), GetSymbolFile(), GetSymbolFileByOSOIndex(), GetTypes(), and SetCompileUnit().
|
protected |
Definition at line 516 of file SymbolFileDWARFDebugMap.cpp.
References GetSymbolFileByCompUnitInfo(), and m_compile_unit_infos.
Referenced by ForEachSymbolFile(), GetDeclContextContainingUID(), GetDeclContextForUID(), GetDynamicArrayInfoForUID(), ParseCallEdgesInFunction(), PrivateFindGlobalVariables(), and ResolveTypeUID().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 1045 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolContextScope::CalculateSymbolContext(), ForEachSymbolFile(), GetCompUnitInfo(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFileByCompUnitInfo(), SymbolFileDWARF::GetTypes(), and LLDB_SCOPED_TIMERF.
|
inlineprotected |
Definition at line 275 of file SymbolFileDWARFDebugMap.h.
References m_unique_ast_type_map.
Referenced by SymbolFileDWARF::GetUniqueDWARFASTTypeMap().
|
static |
Definition at line 222 of file SymbolFileDWARFDebugMap.cpp.
Referenced by 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 246 of file SymbolFileDWARFDebugMap.cpp.
|
protected |
Definition at line 248 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::eSymbolTypeCode, lldb::eSymbolTypeData, lldb::eSymbolTypeObjectFile, lldb::eSymbolTypeSourceFile, 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 32 of file SymbolFileDWARFDebugMap.h.
References ID.
|
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 1362 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(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::ModuleChild::GetModule(), lldb_private::Address::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 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 1341 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), GetCompileUnitInfo(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::Range< B, S >::GetRangeBase(), LLDB_INVALID_ADDRESS, and m_debug_map.
Referenced by SymbolFileDWARF::FixupAddress(), and 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 1390 of file SymbolFileDWARFDebugMap.cpp.
References GetCompileUnitInfo(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), and lldb_private::LineTable::LinkLineTable().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 695 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::Function::GetCompileUnit(), lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseBlocksRecursive().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1072 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::UserID::GetID(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF::ParseCallEdgesInFunction().
|
overrideprotectedvirtual |
Implements lldb_private::SymbolFileCommon.
Definition at line 562 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::eLazyBoolCalculate, GetFileSpecForSO(), GetModuleByCompUnitInfo(), lldb_private::SymbolFileCommon::GetNumCompileUnits(), 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 650 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseDebugMacros().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 1291 of file SymbolFileDWARFDebugMap.cpp.
References ForEachSymbolFile(), and SymbolFileDWARF::ParseDeclsForContext().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 634 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseFunctions().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 686 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseImportedModules().
|
overridevirtual |
Reimplemented from lldb_private::SymbolFile.
Definition at line 678 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseIsOptimized().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 618 of file SymbolFileDWARFDebugMap.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseLanguage().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 642 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseLineTable().
|
override |
Definition at line 669 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseSupportFiles().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 707 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseTypes().
|
overridevirtual |
Implements lldb_private::SymbolFile.
Definition at line 716 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseVariablesForContext().
|
overridevirtual |
Return the Xcode SDK comp_unit was compiled against.
Reimplemented from lldb_private::SymbolFile.
Definition at line 626 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetSymbolFile(), and SymbolFileDWARF::ParseXcodeSDK().
|
protected |
Definition at line 830 of file SymbolFileDWARFDebugMap.cpp.
References 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 724 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFile::GetModuleMutex(), GetOSOIndexFromUserID(), GetSymbolFileByOSOIndex(), and SymbolFileDWARF::ResolveTypeUID().
|
protected |
Definition at line 1253 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::SymbolFileCommon::GetNumCompileUnits(), GetSymbolFileByCompUnitInfo(), m_compile_unit_infos, and lldb_private::SymbolFileCommon::SetCompileUnitAtIndex().
|
protected |
Definition at line 1090 of file SymbolFileDWARFDebugMap.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, ForEachSymbolFile(), m_supports_DW_AT_APPLE_objc_complete_type, and SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type().
Referenced by SymbolFileDWARF::Supports_DW_AT_APPLE_objc_complete_type().
|
staticprotected |
Definition at line 926 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithID().
|
staticprotected |
Definition at line 913 of file SymbolFileDWARFDebugMap.cpp.
Referenced by GetCompileUnitInfoForSymbolWithIndex().
|
static |
Definition at line 227 of file SymbolFileDWARFDebugMap.cpp.
Referenced by SymbolFileDWARF::Terminate().
|
friend |
Definition at line 151 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 152 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 153 of file SymbolFileDWARFDebugMap.h.
|
friend |
Definition at line 154 of file SymbolFileDWARFDebugMap.h.
|
staticprivate |
LLVM RTTI support.
Definition at line 27 of file SymbolFileDWARFDebugMap.h.
|
protected |
Definition at line 309 of file SymbolFileDWARFDebugMap.h.
Referenced by CalculateAbilities(), CalculateNumCompileUnits(), ForEachSymbolFile(), GetCompileUnit(), GetCompileUnitInfo(), GetCompileUnitInfoForSymbolWithID(), GetCompileUnitInfoForSymbolWithIndex(), GetCompUnitInfo(), GetCompUnitInfoIndex(), GetCompUnitInfosForModule(), GetFileSpecForSO(), GetModuleByOSOIndex(), GetSymbolFileByOSOIndex(), InitOSO(), ParseCompileUnitAtIndex(), and SetCompileUnit().
|
protected |
Definition at line 317 of file SymbolFileDWARFDebugMap.h.
Referenced by AddOSOFileRange(), InitOSO(), LinkOSOAddress(), and LinkOSOFileAddress().
|
protected |
Definition at line 308 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 310 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 311 of file SymbolFileDWARFDebugMap.h.
Referenced by InitOSO().
|
protected |
Definition at line 314 of file SymbolFileDWARFDebugMap.h.
Referenced by GetModuleByCompUnitInfo().
|
protected |
Definition at line 316 of file SymbolFileDWARFDebugMap.h.
Referenced by Supports_DW_AT_APPLE_objc_complete_type().
|
protected |
Definition at line 315 of file SymbolFileDWARFDebugMap.h.
Referenced by GetUniqueDWARFASTTypeMap().