glibc/sysdeps/unix/sysv/linux/mips
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
mips32 Add missing stat/mknod symbol on libc.abilist some ABIs 2020-10-13 10:54:35 -03:00
mips64 linux: Use INTERNAL_SYSCALL on fstatat{64} 2020-10-16 14:17:44 -03:00
sys
Implies
Makefile
Versions
____longjmp_chk.c
_test_and_set.c
brk.c
clone.S
configure Replace Minumum/minumum with Minimum/minimum 2020-10-06 05:15:11 -07:00
configure.ac Replace Minumum/minumum with Minimum/minimum 2020-10-06 05:15:11 -07:00
dl-cache.h
dl-static.c
errlist-compat.c
fxstat.c linux: Move {f}xstat{at} to compat symbols 2020-10-09 17:02:07 -03:00
getcontext.S
getrlimit64.c
getsysstats.c
kernel-features.h
kernel_rt_sigframe.h
kernel_sigaction.h
kernel_stat.h linux: Define STAT64_IS_KERNEL_STAT64 2020-09-11 14:35:11 -03:00
kernel_termios.h
ldsodefs.h
libc-abis
lxstat.c linux: Move {f}xstat{at} to compat symbols 2020-10-09 17:02:07 -03:00
makecontext.S
mmap_info.h
pipe.S
readelflib.c
register-dump.h
setcontext.S
setrlimit64.c
shlib-versions Remove --enable-obsolete-nsl configure flag 2020-07-08 17:25:57 +02:00
sigcontextinfo.h
struct_kernel_msqid64_ds.h sysv: linux: Add 64-bit time_t variant for msgctl 2020-07-09 12:05:40 -03:00
struct_kernel_semid64_ds.h sysv: linux: Add 64-bit time_t variant for semctl 2020-07-09 12:05:35 -03:00
struct_kernel_shmid64_ds.h sysv: linux: Add 64-bit time_t variant for shmctl 2020-07-09 12:05:47 -03:00
swapcontext.S
syscalls.list
sysdep.h
ucontext_i.sym
unwind-arch.h
ustat.c
vfork.S
xstat.c linux: Move {f}xstat{at} to compat symbols 2020-10-09 17:02:07 -03:00
xstatconv.c
xstatver.h Remove mknod wrapper functions, move them to symbols 2020-10-09 17:02:06 -03:00