aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/syscall_table.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-02-11 17:55:47 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-11 21:41:10 -0800
commitcff2b760096d1e6feaa31948e7af4abbefe47822 (patch)
tree9bd6d2796ffb8c6611ca06b74c6349f8f1289ce2 /arch/i386/kernel/syscall_table.S
parentMerge master.kernel.org:/home/rmk/linux-2.6-serial (diff)
downloadlinux-dev-cff2b760096d1e6feaa31948e7af4abbefe47822.tar.xz
linux-dev-cff2b760096d1e6feaa31948e7af4abbefe47822.zip
[PATCH] fstatat64 support
The *at patches introduced fstatat and, due to inusfficient research, I used the newfstat functions generally as the guideline. The result is that on 32-bit platforms we don't have all the information needed to implement fstatat64. This patch modifies the code to pass up 64-bit information if __ARCH_WANT_STAT64 is defined. I renamed the syscall entry point to make this clear. Other archs will continue to use the existing code. On x86-64 the compat code is implemented using a new sys32_ function. this is what is done for the other stat syscalls as well. This patch might break some other archs (those which define __ARCH_WANT_STAT64 and which already wired up the syscall). Yet others might need changes to accomodate the compatibility mode. I really don't want to do that work because all this stat handling is a mess (more so in glibc, but the kernel is also affected). It should be done by the arch maintainers. I'll provide some stand-alone test shortly. Those who are eager could compile glibc and run 'make check' (no installation needed). The patch below has been tested on x86 and x86-64. Signed-off-by: Ulrich Drepper <drepper@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/syscall_table.S')
-rw-r--r--arch/i386/kernel/syscall_table.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/i386/kernel/syscall_table.S b/arch/i386/kernel/syscall_table.S
index 5a8b3fb6d27b..ac687d00a1ce 100644
--- a/arch/i386/kernel/syscall_table.S
+++ b/arch/i386/kernel/syscall_table.S
@@ -299,7 +299,7 @@ ENTRY(sys_call_table)
.long sys_mknodat
.long sys_fchownat
.long sys_futimesat
- .long sys_newfstatat /* 300 */
+ .long sys_fstatat64 /* 300 */
.long sys_unlinkat
.long sys_renameat
.long sys_linkat