Eliminating static binaries (Was: Unwanted RPM dependencies)
Patrice Dumas
pertusus at free.fr
Thu Jun 7 06:32:39 UTC 2007
On Wed, Jun 06, 2007 at 08:41:26AM -0500, Chris Adams wrote:
> You should probably test that before you post. I would say this is the
> smallest possible regular C program:
>
> $ cat x.c
> int main ()
> {
> return 0;
> }
> $ gcc -o x-dyn x.c
> $ gcc -static -o x-stat x.c
> $ strip x-dyn x-stat
> $ ls -l x-dyn x-stat
> -rwxr-xr-x 1 cmadams users 2816 Jun 6 08:38 x-dyn
> -rwxr-xr-x 1 cmadams users 459492 Jun 6 08:38 x-stat
> $
>
> I don't forsee a static executable being smaller than a dynamic
> executable in the real world. It is possible that somebody could
> hand-build (e.g. no gcc, ld, etc.) such an executable, but that doesn't
> really count (since that isn't done in the real world).
given that the dynamic executable is 2816 bytes, the static one could be
smaller, however it is way bigger. In fact it seems to me (but I don't
rerally know a lot about those things, I was only saying something I saw
elsewhere) that it is way too bigger for that difference to be explained by
static linking, there is something else happening there.
In any case I stand corrected.
--
Pat
More information about the fedora-devel-list
mailing list