[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Eliminating static binaries (Was: Unwanted RPM dependencies)

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/

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]