On 11 February 2014 16:00, Jan Hubicka <hubi...@ucw.cz> wrote: > I basically think that binutils should have a way for installed compiler to > register a plugin and load all plugins by default (or perhaps for performance > or upon detecking an compatible LTO object file in some way, perhaps also by > information given in the config file) and let them claim the LTO objects they > understand to.
Right, so this would be not necessarily related to LTO, but with the binutils plugin system. In my very limited experience with LTO and binutils, I can't see how that would be different from just adding a --plugin option on the compiler, unless it's something that the linker would detect automatically without the interference of any compiler. > With the backward compatibility I mean that if we release a new version of > compiler that can no longer read the LTO objects of older compiler, one can > just install both versions and have their plugins to claim only LTO objects > they understand. Just if they were two different compilers. Yes, this makes total sense. > Finally I think we can make binutils to recognize GCC/LLVM LTO objects > as a special case and produce friendly message when user try to handle > them witout plugin as oposed to today strange errors about file formats > or missing symbols. Yes, that as well seems pretty obvious, and mostly orthogonal to the other two proposals. cheers, --renato PS: Removing Chandler, as he was not the right person to look at this. I'll check with others in the LLVM list to chime in on this thread.