tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Trivial program size inflation

Le Fri, Jun 30, 2023 at 01:37:10PM -0400, Mouse a écrit :
> Based on something at work, I was looking at executable sizes.  I
> eventually tried a program stripped about as far down as I could:
> int main(void);
> int main(void)
> {
>  return(0);
> }
> and built it -static.  size on the resulting binary:
> sparc, my mutant 1.4T:
> text    data    bss     dec     hex     filename
> 12616   124     288     13028   32e4    main
> amd64, my mutant 5.2:
>    text	   data	    bss	    dec	    hex	filename
>  152613	   4416	  16792	 173821	  2a6fd	main
> amd64, 9.0_STABLE (ftp.n.o):
>    text    data     bss     dec     hex filename
>  562318   29064 2176416 2767798  2a3bb6 main
> 12K to do nothing is bad enough (I'm going to be looking at why it's
> that big).  149K is even more disturbing (I'll be looking at that too).
> But over half a meg of text and two megs of BSS?  To do nothing?
> Surely something is wrong somewhere.

What are the compiler (especially the linker) and compiler version on
your 1.4T vs. 9.0?

Having the obligation to support a myriad of systems for kerTeX, I have
seen that, unfortunately, static linking is considered nowadays a second
rate feature if not a deprecated one, and this is a part I have to
adjust from time to time, generally for Linuces, to obtain static binaries.

Other thing to look at: the so called i18n. On NetBSD, iconv doesn't
work with static linking, but could it be that its object are
nonetheless added too? As well as threading and so on?
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C

Home | Main Index | Thread Index | Old Index