summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2016-06-21 20:00:36 +0000
committerGreg Clayton <gclayton@apple.com>2016-06-21 20:00:36 +0000
commit4c8e78280676e8198ec27dcef976f9262f346d97 (patch)
tree04ce27230bc507b0a73b944877f832ce57c3bef2
parent05b094e0ae33c543706f0b0c36c6df23a9628cec (diff)
downloadbcm5719-llvm-4c8e78280676e8198ec27dcef976f9262f346d97.tar.gz
bcm5719-llvm-4c8e78280676e8198ec27dcef976f9262f346d97.zip
Fix the use of lldb::eSymbolContextVariable.
In Address.cpp, we were asking for the lldb::eSymbolContextVariable to be resolved, yet we weren't using the variable. This code gets called when disassembling and can cause the manual creation of all global variables variables which can take minutes. Removing eSymbolContextVariable allows disassembly to not create these long pauses. In Module.cpp, if someone only specified the lldb::eSymbolContextVariable flag, we would not look into a module's debug info, now we will. <rdar://problem/26907449> llvm-svn: 273307
-rw-r--r--lldb/source/Core/Address.cpp2
-rw-r--r--lldb/source/Core/Module.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/lldb/source/Core/Address.cpp b/lldb/source/Core/Address.cpp
index 1fd9119a983..f3ea1718d6f 100644
--- a/lldb/source/Core/Address.cpp
+++ b/lldb/source/Core/Address.cpp
@@ -678,7 +678,7 @@ Address::Dump (Stream *s, ExecutionContextScope *exe_scope, DumpStyle style, Dum
if (module_sp)
{
SymbolContext sc;
- module_sp->ResolveSymbolContextForAddress(*this, eSymbolContextEverything | eSymbolContextVariable, sc);
+ module_sp->ResolveSymbolContextForAddress(*this, eSymbolContextEverything, sc);
if (sc.function || sc.symbol)
{
bool show_stop_context = true;
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp
index f58ec666958..cd984baa886 100644
--- a/lldb/source/Core/Module.cpp
+++ b/lldb/source/Core/Module.cpp
@@ -542,7 +542,8 @@ Module::ResolveSymbolContextForAddress (const Address& so_addr, uint32_t resolve
if (resolve_scope & eSymbolContextCompUnit ||
resolve_scope & eSymbolContextFunction ||
resolve_scope & eSymbolContextBlock ||
- resolve_scope & eSymbolContextLineEntry )
+ resolve_scope & eSymbolContextLineEntry ||
+ resolve_scope & eSymbolContextVariable )
{
resolved_flags |= sym_vendor->ResolveSymbolContext (so_addr, resolve_scope, sc);
}
OpenPOWER on IntegriCloud