From aa7da73880539713b14d19d6b34c2940c3579fcd Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 13 Sep 2009 14:57:24 +0200 Subject: [PATCH] add USE_PORTABLE_CODE option and use it in find applet Signed-off-by: Denys Vlasenko --- Config.in | 8 ++++++++ findutils/find.c | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/Config.in b/Config.in index 99f814e5a..05bc3a58a 100644 --- a/Config.in +++ b/Config.in @@ -30,6 +30,14 @@ config EXTRA_COMPAT some GNU extensions in libc. You probably only need this option if you plan to run busybox on desktop. +config USE_PORTABLE_CODE + bool "Avoid using GCC-specific code constructs" + default n + help + Use this option if you are trying to compile busybox with + compiler other than gcc. + If you do use gcc, this option may needlessly increase code size. + choice prompt "Buffer allocation policy" default FEATURE_BUFFERS_USE_MALLOC diff --git a/findutils/find.c b/findutils/find.c index ba8fa0854..76f670942 100644 --- a/findutils/find.c +++ b/findutils/find.c @@ -276,7 +276,11 @@ ACTF(inum) ACTF(exec) { int i, rc; +#if ENABLE_USE_PORTABLE_CODE + char **argv = alloca(sizeof(char*) * (ap->exec_argc + 1)); +#else /* gcc 4.3.1 generates smaller code: */ char *argv[ap->exec_argc + 1]; +#endif for (i = 0; i < ap->exec_argc; i++) argv[i] = subst(ap->exec_argv[i], ap->subst_count[i], fileName); argv[i] = NULL; /* terminate the list */ -- 2.25.1