From 30f1c7439489bf756a45e349d69be1826e0c9bd8 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Fri, 17 Jul 2020 13:15:37 -0300 Subject: linux: Implement {l}fstat{at} in terms of fstatat Both fstatat and fstata64 calls the old fxstatat and fxstatat64 repectivelly with _STAT_VER, the one currently exported as default for all ABIs. Checked with a build for all affected ABIs. I also checked on x86_64, i686, powerpc, powerpc64le, sparcv9, sparc64, s390, and s390x. Reviewed-by: Lukasz Majewski <lukma@denx.de> --- sysdeps/unix/sysv/linux/fstat.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/fstat.c (limited to 'sysdeps/unix/sysv/linux/fstat.c') diff --git a/sysdeps/unix/sysv/linux/fstat.c b/sysdeps/unix/sysv/linux/fstat.c new file mode 100644 index 0000000..bdbeded --- /dev/null +++ b/sysdeps/unix/sysv/linux/fstat.c @@ -0,0 +1,31 @@ +/* Get file status. Linux version. + Copyright (C) 2020 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +#include <sys/stat.h> +#include <kernel_stat.h> +#include <fcntl.h> + +#if !XSTAT_IS_XSTAT64 +int +__fstat (int fd, struct stat *buf) +{ + return __fstatat (fd, "", buf, AT_EMPTY_PATH); +} + +weak_alias (__fstat, fstat) +#endif -- cgit v1.1