JDevlieghere wrote:

I don't yet understand how changing the priority of the plugins prevents the 
"double download" you mention. Your problem statements talks about the callback 
and the debuginfod plugin, but your solution talks about the debuginfod plugin 
and the default symbol locator. What confuses me is that `locate_module` 
mechanism isn't using the symbol locator plugin mechanism. How does 
prioritizing one plugin over another prevent us from invoking the callback? Is 
this somehow called from the default symbol locator (I tried to look at the 
code but couldn't immediately find something like that). 

In #99362, the order of the plugins was changed to prioritize the debuginfod 
plugin for stripped binaries. How does this interact with that? Will this go 
back to doing the wrong thing is the priority is too low? 

Finally, this PR only supports setting the priority of the debuginfod symbol 
locator. That only works if you have exactly two plugins. As soon as you have 
more (as is the case on Darwin, and possibly soon we'll have a [fourth 
one](https://discourse.llvm.org/t/rfc-python-callback-for-source-file-resolution/83545))
 that mechanism falls short. 

In hindsight, I don't think the `locate_module` callback mechanism was the 
right choice. It probably was at the time, when the symbol locators weren't 
plugins and we didn't have debuginfod support yet. But I think moving, forward, 
I'd very much prefer to move to the idea in 
https://discourse.llvm.org/t/rfc-python-callback-for-source-file-resolution/83545
 and 
https://discourse.llvm.org/t/rfc-support-fetching-source-files-with-debuginfod/86579
 and implementing a "Scripted Symbol Locator" instead. That way we can let the 
usual plugin mechanism deal with falling back between plugins. If then there's 
still a need to set a dynamic order, I think the priority queue could make 
sense. 

https://github.com/llvm/llvm-project/pull/144406
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to