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