On Wed, 28 Mar 2007 13:01:30 +0200, "Franck Bui-Huu" <vagabon.xyz@xxxxxxxxx> wrote: > +obj-$(CONFIG_MIPS32_N32) += missing_syscalls_n32.o > +obj-$(CONFIG_MIPS32_O32) += missing_syscalls_o32.o > + > +CFLAGS_missing_syscalls_n32.o = -mabi=n32 > +CFLAGS_missing_syscalls_o32.o = -mabi=32 > + We can not link n32/o32 objects into n64 kernel. Hmm, lib- instead of obj- seems to work. At least mips64-linux-ar from binutils-2.17 does not complain. diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile index 4924626..b82324e 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile @@ -67,4 +67,10 @@ obj-$(CONFIG_I8253) += i8253.o obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o +lib-$(CONFIG_MIPS32_N32) += missing_syscalls_n32.o +lib-$(CONFIG_MIPS32_O32) += missing_syscalls_o32.o + +CFLAGS_missing_syscalls_n32.o = -mabi=n32 +CFLAGS_missing_syscalls_o32.o = -mabi=32 + CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) diff --git a/arch/mips/kernel/missing_syscalls.h b/arch/mips/kernel/missing_syscalls.h new file mode 100644 index 0000000..9c4f2e9 --- /dev/null +++ b/arch/mips/kernel/missing_syscalls.h @@ -0,0 +1 @@ +#include "../../../init/missing_syscalls.h" diff --git a/arch/mips/kernel/missing_syscalls_n32.c b/arch/mips/kernel/missing_syscalls_n32.c new file mode 100644 index 0000000..ce527c6 --- /dev/null +++ b/arch/mips/kernel/missing_syscalls_n32.c @@ -0,0 +1 @@ +#include "../../../init/missing_syscalls.c" diff --git a/arch/mips/kernel/missing_syscalls_o32.c b/arch/mips/kernel/missing_syscalls_o32.c new file mode 100644 index 0000000..ce527c6 --- /dev/null +++ b/arch/mips/kernel/missing_syscalls_o32.c @@ -0,0 +1 @@ +#include "../../../init/missing_syscalls.c"