Useful tools missing from /rescue
Giorgos Keramidas
keramida at freebsd.org
Sun Sep 2 17:36:05 PDT 2007
On 2007-09-02 11:18, Tim Kientzle <kientzle at freebsd.org> 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
More information about the freebsd-hackers
mailing list