diff options
| author | Greg Clayton <gclayton@apple.com> | 2013-01-08 00:01:36 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2013-01-08 00:01:36 +0000 |
| commit | c1b2ccfd34aeded84655af6962dab3428183d6bd (patch) | |
| tree | 5927e2486486976702f75d11164469017c30119f /lldb/source/Core | |
| parent | b9eb593e504b76288af51f8540fcc6ac2fc69b5d (diff) | |
| download | bcm5719-llvm-c1b2ccfd34aeded84655af6962dab3428183d6bd.tar.gz bcm5719-llvm-c1b2ccfd34aeded84655af6962dab3428183d6bd.zip | |
<rdar://problem/12953853>
Setting breakpoints using "breakpoint set --selector <SEL>" previously didn't when there was no dSYM file.
Also fixed issues in the test suite that arose after fixing the bug.
Also fixed the log channels to properly ref count the log streams using weak pointers to the streams. This fixes a test suite problem that would happen when you specified a full path to the compiler with the "--compiler" option.
llvm-svn: 171816
Diffstat (limited to 'lldb/source/Core')
| -rw-r--r-- | lldb/source/Core/Debugger.cpp | 6 | ||||
| -rw-r--r-- | lldb/source/Core/Module.cpp | 19 |
2 files changed, 22 insertions, 3 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 015924919c0..2a296dba15b 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -2614,13 +2614,13 @@ Debugger::EnableLog (const char *channel, const char **categories, const char *l else { LogStreamMap::iterator pos = m_log_streams.find(log_file); - if (pos == m_log_streams.end()) + if (pos != m_log_streams.end()) + log_stream_sp = pos->second.lock(); + if (!log_stream_sp) { log_stream_sp.reset (new StreamFile (log_file)); m_log_streams[log_file] = log_stream_sp; } - else - log_stream_sp = pos->second; } assert (log_stream_sp.get()); diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp index 62a6ab63e61..69fccfc30f8 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -1064,6 +1064,25 @@ Module::SymbolIndicesToSymbolContextList (Symtab *symtab, std::vector<uint32_t> } size_t +Module::FindFunctionSymbols (const ConstString &name, + uint32_t name_type_mask, + SymbolContextList& sc_list) +{ + Timer scoped_timer(__PRETTY_FUNCTION__, + "Module::FindSymbolsFunctions (name = %s, mask = 0x%8.8x)", + name.AsCString(), + name_type_mask); + ObjectFile *objfile = GetObjectFile (); + if (objfile) + { + Symtab *symtab = objfile->GetSymtab(); + if (symtab) + return symtab->FindFunctionSymbols (name, name_type_mask, sc_list); + } + return 0; +} + +size_t Module::FindSymbolsWithNameAndType (const ConstString &name, SymbolType symbol_type, SymbolContextList &sc_list) { // No need to protect this call using m_mutex all other method calls are |

