Index: kernel/Makefile =================================================================== RCS file: /linux/linux/arch/mips/kernel/Makefile,v retrieving revision 1.2 diff -c -p -r1.2 Makefile *** kernel/Makefile 2 Dec 2004 19:50:05 -0000 1.2 --- kernel/Makefile 3 Dec 2004 03:00:44 -0000 *************** obj-y += branch.o cpu-probe.o irq.o pro *** 18,23 **** --- 18,27 ---- traps.o ptrace.o reset.o semaphore.o setup.o syscall.o \ sysmips.o ipc.o scall_o32.o time.o unaligned.o + check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi) + + syscall.o signal.o : override CFLAGS += $(call check_gcc, -fno-unit-at-a-time,) + obj-$(CONFIG_MODULES) += mips_ksyms.o obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o Index: kernel/signal.c =================================================================== RCS file: /linux/linux/arch/mips/kernel/signal.c,v retrieving revision 1.1.1.2 diff -c -p -r1.1.1.2 signal.c *** kernel/signal.c 1 Dec 2004 21:50:39 -0000 1.1.1.2 --- kernel/signal.c 3 Dec 2004 03:00:44 -0000 *************** *** 18,23 **** --- 18,24 ---- #include #include #include + #include #include #include *************** int copy_siginfo_to_user(siginfo_t *to, *** 76,82 **** * Atomically swap in the new signal mask, and wait for a signal. */ save_static_function(sys_sigsuspend); ! static_unused int _sys_sigsuspend(struct pt_regs regs) { sigset_t *uset, saveset, newset; --- 77,84 ---- * Atomically swap in the new signal mask, and wait for a signal. */ save_static_function(sys_sigsuspend); ! __attribute_used__ static int ! _sys_sigsuspend(struct pt_regs regs) { sigset_t *uset, saveset, newset; *************** static_unused int _sys_sigsuspend(struct *** 102,108 **** } save_static_function(sys_rt_sigsuspend); ! static_unused int _sys_rt_sigsuspend(struct pt_regs regs) { sigset_t *unewset, saveset, newset; size_t sigsetsize; --- 104,111 ---- } save_static_function(sys_rt_sigsuspend); ! __attribute_used__ static int ! _sys_rt_sigsuspend(struct pt_regs regs) { sigset_t *unewset, saveset, newset; size_t sigsetsize; Index: kernel/syscall.c =================================================================== RCS file: /linux/linux/arch/mips/kernel/syscall.c,v retrieving revision 1.1.1.2 diff -c -p -r1.1.1.2 syscall.c *** kernel/syscall.c 1 Dec 2004 21:50:39 -0000 1.1.1.2 --- kernel/syscall.c 3 Dec 2004 03:00:44 -0000 *************** *** 25,30 **** --- 25,31 ---- #include #include #include + #include #include #include #include *************** sys_mmap2(unsigned long addr, unsigned l *** 158,164 **** } save_static_function(sys_fork); ! static_unused int _sys_fork(struct pt_regs regs) { int res; --- 159,166 ---- } save_static_function(sys_fork); ! __attribute_used__ static int ! _sys_fork(struct pt_regs regs) { int res; *************** static_unused int _sys_fork(struct pt_re *** 168,174 **** save_static_function(sys_clone); ! static_unused int _sys_clone(struct pt_regs regs) { unsigned long clone_flags; unsigned long newsp; --- 170,177 ---- save_static_function(sys_clone); ! __attribute_used__ static int ! _sys_clone(struct pt_regs regs) { unsigned long clone_flags; unsigned long newsp;