linux-mips
[Top] [All Lists]

Re: missimg system calls

To: vagabon.xyz@gmail.com
Subject: Re: missimg system calls
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Thu, 29 Mar 2007 00:20:48 +0900 (JST)
Cc: linux-mips@linux-mips.org
In-reply-to: <cda58cb80703280401h7ef54d23i19766f453f085c5e@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20070328.011100.07456480.anemo@mba.ocn.ne.jp> <cda58cb80703280401h7ef54d23i19766f453f085c5e@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
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"

<Prev in Thread] Current Thread [Next in Thread>