Consolidate Linux access implementation
This patch consolidates the Linux access implementation on sysdeps/unix/sysv/linux/access.c. Similar to auto-generation through syscalls.list, __NR_access is check and __NR_faccessat is used only for newer architectures (where __NR_access is not defined). Checked on x86_64. * sysdeps/unix/sysv/linux/access.c: New file. * sysdeps/unix/sysv/linux/generic/access.c: Remove file.
This commit is contained in:
parent
4589d0715c
commit
3e06601fed
|
@ -1,3 +1,8 @@
|
|||
2016-11-10 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/access.c: New file.
|
||||
* sysdeps/unix/sysv/linux/generic/access.c: Remove file.
|
||||
|
||||
2016-11-10 Steve Ellcey <sellcey@caviumnetworks.com>
|
||||
|
||||
* sysdeps/tile/tilepro/bits/wordsize.h: Define __WORDSIZE32_SIZE_ULONG
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
||||
/* Linux implementation for access function.
|
||||
Copyright (C) 2016 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -16,16 +16,17 @@
|
|||
License along with the GNU C Library. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <stddef.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sysdep-cancel.h>
|
||||
|
||||
/* Test for access to FILE. */
|
||||
int
|
||||
__access (const char *file, int type)
|
||||
{
|
||||
return INLINE_SYSCALL (faccessat, 3, AT_FDCWD, file, type);
|
||||
#ifdef __NR_access
|
||||
return INLINE_SYSCALL_CALL (access, file, type);
|
||||
#else
|
||||
return INLINE_SYSCALL_CALL (faccessat, AT_FDCWD, file, type);
|
||||
#endif
|
||||
}
|
||||
weak_alias (__access, access)
|
Loading…
Reference in New Issue