Right.  If we have both, the symbol should be faster and won't potentially drag 
in more debug info, so we should use it.  If the two have different addresses 
that's a more fundamental problem we shouldn't try to patch over here.  We 
should only use the function if it's all we have.  Note also, if there is a 
function but no symbol then it can't be an external symbol...

Jim

> On Mar 9, 2016, at 11:37 AM, Ted Woodward <ted.woodw...@codeaurora.org> wrote:
> 
> So you'd like to see this function get the address of a function that it
> finds in either symbols or debug info?
> 
> Which should it prioritize when we have both?
> 
> Ted
> --
> Qualcomm Innovation Center, Inc.
> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
> Linux Foundation Collaborative Project
> 
> 
> -----Original Message-----
> From: jing...@apple.com [mailto:jing...@apple.com] 
> Sent: Tuesday, March 08, 2016 5:35 PM
> To: reviews+d17860+public+90c8568c5fdb4...@reviews.llvm.org
> Cc: ted.woodw...@codeaurora.org; ztur...@google.com; scalla...@apple.com;
> amcca...@google.com; lldb-commits@lists.llvm.org
> Subject: Re: [PATCH] D17860: Fix "ninja check-lldb" crash in
> IRExecutionUnit.cpp
> 
> 
>> On Mar 8, 2016, at 2:46 PM, Ted Woodward <ted.woodw...@codeaurora.org>
> wrote:
>> 
>> ted added a comment.
>> 
>> The change is to guard against the case where candidate_sc.symbol is
> nullptr.
>> 
>> candidate_sc.function is only used when load_address !=
> LLDB_INVALID_ADDRESS, but load_address is set on line 802:
>> 
>> load_address = candidate_sc.symbol->ResolveCallableAddress(*target);
>> 
>> so candidate_sc.symbol must be valid.
>> 
>> The purpose of the function is to get the address of a symbol, so I don't
> think we care about candidate_sc.function when candidate_sc.symbol is
> nullptr.
> 
> It's name is "FindInSymbols" but I am pretty sure that's in
> contradistinction to "FindInRuntimes" not "FindInDebugInformation".  The
> searches that feed this function search both Symbols and Debug Information.
> I agree with you that the original code worked incorrectly in the case where
> you had a function from debug information and not from symbols, but your
> change would need to be reverted to make this work properly (and states an
> intent that I don't think is correct.)
> 
> Jim
> 
> 
>> 
>> 
>> http://reviews.llvm.org/D17860
>> 
>> 
>> 
> 
> 

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to