[PATCH] Make busybox an applet
Denys Vlasenko
vda.linux at googlemail.com
Tue May 31 00:48:22 UTC 2016
On Fri, May 20, 2016 at 2:06 PM, Ron Yorston <rmy at pobox.com> wrote:
> function old new delta
> busybox_main - 647 +647
> applet_names 2536 2544 +8
> run_applet_no_and_exit 451 458 +7
> applet_main 1468 1472 +4
> main 119 120 +1
> .rodata 147032 147027 -5
> packed_usage 30751 30738 -13
> run_applet_and_exit 675 23 -652
> ------------------------------------------------------------------------------
> (add/remove: 2/0 grow/shrink: 4/3 up/down: 667/-670) Total: -3 bytes
>
> Signed-off-by: Ron Yorston <rmy at pobox.com>
> ---
> Config.in | 21 +++--
> applets/applet_tables.c | 18 ++--
> include/busybox.h | 4 -
> libbb/appletlib.c | 199 ++-----------------------------------------
> libbb/busybox.c | 220 ++++++++++++++++++++++++++++++++++++++++++++++++
> scripts/trylink | 20 -----
> 6 files changed, 248 insertions(+), 234 deletions(-)
> create mode 100644 libbb/busybox.c
>
> diff --git a/Config.in b/Config.in
> index 0a0b5d7..eff733a 100644
> --- a/Config.in
> +++ b/Config.in
> @@ -116,9 +116,21 @@ config FEATURE_COMPRESS_USAGE
> and have very little memory, this might not be a win. Otherwise,
> you probably want this.
>
> +config BUSYBOX
> + bool "Include busybox applet"
> + default y
> + help
> + The busybox applet provides general help regarding busybox and
> + allows the included applets to be listed. It's also required
> + if applet links are to be installed at runtime.
> +
> + If you can live without these features disabling this will save
> + some space.
> +
> config FEATURE_INSTALLER
> bool "Support --install [-s] to install applet links at runtime"
> default y
> + depends on BUSYBOX
> help
> Enable 'busybox --install [-s]' support. This will allow you to use
> busybox at runtime to create hard links or symlinks for all the
> @@ -577,15 +589,6 @@ config FEATURE_INDIVIDUAL
>
> You need to have a working dynamic linker.
>
> -config FEATURE_SHARED_BUSYBOX
> - bool "Produce additional busybox binary linked against libbusybox"
> - default y
> - depends on BUILD_LIBBUSYBOX
> - help
> - Build busybox, dynamically linked against libbusybox.so.N.N.N.
> -
> - You need to have a working dynamic linker.
> -
> ### config BUILD_AT_ONCE
> ### bool "Compile all sources at once"
> ### default n
Applied a simpler version of the patch, which does not do block
move of the code. Not that I am opposed to block move,
I just did not understand why "config FEATURE_SHARED_BUSYBOX"
got nuked...
Please try current git. If you want code moved, send a patch.
Thank you.
More information about the busybox
mailing list