Denis Leroy wrote:
I believe the granularity of the linker is a single object file. So even if you use just a small routine within a big object file, the whole thing is linked with (if you think about how ld works internally and what it has to do, it makes sense).
True, but irrelevant. Because this behavior of linkers is well known, library implementors always have been splitting functions in separate compilation units. The reason you get 400KB of stuff in is that library calls are so interconnected that linking printf() could easily end up pulling in even the DNS resolver ;-) As a side note, today, glibc and other libraries designe for GCC only could use -ffunction-sections to achieve pretty much the same goal without creating that much debris and cutting build time considerably. -- // Bernardo Innocenti \X/ http://www.codewiz.org/ -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list