glibc/sysdeps/unix/sysv/linux/sparc
Adhemerval Zanella cb49c65bb5 linux: Use INTERNAL_SYSCALL on fstatat{64}
Although not required by the standards, some code expects that a
successful stat call should not set errno.  However since aa03f722f3
'linux: Add {f}stat{at} y2038 support', on 32-bit systems with 32-bit
time_t supporrt, stat implementation will first issues __NR_statx and
if it fails with ENOSYS issue the system stat syscall.

On architecture running on kernel without __NR_statx support the
first call will set the errno to ENOSYS, even when the following stat
syscall might not fail.

This patch fixes by using INTERNAL_SYSCALL and only setting the errno
value when function returns.

Checked on i686-linux-gnu, x86_64-linux-gnu, sparc64-linux-gnu,
sparcv9-linux-gnu, powerpc64-linux-gnu, powerpc64le-linux-gnu,
arm-linux-gnueabihf, and aarch64-linux-gnu.
2020-10-16 14:17:44 -03:00
..
bits linux: Move the struct stat{64} to struct_stat.h 2020-10-09 17:02:06 -03:00
sparc32 Remove mknod wrapper functions, move them to symbols 2020-10-09 17:02:06 -03:00
sparc64 linux: Use INTERNAL_SYSCALL on fstatat{64} 2020-10-16 14:17:44 -03:00
sys
Implies
Makefile
Versions signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
a.out.h
aio_cancel.c
configure
configure.ac
dl-cache.h
errlist-compat.c signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
getrlimit64.c
getshmlba.c
getsysstats.c
kernel-features.h
kernel_sigaction.h
kernel_termios.h
ldd-rewrite.sed
profil-counter.h
readelflib.c
rt-sysdep.c
struct_kernel_shmid64_ds.h sysv: linux: Add 64-bit time_t variant for shmctl 2020-07-09 12:05:47 -03:00
sysdep.c
sysdep.h
xstatver.h Remove mknod wrapper functions, move them to symbols 2020-10-09 17:02:06 -03:00