about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstat.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstatat.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/lockf64.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/lxstat.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigaction.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/xstat.c3
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  <schwab@suse.de>
+
+	* 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  <joseph@codesourcery.com>
 
 	* 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);
   }