From: Adhemerval Zanella Date: Thu, 10 Nov 2016 11:24:34 +0000 (-0200) Subject: Consolidate Linux access implementation X-Git-Tag: glibc-2.25~319 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=3e06601fedba07d837089daa5c71fe397d6c8389;p=glibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index 484fff83c5..4b93266e88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-11-10 Adhemerval Zanella + + * sysdeps/unix/sysv/linux/access.c: New file. + * sysdeps/unix/sysv/linux/generic/access.c: Remove file. + 2016-11-10 Steve Ellcey * sysdeps/tile/tilepro/bits/wordsize.h: Define __WORDSIZE32_SIZE_ULONG diff --git a/sysdeps/unix/sysv/linux/generic/access.c b/sysdeps/unix/sysv/linux/access.c similarity index 77% rename from sysdeps/unix/sysv/linux/generic/access.c rename to sysdeps/unix/sysv/linux/access.c index 586aa93757..8f003df27c 100644 --- a/sysdeps/unix/sysv/linux/generic/access.c +++ b/sysdeps/unix/sysv/linux/access.c @@ -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 , 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 . */ -#include -#include -#include #include +#include #include -/* 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)