mirror of
https://github.com/intel/llvm.git
synced 2026-01-14 03:50:17 +08:00
Handle stepping through a trampoline where the jump target is calculated a runtime - and so doesn't match
the name of the PLT entry. This solution assumes a naming convention agreed upon by us and the system folks, and isn't general. The general solution requires actually finding & calling the resolver function if it hasn't been called yet. That's more tricky. llvm-svn: 144981
This commit is contained in:
@@ -248,14 +248,35 @@ ModuleList::FindGlobalVariables (const RegularExpression& regex,
|
||||
size_t
|
||||
ModuleList::FindSymbolsWithNameAndType (const ConstString &name,
|
||||
SymbolType symbol_type,
|
||||
SymbolContextList &sc_list)
|
||||
SymbolContextList &sc_list,
|
||||
bool append)
|
||||
{
|
||||
Mutex::Locker locker(m_modules_mutex);
|
||||
sc_list.Clear();
|
||||
if (!append)
|
||||
sc_list.Clear();
|
||||
size_t initial_size = sc_list.GetSize();
|
||||
|
||||
collection::iterator pos, end = m_modules.end();
|
||||
for (pos = m_modules.begin(); pos != end; ++pos)
|
||||
(*pos)->FindSymbolsWithNameAndType (name, symbol_type, sc_list);
|
||||
return sc_list.GetSize();
|
||||
return sc_list.GetSize() - initial_size;
|
||||
}
|
||||
|
||||
size_t
|
||||
ModuleList::FindSymbolsMatchingRegExAndType (const RegularExpression ®ex,
|
||||
lldb::SymbolType symbol_type,
|
||||
SymbolContextList &sc_list,
|
||||
bool append)
|
||||
{
|
||||
Mutex::Locker locker(m_modules_mutex);
|
||||
if (!append)
|
||||
sc_list.Clear();
|
||||
size_t initial_size = sc_list.GetSize();
|
||||
|
||||
collection::iterator pos, end = m_modules.end();
|
||||
for (pos = m_modules.begin(); pos != end; ++pos)
|
||||
(*pos)->FindSymbolsMatchingRegExAndType (regex, symbol_type, sc_list);
|
||||
return sc_list.GetSize() - initial_size;
|
||||
}
|
||||
|
||||
class ModuleMatches
|
||||
|
||||
Reference in New Issue
Block a user