Some of our dev builds actually are split up into separate .so files which is a bit slower at execution time, but means linking is a lot faster, especially when you want full debug info...
Some of our dev builds actually are split up into separate .so files which is a bit slower at execution time, but means linking is a lot faster, especially when you want full debug info...
I reported that here: https://lists.gnu.org/archive/html/help-make/2016-11/msg0000...
...and the maintainer said that the behaviour isn't intentional, but after a short look at the source code I decided fixing it was going to be beyond my abilities/motivation.
(I suppose this is more relevant to full builds, not incremental ones.)
In the old days it used to be quite common on UNIX world as well, no idea why "modern" Linux seems to have forgotten about this approach and always builds everything as a single project unit.
Gold and bfd are two examples.
I use these for development and then test with the default linker just in case there’s some subtle issue hiding somewhere.
lldb and mold (mentioned in article) are much faster.
As a project grows larger, link times become more noticeable, and mold starts to help.
[1] the full project, not the 17k SLOC subset discussed in the article