JDevlieghere added a comment. In D121444#3375701 <https://reviews.llvm.org/D121444#3375701>, @labath wrote:
> In D121444#3375445 <https://reviews.llvm.org/D121444#3375445>, @JDevlieghere > wrote: > >> In D121444#3374854 <https://reviews.llvm.org/D121444#3374854>, @labath wrote: >> >>>> I wish I could make this distinction in the platform, but you need a >>>> connected process to do this. >>> >>> Basically, what you're saying is that the ArchSpec alone is not sufficient >>> to select the right platform. Instead of punching right through the layers, >>> could we just give more information (which I guess would be the system >>> architecture) to the functions responsible for selecting the right plugin? >>> Then they could do the regular ask-each-plugin-if-it-wants-to-handle-it >>> dance. The host plugin would say "I don't handle processes with >>> system-arch=*-ios" and then we would go around until we find the remote-ios >>> plugin saying "I live for debugging ios systems"? >>> >>> [I must admit that I have a bit of an ulterior motive for suggesting this >>> -- I also have a use case where the ArchSpec is not sufficient to select >>> the best platform, but I've struggled to formulate it in a way that makes >>> sense upstream. The system architecture is not relevant for my case (what >>> I'd really need is to inspect the details of the executable being debugged >>> -- mainly its path, but possibly also some other bits), but if we open the >>> door to more elaborate platform selection, then I might be able to squeeze >>> this in as well. >> >> Yup, that could totally work, it didn't seem worth like changing all that >> for just the one use case, but happy to do it if you can benefit from that >> as well. Did you have any particular design in mind? For me, passing an >> extra ArchSpec for the host arch would do the trick, but that doesn't get >> you much further. I could pass in a little context object which would hold >> an ArchSpec for the host arch and a FileSpec for your use case. Or maybe we >> should just pass in the process if we have one and get all the information >> from that. > > A process wouldn't help me, since I am primarily interested in the launch > scenario, where the platform is selected long before the process is launched. > I am contemplating passing in a ModuleSpec instead of a plain ArchSpec. That > would be sufficient for my use case, but I don't know if I really like it (it > seems somewhat strange because the we would really like to pass in the > process architecture, but a ModuleSpec would normally describe the module > architecture (which may be less precise)). So, it may be best to have a > specialized context object, but at the end of the day, I don't think that's > something that you need to solve. I think it would be sufficient to just add > an additional ArchSpec argument for now. If that idea proves itself (and I > decide to go ahead with this), I can upgrade that to a context object. Cool, that works for me CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121444/new/ https://reviews.llvm.org/D121444 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits