From: Russell King Rework the declaration, sizing and memcpying of saved_command_line[] so that ARM doesn't need to implement unwelcome header file nestings. Signed-off-by: Andrew Morton --- 25-akpm/arch/alpha/kernel/setup.c | 1 + 25-akpm/arch/cris/kernel/setup.c | 2 ++ 25-akpm/arch/h8300/kernel/setup.c | 4 ++-- 25-akpm/arch/ia64/kernel/setup.c | 3 ++- 25-akpm/arch/m68knommu/kernel/setup.c | 4 ++-- 25-akpm/arch/mips/kernel/setup.c | 3 ++- 25-akpm/arch/parisc/kernel/setup.c | 1 + 25-akpm/arch/ppc/kernel/setup.c | 2 +- 25-akpm/arch/ppc64/kernel/setup.c | 3 ++- 25-akpm/arch/sh/kernel/setup.c | 1 + 25-akpm/arch/sparc/kernel/setup.c | 1 + 25-akpm/arch/sparc64/kernel/setup.c | 1 + 25-akpm/arch/v850/kernel/setup.c | 5 +++-- 25-akpm/arch/x86_64/kernel/head64.c | 1 + 25-akpm/arch/x86_64/kernel/setup.c | 1 + 25-akpm/include/linux/init.h | 3 +-- 25-akpm/init/main.c | 1 + 17 files changed, 25 insertions(+), 12 deletions(-) diff -puN arch/alpha/kernel/setup.c~arm-build-fix arch/alpha/kernel/setup.c --- 25/arch/alpha/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.729699256 -0700 +++ 25-akpm/arch/alpha/kernel/setup.c 2004-06-26 14:04:01.756695152 -0700 @@ -39,6 +39,7 @@ #include #endif #include +#include #include extern struct notifier_block *panic_notifier_list; diff -puN arch/cris/kernel/setup.c~arm-build-fix arch/cris/kernel/setup.c --- 25/arch/cris/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.730699104 -0700 +++ 25-akpm/arch/cris/kernel/setup.c 2004-06-26 14:04:01.756695152 -0700 @@ -18,6 +18,8 @@ #include #include +#include + /* * Setup options */ diff -puN arch/h8300/kernel/setup.c~arm-build-fix arch/h8300/kernel/setup.c --- 25/arch/h8300/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.732698800 -0700 +++ 25-akpm/arch/h8300/kernel/setup.c 2004-06-26 14:04:01.756695152 -0700 @@ -155,8 +155,8 @@ void __init setup_arch(char **cmdline_p) #endif /* Keep a copy of command line */ *cmdline_p = &command_line[0]; - memcpy(saved_command_line, command_line, sizeof(saved_command_line)); - saved_command_line[sizeof(saved_command_line)-1] = 0; + memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); + saved_command_line[COMMAND_LINE_SIZE-1] = 0; #ifdef DEBUG if (strlen(*cmdline_p)) diff -puN arch/ia64/kernel/setup.c~arm-build-fix arch/ia64/kernel/setup.c --- 25/arch/ia64/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.733698648 -0700 +++ 25-akpm/arch/ia64/kernel/setup.c 2004-06-26 14:04:01.757695000 -0700 @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -285,7 +286,7 @@ setup_arch (char **cmdline_p) ia64_patch_vtop((u64) __start___vtop_patchlist, (u64) __end___vtop_patchlist); *cmdline_p = __va(ia64_boot_param->command_line); - strlcpy(saved_command_line, *cmdline_p, sizeof(saved_command_line)); + strlcpy(saved_command_line, *cmdline_p, COMMAND_LINE_SIZE); efi_init(); io_port_init(); diff -puN arch/m68knommu/kernel/setup.c~arm-build-fix arch/m68knommu/kernel/setup.c --- 25/arch/m68knommu/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.735698344 -0700 +++ 25-akpm/arch/m68knommu/kernel/setup.c 2004-06-26 14:04:01.758694848 -0700 @@ -216,8 +216,8 @@ void setup_arch(char **cmdline_p) /* Keep a copy of command line */ *cmdline_p = &command_line[0]; - memcpy(saved_command_line, command_line, sizeof(saved_command_line)); - saved_command_line[sizeof(saved_command_line)-1] = 0; + memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); + saved_command_line[COMMAND_LINE_SIZE-1] = 0; #ifdef DEBUG if (strlen(*cmdline_p)) diff -puN arch/mips/kernel/setup.c~arm-build-fix arch/mips/kernel/setup.c --- 25/arch/mips/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.736698192 -0700 +++ 25-akpm/arch/mips/kernel/setup.c 2004-06-26 14:04:01.758694848 -0700 @@ -38,6 +38,7 @@ #include #include #include +#include #include struct cpuinfo_mips cpu_data[NR_CPUS]; @@ -489,7 +490,7 @@ void __init setup_arch(char **cmdline_p) do_earlyinitcalls(); strlcpy(command_line, arcs_cmdline, sizeof(command_line)); - strlcpy(saved_command_line, command_line, sizeof(saved_command_line)); + strlcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); *cmdline_p = command_line; diff -puN arch/parisc/kernel/setup.c~arm-build-fix arch/parisc/kernel/setup.c --- 25/arch/parisc/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.738697888 -0700 +++ 25-akpm/arch/parisc/kernel/setup.c 2004-06-26 14:04:01.759694696 -0700 @@ -44,6 +44,7 @@ #include /* for pa7300lc_init() proto */ #include #include +#include char command_line[COMMAND_LINE_SIZE]; diff -puN arch/ppc64/kernel/setup.c~arm-build-fix arch/ppc64/kernel/setup.c --- 25/arch/ppc64/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.739697736 -0700 +++ 25-akpm/arch/ppc64/kernel/setup.c 2004-06-26 14:04:01.760694544 -0700 @@ -44,6 +44,7 @@ #include #include #include +#include #include extern unsigned long klimit; @@ -629,7 +630,7 @@ void __init setup_arch(char **cmdline_p) init_mm.brk = klimit; /* Save unparsed command line copy for /proc/cmdline */ - strlcpy(saved_command_line, cmd_line, sizeof(saved_command_line)); + strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE); *cmdline_p = cmd_line; irqstack_early_init(); diff -puN arch/ppc/kernel/setup.c~arm-build-fix arch/ppc/kernel/setup.c --- 25/arch/ppc/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.741697432 -0700 +++ 25-akpm/arch/ppc/kernel/setup.c 2004-06-26 14:04:01.759694696 -0700 @@ -676,7 +676,7 @@ void __init setup_arch(char **cmdline_p) init_mm.brk = (unsigned long) klimit; /* Save unparsed command line copy for /proc/cmdline */ - strlcpy(saved_command_line, cmd_line, sizeof(saved_command_line)); + strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE); *cmdline_p = cmd_line; /* set up the bootmem stuff with available memory */ diff -puN arch/sh/kernel/setup.c~arm-build-fix arch/sh/kernel/setup.c --- 25/arch/sh/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.742697280 -0700 +++ 25-akpm/arch/sh/kernel/setup.c 2004-06-26 14:04:01.761694392 -0700 @@ -25,6 +25,7 @@ #include #include #include +#include #ifdef CONFIG_SH_KGDB #include diff -puN arch/sparc64/kernel/setup.c~arm-build-fix arch/sparc64/kernel/setup.c --- 25/arch/sparc64/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.743697128 -0700 +++ 25-akpm/arch/sparc64/kernel/setup.c 2004-06-26 14:04:01.762694240 -0700 @@ -47,6 +47,7 @@ #include #include #include +#include #ifdef CONFIG_IP_PNP #include diff -puN arch/sparc/kernel/setup.c~arm-build-fix arch/sparc/kernel/setup.c --- 25/arch/sparc/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.745696824 -0700 +++ 25-akpm/arch/sparc/kernel/setup.c 2004-06-26 14:04:01.761694392 -0700 @@ -47,6 +47,7 @@ #include #include #include +#include struct screen_info screen_info = { 0, 0, /* orig-x, orig-y */ diff -puN arch/v850/kernel/setup.c~arm-build-fix arch/v850/kernel/setup.c --- 25/arch/v850/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.746696672 -0700 +++ 25-akpm/arch/v850/kernel/setup.c 2004-06-26 14:04:01.762694240 -0700 @@ -23,6 +23,7 @@ #include #include +#include #include "mach.h" @@ -63,8 +64,8 @@ void __init setup_arch (char **cmdline) { /* Keep a copy of command line */ *cmdline = command_line; - memcpy (saved_command_line, command_line, sizeof saved_command_line); - saved_command_line[sizeof saved_command_line - 1] = '\0'; + memcpy (saved_command_line, command_line, COMMAND_LINE_SIZE); + saved_command_line[COMMAND_LINE_SIZE - 1] = '\0'; console_verbose (); diff -puN arch/x86_64/kernel/head64.c~arm-build-fix arch/x86_64/kernel/head64.c --- 25/arch/x86_64/kernel/head64.c~arm-build-fix 2004-06-26 14:04:01.747696520 -0700 +++ 25-akpm/arch/x86_64/kernel/head64.c 2004-06-26 14:04:01.763694088 -0700 @@ -16,6 +16,7 @@ #include #include #include +#include /* Don't add a printk in there. printk relies on the PDA which is not initialized yet. */ diff -puN arch/x86_64/kernel/setup.c~arm-build-fix arch/x86_64/kernel/setup.c --- 25/arch/x86_64/kernel/setup.c~arm-build-fix 2004-06-26 14:04:01.749696216 -0700 +++ 25-akpm/arch/x86_64/kernel/setup.c 2004-06-26 14:04:01.763694088 -0700 @@ -55,6 +55,7 @@ #include #include #include +#include /* * Machine setup.. diff -puN include/linux/init.h~arm-build-fix include/linux/init.h --- 25/include/linux/init.h~arm-build-fix 2004-06-26 14:04:01.750696064 -0700 +++ 25-akpm/include/linux/init.h 2004-06-26 14:04:01.764693936 -0700 @@ -3,7 +3,6 @@ #include #include -#include /* These macros are used to mark some functions or * initialized data (doesn't apply to uninitialized data) @@ -69,7 +68,7 @@ extern initcall_t __con_initcall_start, extern initcall_t __security_initcall_start, __security_initcall_end; /* Defined in init/main.c */ -extern char saved_command_line[COMMAND_LINE_SIZE]; +extern char saved_command_line[]; #endif #ifndef MODULE diff -puN init/main.c~arm-build-fix init/main.c --- 25/init/main.c~arm-build-fix 2004-06-26 14:04:01.751695912 -0700 +++ 25-akpm/init/main.c 2004-06-26 14:04:01.765693784 -0700 @@ -47,6 +47,7 @@ #include #include +#include /* * This is one of the first .c files built. Error out early _