On 2007-09-02 11:18, Tim Kientzle <[EMAIL PROTECTED]> wrote:
> Yar Tikhiy wrote:
>> In addition, there are chflags and chmod in /rescue, but there's no
>> chown in it, so the toolset is a bit incomplete.
>
> Oh, my.  chown was definitely an oversight.  That
> should have been in there.

Probably because chown is a relatively big binary.  If build as a static
binary here, it ends up being:

$ pwd
/home/keramida/bsd/src/usr.sbin/chown
$ make DEBUG_FLAGS='' NO_SHARED=yes all
[...]
$ ls -ld chown
-rwxrwxr-x    1 keramida  users  - 2297013 Sep  3 03:06 chown
$ strip -s chown
$ ls -ld chown
-rwxrwxr-x    1 keramida  users  - 550624 Sep  3 03:06 chown
$

This will get smaller when crunched, but it's still almost 4x the size
of chmod:

$ pwd
/home/keramida/bsd/src/bin/chmod
$ make DEBUG_FLAGS='' NO_SHARED=yes all
[...]
$ ls -ld chmod
-rwxrwxr-x  1 keramida  users  - 662678 Sep  3 03:08 chmod
$ strip -s chmod
$ ls -ld chmod
-rwxrwxr-x  1 keramida  users  - 165884 Sep  3 03:08 chmod
$

Running nm(1) on the binaries, I see that they have the same symbols
though:

$ nm -S chmod | awk '{print $2,$3,$4}' | sort > /tmp/symbols.chmod
$ nm -S chown | awk '{print $2,$3,$4}' | sort > /tmp/symbols.chown
$ diff -u /tmp/symbols.chmod /tmp/symbols.chown
$

Does this mean that adding chown to the already crunched binary will not
cause a lot of bloat because of symbols/functions private to chown?

- Giorgos

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to