[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
size.
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
to.
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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- mysterious executable size,
Paul Edwards <=