diff -ur linux-2.4.14-2/arch/i386/Makefile linux-mdcki/arch/i386/Makefile --- linux-2.4.14-2/arch/i386/Makefile Thu Apr 12 21:20:31 2001 +++ linux-mdcki/arch/i386/Makefile Sat Nov 10 00:07:17 2001 @@ -21,7 +21,7 @@ LDFLAGS=-e stext LINKFLAGS =-T $(TOPDIR)/arch/i386/vmlinux.lds $(LDFLAGS) -CFLAGS += -pipe +CFLAGS += -freg-struct-return -mregparm=3 # prevent gcc from keeping the stack 16 byte aligned CFLAGS += $(shell if $(CC) -mpreferred-stack-boundary=2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-mpreferred-stack-boundary=2"; fi) diff -ur linux-2.4.14-2/arch/i386/boot/compressed/misc.c linux-mdcki/arch/i386/boot/compressed/misc.c --- linux-2.4.14-2/arch/i386/boot/compressed/misc.c Fri Oct 5 03:42:54 2001 +++ linux-mdcki/arch/i386/boot/compressed/misc.c Sat Nov 10 00:02:08 2001 @@ -9,6 +9,7 @@ * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996 */ +#include #include #include #include @@ -304,7 +305,7 @@ short b; } stack_start = { & user_stack [STACK_SIZE] , __KERNEL_DS }; -void setup_normal_output_buffer(void) +static void setup_normal_output_buffer(void) { #ifdef STANDARD_MEMORY_BIOS_CALL if (EXT_MEM_K < 1024) error("Less than 2MB of memory.\n"); @@ -320,7 +321,7 @@ uch *high_buffer_start; int hcount; }; -void setup_output_buffer_if_we_run_high(struct moveparams *mv) +static void setup_output_buffer_if_we_run_high(struct moveparams *mv) { high_buffer_start = (uch *)(((ulg)&end) + HEAP_SIZE); #ifdef STANDARD_MEMORY_BIOS_CALL @@ -342,7 +343,7 @@ mv->high_buffer_start = high_buffer_start; } -void close_output_buffer_if_we_run_high(struct moveparams *mv) +static void close_output_buffer_if_we_run_high(struct moveparams *mv) { if (bytes_out > low_buffer_size) { mv->lcount = low_buffer_size; @@ -355,7 +356,7 @@ } -int decompress_kernel(struct moveparams *mv, void *rmode) +asmlinkage int decompress_kernel(struct moveparams *mv, void *rmode) { real_mode = rmode; diff -ur linux-2.4.14-2/arch/i386/kernel/bluesmoke.c linux-mdcki/arch/i386/kernel/bluesmoke.c --- linux-2.4.14-2/arch/i386/kernel/bluesmoke.c Thu Oct 11 18:04:57 2001 +++ linux-mdcki/arch/i386/kernel/bluesmoke.c Sat Nov 10 02:24:25 2001 @@ -100,11 +100,11 @@ /* * Call the installed machine check handler for this CPU setup. - */ - + */ + static void (*machine_check_vector)(struct pt_regs *, long error_code) = unexpected_machine_check; -void do_machine_check(struct pt_regs * regs, long error_code) +asmlinkage void do_machine_check(struct pt_regs * regs, long error_code) { machine_check_vector(regs, error_code); } diff -ur linux-2.4.14-2/arch/i386/math-emu/fpu_proto.h linux-mdcki/arch/i386/math-emu/fpu_proto.h --- linux-2.4.14-2/arch/i386/math-emu/fpu_proto.h Wed Dec 10 02:57:09 1997 +++ linux-mdcki/arch/i386/math-emu/fpu_proto.h Sat Nov 10 02:31:22 2001 @@ -53,7 +53,7 @@ extern void fst_i_(void); extern void fstp_i(void); /* fpu_entry.c */ -extern void math_emulate(long arg); +asmlinkage extern void math_emulate(long arg); extern void math_abort(struct info *info, unsigned int signal); /* fpu_etc.c */ extern void FPU_etc(void); diff -ur linux-2.4.14-2/include/linux/kernel.h linux-mdcki/include/linux/kernel.h --- linux-2.4.14-2/include/linux/kernel.h Fri Nov 9 20:11:22 2001 +++ linux-mdcki/include/linux/kernel.h Sun Nov 11 12:35:46 2001 @@ -51,7 +51,7 @@ extern struct notifier_block *panic_notifier_list; NORET_TYPE void panic(const char * fmt, ...) __attribute__ ((NORET_AND format (printf, 1, 2))); -NORET_TYPE void do_exit(long error_code) +asmlinkage NORET_TYPE void do_exit(long error_code) ATTRIB_NORET; NORET_TYPE void complete_and_exit(struct completion *, long) ATTRIB_NORET; diff -ur linux-2.4.14-2/kernel/sched.c linux-mdcki/kernel/sched.c --- linux-2.4.14-2/kernel/sched.c Fri Nov 9 19:56:42 2001 +++ linux-mdcki/kernel/sched.c Sat Nov 10 02:07:01 2001 @@ -515,7 +515,7 @@ #endif /* CONFIG_SMP */ } -void schedule_tail(struct task_struct *prev) +asmlinkage void schedule_tail(struct task_struct *prev) { __schedule_tail(prev); }