missimg system calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nice patches to check unwired system calls are available recently:

http://lkml.org/lkml/2007/3/21/358
http://lkml.org/lkml/2007/3/21/360
http://lkml.org/lkml/2007/3/21/361

These patches are already in -mm tree.

I tried it with quick and dirty hack for N32/O32 on 64-bit kernel.
Many of these warnings seem false positive but it might be worth to
look at.

On 32-bit kernel:
  CC      init/missing_syscalls.o
In file included from /work/linux-mips/init/missing_syscalls.c:97:
init/missing_syscalls.h:331:2: warning: #warning syscall select not implemented
init/missing_syscalls.h:763:2: warning: #warning syscall vfork not implemented
init/missing_syscalls.h:1083:2: warning: #warning syscall fadvise64_64 not implemented

On 64-bit kernel:
  CC      init/missing_syscalls.o
In file included from /work/linux-mips/init/missing_syscalls.c:97:
init/missing_syscalls.h:55:2: warning: #warning syscall time not implemented
init/missing_syscalls.h:279:2: warning: #warning syscall ssetmask not implemented
init/missing_syscalls.h:331:2: warning: #warning syscall select not implemented
init/missing_syscalls.h:347:2: warning: #warning syscall uselib not implemented
init/missing_syscalls.h:763:2: warning: #warning syscall vfork not implemented
init/missing_syscalls.h:887:2: warning: #warning syscall getdents64 not implemented
  CC      arch/mips/kernel/missing_syscalls_n32.o
In file included from /work/linux-mips/arch/mips/kernel/missing_syscalls.h:1,
                 from /work/linux-mips/arch/mips/kernel/../../../init/missing_syscalls.c:97,
                 from /work/linux-mips/arch/mips/kernel/missing_syscalls_n32.c:1:
arch/mips/kernel/../../../init/missing_syscalls.h:55:2: warning: #warning syscall time not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:279:2: warning: #warning syscall ssetmask not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:331:2: warning: #warning syscall select not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:347:2: warning: #warning syscall uselib not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:763:2: warning: #warning syscall vfork not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:775:2: warning: #warning syscall truncate64 not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:779:2: warning: #warning syscall ftruncate64 not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:783:2: warning: #warning syscall stat64 not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:787:2: warning: #warning syscall lstat64 not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:791:2: warning: #warning syscall fstat64 not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:887:2: warning: #warning syscall getdents64 not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:1083:2: warning: #warning syscall fadvise64_64 not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:1191:2: warning: #warning syscall fstatat64 not implemented
  CC      arch/mips/kernel/missing_syscalls_o32.o
In file included from /work/linux-mips/arch/mips/kernel/missing_syscalls.h:1,
                 from /work/linux-mips/arch/mips/kernel/../../../init/missing_syscalls.c:97,
                 from /work/linux-mips/arch/mips/kernel/missing_syscalls_o32.c:1:
arch/mips/kernel/../../../init/missing_syscalls.h:331:2: warning: #warning syscall select not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:763:2: warning: #warning syscall vfork not implemented
arch/mips/kernel/../../../init/missing_syscalls.h:1083:2: warning: #warning syscall fadvise64_64 not implemented


And here's my hack.  Advices from kbuild gurus are highly appreciated.

 arch/mips/kernel/Makefile               |   11 +++++++++++
 arch/mips/kernel/missing_syscalls.h     |    1 +
 arch/mips/kernel/missing_syscalls_n32.c |    1 +
 arch/mips/kernel/missing_syscalls_o32.c |    1 +
 4 files changed, 14 insertions(+)

diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index 4924626..d6abdc5 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -4,6 +4,17 @@
 
 extra-y		:= head.o init_task.o vmlinux.lds
 
+ifdef CONFIG_MIPS32_N32
+missing_syscalls_n32.o: missing_syscalls_n32.c
+CFLAGS_missing_syscalls_n32.o = -mabi=n32
+always += missing_syscalls_n32.o
+endif
+ifdef CONFIG_MIPS32_O32
+missing_syscalls_o32.o: missing_syscalls_o32.c
+CFLAGS_missing_syscalls_o32.o = -mabi=32
+always += missing_syscalls_o32.o
+endif
+
 obj-y		+= cpu-probe.o branch.o entry.o genex.o irq.o process.o \
 		   ptrace.o reset.o semaphore.o setup.o signal.o syscall.o \
 		   time.o topology.o traps.o unaligned.o
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"

---
Atsushi Nemoto


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux