fixes for bugs discovered by randomconfig builds and tests

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2010-11-22 23:49:10 +01:00
parent 29ca159133
commit 26777aa1c6
7 changed files with 26 additions and 10 deletions

View File

@ -158,6 +158,7 @@ lib-$(CONFIG_RTCWAKE) += rtc.o
lib-$(CONFIG_IOSTAT) += get_cpu_count.o lib-$(CONFIG_IOSTAT) += get_cpu_count.o
lib-$(CONFIG_MPSTAT) += get_cpu_count.o lib-$(CONFIG_MPSTAT) += get_cpu_count.o
lib-$(CONFIG_POWERTOP) += get_cpu_count.o
# We shouldn't build xregcomp.c if we don't need it - this ensures we don't # We shouldn't build xregcomp.c if we don't need it - this ensures we don't
# require regex.h to be in the include dir even if we don't need it thereby # require regex.h to be in the include dir even if we don't need it thereby

View File

@ -4,7 +4,7 @@ test -d "$1" || { echo "'$1' is not a directory"; exit 1; }
test -x "$1/scripts/randomtest" || { echo "No scripts/randomtest in '$1'"; exit 1; } test -x "$1/scripts/randomtest" || { echo "No scripts/randomtest in '$1'"; exit 1; }
export LIBC="uclibc" export LIBC="uclibc"
export CROSS_COMPILER_PREFIX="i486-linux-uclibc-" export CROSS_COMPILER_PREFIX="i686-"
export MAKEOPTS="-j9" export MAKEOPTS="-j9"
cnt=0 cnt=0

View File

@ -43,7 +43,9 @@
#include <sys/times.h> #include <sys/times.h>
#include "shell_common.h" #include "shell_common.h"
#include "math.h" #if ENABLE_SH_MATH_SUPPORT
# include "math.h"
#endif
#if ENABLE_ASH_RANDOM_SUPPORT #if ENABLE_ASH_RANDOM_SUPPORT
# include "random.h" # include "random.h"
#else #else
@ -5510,6 +5512,11 @@ static struct arglist exparg;
/* /*
* Our own itoa(). * Our own itoa().
*/ */
#if !ENABLE_SH_MATH_SUPPORT
/* cvtnum() is used even if math support is off (to prepare $? values and such) */
typedef long arith_t;
# define ARITH_FMT "%ld"
#endif
static int static int
cvtnum(arith_t num) cvtnum(arith_t num)
{ {

View File

@ -712,11 +712,11 @@ struct globals {
int last_jobid; int last_jobid;
pid_t saved_tty_pgrp; pid_t saved_tty_pgrp;
struct pipe *job_list; struct pipe *job_list;
char o_opt[NUM_OPT_O];
# define G_saved_tty_pgrp (G.saved_tty_pgrp) # define G_saved_tty_pgrp (G.saved_tty_pgrp)
#else #else
# define G_saved_tty_pgrp 0 # define G_saved_tty_pgrp 0
#endif #endif
char o_opt[NUM_OPT_O];
smallint flag_SIGINT; smallint flag_SIGINT;
#if ENABLE_HUSH_LOOPS #if ENABLE_HUSH_LOOPS
smallint flag_break_continue; smallint flag_break_continue;
@ -4500,7 +4500,9 @@ static struct pipe *parse_stream(char **pstring,
expand_string_to_string(str) expand_string_to_string(str)
#endif #endif
static char *expand_string_to_string(const char *str, int do_unbackslash); static char *expand_string_to_string(const char *str, int do_unbackslash);
#if ENABLE_HUSH_TICK
static int process_command_subs(o_string *dest, const char *s); static int process_command_subs(o_string *dest, const char *s);
#endif
/* expand_strvec_to_strvec() takes a list of strings, expands /* expand_strvec_to_strvec() takes a list of strings, expands
* all variable references within and returns a pointer to * all variable references within and returns a pointer to
@ -6579,7 +6581,7 @@ static int checkjobs_and_fg_shell(struct pipe *fg_pipe)
* subshell: ( list ) [&] * subshell: ( list ) [&]
*/ */
#if !ENABLE_HUSH_MODE_X #if !ENABLE_HUSH_MODE_X
#define redirect_and_varexp_helper(new_env_p, old_vars_p, command, squirrel, char argv_expanded) \ #define redirect_and_varexp_helper(new_env_p, old_vars_p, command, squirrel, argv_expanded) \
redirect_and_varexp_helper(new_env_p, old_vars_p, command, squirrel) redirect_and_varexp_helper(new_env_p, old_vars_p, command, squirrel)
#endif #endif
static int redirect_and_varexp_helper(char ***new_env_p, static int redirect_and_varexp_helper(char ***new_env_p,

View File

@ -1,4 +1,4 @@
# FEATURE: CONFIG_FEATURE_HUMAN_READABLE # FEATURE: CONFIG_FEATURE_HUMAN_READABLE
dd if=/dev/zero of=file bs=1M count=1 2>/dev/null dd if=/dev/zero of=file bs=1M count=1 2>/dev/null
test x"`busybox du -h .`" = x"1.0M ." test x"`busybox du -h file`" = x"1.0M file"

View File

@ -18,6 +18,11 @@ fi
sum="$1" sum="$1"
expected="$2" expected="$2"
test -f "$bindir/.config" && . "$bindir/.config"
test x"$CONFIG_FEATURE_FANCY_HEAD" != x"y" \
&& { echo "SKIPPED: $sum"; exit 0; }
text="The quick brown fox jumps over the lazy dog" text="The quick brown fox jumps over the lazy dog"
text=`yes "$text" | head -c 9999` text=`yes "$text" | head -c 9999`

View File

@ -16,9 +16,9 @@ enum {
OPT_e = (1 << 2), OPT_e = (1 << 2),
OPT_f = (1 << 3), OPT_f = (1 << 3),
OPT_l = (1 << 4), OPT_l = (1 << 4),
OPT_p = (1 << 5) * ENABLE_FEATURE_PIDFILE, OPT_a = (1 << 5),
OPT_a = (1 << 6), OPT_M = (1 << 6),
OPT_M = (1 << 7), OPT_p = (1 << 7) * ENABLE_FEATURE_PIDFILE,
}; };
struct acpi_event { struct acpi_event {
@ -199,8 +199,9 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
INIT_G(); INIT_G();
opt_complementary = "df:e--e"; opt_complementary = "df:e--e";
opts = getopt32(argv, "c:de:fl:p:a:M:" IF_FEATURE_ACPID_COMPAT("g:m:s:S:v"), opts = getopt32(argv, "c:de:fl:a:M:" IF_FEATURE_PIDFILE("p:") IF_FEATURE_ACPID_COMPAT("g:m:s:S:v"),
&opt_dir, &opt_input, &opt_logfile, &opt_pidfile, &opt_action, &opt_map &opt_dir, &opt_input, &opt_logfile, &opt_action, &opt_map
IF_FEATURE_PIDFILE(, &opt_pidfile)
IF_FEATURE_ACPID_COMPAT(, NULL, NULL, NULL, NULL) IF_FEATURE_ACPID_COMPAT(, NULL, NULL, NULL, NULL)
); );