diff options
author | Richard Henderson <rth@twiddle.net> | 2012-08-07 09:11:31 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2012-08-08 07:43:27 -0700 |
commit | 6360984bc3ee9534437f5f62d65ad31b47c33b35 (patch) | |
tree | 81ed7e41a10d5f8b186d89ea962555ac7b3f02bf /ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c | |
parent | 3381e4ff2d6903b5e995d1b9c6210ebb6f52630b (diff) | |
download | glibc-6360984bc3ee9534437f5f62d65ad31b47c33b35.tar.gz glibc-6360984bc3ee9534437f5f62d65ad31b47c33b35.tar.xz glibc-6360984bc3ee9534437f5f62d65ad31b47c33b35.zip |
alpha: Purge __ASSUME_STAT64_SYSCALL
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c')
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c b/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c index 417f9d3eab..bd20f86f2c 100644 --- a/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c +++ b/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. +/* Copyright (C) 2005-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,9 +32,6 @@ #ifdef __ASSUME_ATFCTS # define __have_atfcts 1 #endif -#ifdef __ASSUME_STAT64_SYSCALL -# define __libc_missing_axp_stat64 0 -#endif /* Get information about the file NAME in BUF. */ int @@ -99,38 +96,14 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) file = buf; } -#ifdef __NR_stat64 - if (!__libc_missing_axp_stat64) - { - if (flag & AT_SYMLINK_NOFOLLOW) - result = INTERNAL_SYSCALL (lstat64, err, 2, file, st); - else - result = INTERNAL_SYSCALL (stat64, err, 2, file, st); - - if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return result; - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); -# if __ASSUME_STAT64_SYSCALL == 0 - if (errno_out == ENOSYS) - __libc_missing_axp_stat64 = 1; - else -# endif - goto fail; - } -#endif /* __NR_stat64 */ - - struct kernel_stat kst; - if (flag & AT_SYMLINK_NOFOLLOW) - result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst); + result = INTERNAL_SYSCALL (lstat64, err, 2, file, st); else - result = INTERNAL_SYSCALL (stat, err, 2, file, &kst); - + result = INTERNAL_SYSCALL (stat64, err, 2, file, st); if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) - return __xstat_conv (vers, &kst, st); - errno_out = INTERNAL_SYSCALL_ERRNO (result, err); + return result; - fail: + errno_out = INTERNAL_SYSCALL_ERRNO (result, err); __atfct_seterrno (errno_out, fd, buf); return -1; |