On 5/5/22 12:52, Alexander Monakov wrote: > Feels a bit weird to ask, but before entertaining such an API extension, > can we step back and understand the v3 variant of get_symbols? It is not > documented, and from what little I saw I did not get the "motivation" for > its existence (what it is doing that couldn't be done with the v2 api).
Please see here: https://github.com/rui314/mold/issues/181#issuecomment-1037927757 > > To me lack of documentation looks like a serious issue :/ Yes, documentation is missing. This is what can be seen from gold's implementation: // Get the symbol resolution info for a plugin-claimed input file. static enum ld_plugin_status get_symbols(const void* handle, int nsyms, ld_plugin_symbol* syms) ... // Version 2 of the above. The only difference is that this version // is allowed to return the resolution code LDPR_PREVAILING_DEF_IRONLY_EXP. // Version 3 of the above. The only difference from v2 is that it // returns LDPS_NO_SYMS instead of LDPS_OK for the objects we never // decided to include. static enum ld_plugin_status get_symbols_v3(const void* handle, int nsyms, ld_plugin_symbol* syms) Which is something like documentation :( Martin