diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-02-11 20:55:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-12 00:41:10 -0500 |
commit | cff2b760096d1e6feaa31948e7af4abbefe47822 (patch) | |
tree | 9bd6d2796ffb8c6611ca06b74c6349f8f1289ce2 /include/asm-i386 | |
parent | 25bf368b3d98668c5d5f38e2201d8bca16e52680 (diff) |
[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 'include/asm-i386')
-rw-r--r-- | include/asm-i386/unistd.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-i386/unistd.h b/include/asm-i386/unistd.h index cf6f2cd9c514..dc81a55dd94d 100644 --- a/include/asm-i386/unistd.h +++ b/include/asm-i386/unistd.h | |||
@@ -305,7 +305,7 @@ | |||
305 | #define __NR_mknodat 297 | 305 | #define __NR_mknodat 297 |
306 | #define __NR_fchownat 298 | 306 | #define __NR_fchownat 298 |
307 | #define __NR_futimesat 299 | 307 | #define __NR_futimesat 299 |
308 | #define __NR_newfstatat 300 | 308 | #define __NR_fstatat64 300 |
309 | #define __NR_unlinkat 301 | 309 | #define __NR_unlinkat 301 |
310 | #define __NR_renameat 302 | 310 | #define __NR_renameat 302 |
311 | #define __NR_linkat 303 | 311 | #define __NR_linkat 303 |