Fwd: Re: [klibc] klibc and what's the next step?

Rob Landley rob at landley.net
Wed Jul 26 18:28:34 UTC 2006


On Monday 03 July 2006 8:35 am, Paul Fox wrote:
>  > > Currently defined functions:
>  > >         busybox, cat, chroot, dd, false, halt, insmod, ln, mkdir, 
mkfifo,
>  > >         mknod, mount, pivot_root, poweroff, ps, reboot, rm, sleep, 
switch_root,
>  > >         true, umount, uname
>  > 
>  > Well, I'm afraid we heed shell also, and IIRC our shells
>  > are not in particularly good shape.

To clarify: we have four shells (lash, hush, msh, and ash) which share very 
little code.  (Basically, a readline implementation that does command line 
history.  Nothing you'd use running a shell script.)

> i would have thought that ash and dash were pretty much on par, since
> one is derived from the other, and has been synced fairly regularly,
> until recently, anyway.

Our ash is 13,000 lines long.  The smallest it can compile down to (with all 
features disabled so it's basically unusable and "optimize for size instead 
of speed" enabled which is a backwards option by the way) is 48k, which is 
_still_ one of the largest applets in the tree (and about 1/20 of the total 
size of "make defconfig"; enable all the features of ash and it bloats 120k 
which is well over 10% a defconfig busybox).  2000 lines into ash.c it's 
still primarily declaring global variables and function prototypes.  It's 
full of brain damage like goodname() and exerror().  It's also full of 
#ifdefs, everywhere.

It's _crap_.

> paul
> =---------------------
>  paul fox, pgf at brightstareng.com

Rob
-- 
Never bet against the cheap plastic solution.



More information about the busybox mailing list