From 751709fec943a853c2543eb6f7995cae723f7b78 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 22 Oct 2015 14:38:52 +0200 Subject: [PATCH] Always use INTERNAL_SYSCALL_ERRNO with INTERNAL_SYSCALL --- ChangeLog | 11 +++++++++++ sysdeps/unix/sysv/linux/i386/fxstat.c | 3 ++- sysdeps/unix/sysv/linux/i386/fxstatat.c | 3 ++- sysdeps/unix/sysv/linux/i386/lockf64.c | 3 ++- sysdeps/unix/sysv/linux/i386/lxstat.c | 3 ++- sysdeps/unix/sysv/linux/i386/sigaction.c | 3 ++- sysdeps/unix/sysv/linux/i386/xstat.c | 3 ++- 7 files changed, 23 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 015f564ae2..6160f177a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2015-10-22 Andreas Schwab + + * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Use + INTERNAL_SYSCALL_ERRNO. + * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Likewise. + * sysdeps/unix/sysv/linux/i386/lockf64.c (lockf64): Likewise. + * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): + Likewise. + * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. + 2015-10-21 Joseph Myers * io/tst-fcntl.c (fd): New static variable. diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c index 646d616c60..d2a2b8d486 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstat.c @@ -45,7 +45,8 @@ __fxstat (int vers, int fd, struct stat *buf) INTERNAL_SYSCALL_DECL (err); result = INTERNAL_SYSCALL (fstat64, err, 2, fd, &buf64); if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (-result); + return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, + err)); else return __xstat32_conv (vers, &buf64, buf); } diff --git a/sysdeps/unix/sysv/linux/i386/fxstatat.c b/sysdeps/unix/sysv/linux/i386/fxstatat.c index 4b11000989..40a0b11fff 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstatat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstatat.c @@ -43,7 +43,8 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) result = INTERNAL_SYSCALL (fstatat64, err, 4, fd, file, &st64, flag); if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (-result); + return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, + err)); else return __xstat32_conv (vers, &st64, st); } diff --git a/sysdeps/unix/sysv/linux/i386/lockf64.c b/sysdeps/unix/sysv/linux/i386/lockf64.c index 601af783d6..6f9ce0d5d6 100644 --- a/sysdeps/unix/sysv/linux/i386/lockf64.c +++ b/sysdeps/unix/sysv/linux/i386/lockf64.c @@ -45,7 +45,8 @@ lockf64 (int fd, int cmd, off64_t len64) INTERNAL_SYSCALL_DECL (err); result = INTERNAL_SYSCALL (fcntl64, err, 3, fd, F_GETLK64, &fl64); if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (-result); + return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, + err)); if (fl64.l_type == F_UNLCK || fl64.l_pid == __getpid ()) return 0; return INLINE_SYSCALL_ERROR_RETURN_VALUE (EACCES); diff --git a/sysdeps/unix/sysv/linux/i386/lxstat.c b/sysdeps/unix/sysv/linux/i386/lxstat.c index bd627749b3..4898af76b3 100644 --- a/sysdeps/unix/sysv/linux/i386/lxstat.c +++ b/sysdeps/unix/sysv/linux/i386/lxstat.c @@ -46,7 +46,8 @@ __lxstat (int vers, const char *name, struct stat *buf) INTERNAL_SYSCALL_DECL (err); result = INTERNAL_SYSCALL (lstat64, err, 2, name, &buf64); if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (-result); + return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, + err)); else return __xstat32_conv (vers, &buf64, buf); } diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c index 6cada8292f..e2c6f56d7a 100644 --- a/sysdeps/unix/sysv/linux/i386/sigaction.c +++ b/sysdeps/unix/sysv/linux/i386/sigaction.c @@ -74,7 +74,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) sig, act ? &kact : NULL, oact ? &koact : NULL, _NSIG / 8); if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (-result); + return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, + err)); else if (oact && result >= 0) { oact->sa_handler = koact.k_sa_handler; diff --git a/sysdeps/unix/sysv/linux/i386/xstat.c b/sysdeps/unix/sysv/linux/i386/xstat.c index c588f4a8f2..f179898751 100644 --- a/sysdeps/unix/sysv/linux/i386/xstat.c +++ b/sysdeps/unix/sysv/linux/i386/xstat.c @@ -46,7 +46,8 @@ __xstat (int vers, const char *name, struct stat *buf) INTERNAL_SYSCALL_DECL (err); result = INTERNAL_SYSCALL (stat64, err, 2, name, &buf64); if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (-result); + return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, + err)); else return __xstat32_conv (vers, &buf64, buf); }