On Wed, 28 Mar 2007 13:01:30 +0200, "Franck Bui-Huu" <vagabon.xyz@gmail.com>
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"
|