[Top][All Lists]

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

mysterious executable size

From: Paul Edwards
Subject: mysterious executable size
Date: Wed, 05 Nov 2003 12:45:20 GMT

It took a long time, but I finally tracked down the source
of the problem of the unexplained jump in executable

Here is the result of running ./configure on my Sun
Solaris system.  Except for cvs-1.11 and 1.11.1p1
where I needed to put "--disable-client --disable-server"
in order to get it to actually build.

-rwxrwxr-x   1 user  user   995644 Nov  5 11:43 cvs-1.10
-rwxrwxr-x   1 user  user  1345340 Nov  5 11:54 cvs-1.11
-rwxrwxr-x   1 user  user  2301952 Nov  5 12:18 cvs-1.11.1p1
-rwxrwxr-x   1 user  user  3072000 Nov  5 12:28 cvs-1.11.2
-rwxrwxr-x   1 user  user  3072000 Nov  5 12:38 cvs-1.11.4
-rwxrwxr-x   1 user  user  3072000 Nov  5 12:45 cvs-1.11.5
-rwxrwxr-x   1 user  user  3039232 Nov  5 13:03 cvs-1.11.6
-rwxrwxr-x   1 user  user  3063808 Nov  5 18:24 cvs-1.11.7
-rwxrwxr-x   1 user  user  3063808 Nov  5 18:33 cvs-1.11.8
-rwxrwxr-x   1 user  user  3063808 Nov  5 18:42 cvs-1.11.9

It turns out that in all environments, although it was compiling
all files with "-g", the Makefile in the src directory for
cvs 1.11.2 had LDFLAGS = -g, but in cvs-1.11 it was blank.

I didn't notice this difference, and certainly wasn't expecting
such a difference.  In addition, I actually initially thought that
it was probably debug info that was causing the difference,
which is why I ran "strip" on the executable, which hardly
changed the size at all, so I assumed that the problem was
not due to debug info after all.

Here are the figures:

the 1.11.2 executable when linked without -g

-rwxrwxr-x   1 user  user  1375040 Nov  5 19:46 cvs

when linked with -g

-rwxrwxr-x   1 user  user  3072000 Nov  5 19:47 cvs

when stripped

-rwxrwxr-x   1 user  user  2747620 Nov  5 19:47 cvs

So in my environment, strip is not behaving as I am used

With my newfound knowledge, I have recompiled cvs 1.11.9.

cvs 1.11.9 compiled with optimization

-rwxrwxr-x   1 user  user   841912 Nov  5 20:01 cvs

cvs 1.11.9 compiled optimized and without client/server support

-rwxrwxr-x   1 user  user   645380 Nov  5 20:12 cvs

I didn't bother using the 645380 byte version, as I'd rather the
executable supported client/server in case they should choose
to use that feature later.

So after 1 year, I now have the expected CVS executable on
my system.  It's still only operating locally, but nevermind.  :-)

BFN.  Paul.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]