linux-mips
[Top] [All Lists]

Re: [PATCH] Fix some system calls with long long arguments

To: linux-mips@linux-mips.org
Subject: Re: [PATCH] Fix some system calls with long long arguments
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Fri, 16 Mar 2007 01:53:25 +0900 (JST)
Cc: ralf@linux-mips.org, kraj@mvista.com, libc-ports@sourceware.org
In-reply-to: <20070315.103511.89758184.nemoto@toshiba-tops.co.jp>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20070307.231410.15268922.anemo@mba.ocn.ne.jp> <20070309.003749.39154822.anemo@mba.ocn.ne.jp> <20070315.103511.89758184.nemoto@toshiba-tops.co.jp>
Sender: linux-mips-bounce@linux-mips.org
On Thu, 15 Mar 2007 10:35:11 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> 
wrote:
> I think this patch has less maintainance cost but a little bit slow.
> 
> These syscalls can be a little bit faster, but needs more works on
> glibc (and uClibc, etc.) side.
> 
> Anyway we should take some action while current implementation is
> broken (except N64).
> 
> Which is a way to go?

Here is a sample fix for N32 readahead and sync_file_range.

For kernel:
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -299,7 +299,7 @@ EXPORT(sysn32_call_table)
        PTR     sys_ni_syscall                  /* res. for afs_syscall */
        PTR     sys_ni_syscall                  /* res. for security */
        PTR     sys_gettid
-       PTR     sys32_readahead
+       PTR     sys_readahead
        PTR     sys_setxattr                    /* 6180 */
        PTR     sys_lsetxattr
        PTR     sys_fsetxattr

For glibc:
--- glibc-ports-2.5.org/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list   
1970-01-01 09:00:00.000000000 +0900
+++ glibc-ports-2.5/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list       
2007-03-16 00:24:21.000000000 +0900
@@ -0,0 +1,4 @@
+# File name    Caller  Syscall name    # args  Strong name     Weak names
+
+readahead      -       readahead       i:iii   __readahead     readahead
+sync_file_range        -       sync_file_range i:iiii  sync_file_range


Is this approach preferred?

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