From 2fc5d2d1dfaf623ce4e24cd8590565902f8c557c Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 13 Feb 2016 15:01:33 +0000 Subject: Vendor import of lldb release_38 branch r260756: https://llvm.org/svn/llvm-project/lldb/branches/release_38@260756 --- source/Core/Module.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'source/Core/Module.cpp') diff --git a/source/Core/Module.cpp b/source/Core/Module.cpp index 833540e1a309..a29456f5b5a5 100644 --- a/source/Core/Module.cpp +++ b/source/Core/Module.cpp @@ -559,7 +559,18 @@ Module::ResolveSymbolContextForAddress (const Address& so_addr, uint32_t resolve Symtab *symtab = sym_vendor->GetSymtab(); if (symtab && so_addr.IsSectionOffset()) { - sc.symbol = symtab->FindSymbolContainingFileAddress(so_addr.GetFileAddress()); + Symbol *matching_symbol = nullptr; + + symtab->ForEachSymbolContainingFileAddress(so_addr.GetFileAddress(), + [&matching_symbol](Symbol *symbol) -> bool { + if (symbol->GetType() != eSymbolTypeInvalid) + { + matching_symbol = symbol; + return false; // Stop iterating + } + return true; // Keep iterating + }); + sc.symbol = matching_symbol; if (!sc.symbol && resolve_scope & eSymbolContextFunction && !(resolved_flags & eSymbolContextFunction)) { -- cgit v1.2.3