about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/s390/s390-64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-09 04:19:03 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-09 04:19:03 +0000
commit6aca81bb9ddd83458ef9358bc24a31f29a7b374f (patch)
tree8a1f25f2451f89a9bfc8872c0b197d06225756e6 /sysdeps/unix/sysv/linux/s390/s390-64
parentf5bf21a78027b62197ee88a4813b32b12452316a (diff)
downloadglibc-6aca81bb9ddd83458ef9358bc24a31f29a7b374f.tar.gz
glibc-6aca81bb9ddd83458ef9358bc24a31f29a7b374f.tar.xz
glibc-6aca81bb9ddd83458ef9358bc24a31f29a7b374f.zip
Update.
2003-01-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL,
	INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err
	argument.
	(INTERNAL_SYSCALL_DECL): Define.

2003-01-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL,
	INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err
	argument.
	(INTERNAL_SYSCALL_DECL): Define.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
	(INLINE_SYSCALL): Adjust.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Add INTERNAL_SYSCALL_DECL,
	add err argument to INTERNAL_SYSCALL* macros.
	* sysdeps/unix/sysv/linux/i386/brk.c (__brk): Likewise.
	* sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Likewise.
	* sysdeps/unix/sysv/linux/m68k/brk.c (__brk): Likewise.
	* sysdeps/unix/sysv/linux/m68k/getpagesize.c  (__getpagesize):
	Likewise.
	* sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Use
	INLINE_SYSCALL instead of INTERNAL_SYSCALL and setting errno.
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-64')
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
index 07285377b0..cea75d004a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
@@ -115,33 +115,37 @@
 #undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...)				      \
   ({									      \
-    unsigned int err = INTERNAL_SYSCALL (name, nr, args);		      \
-    if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (err), 0))		      \
+    unsigned int _ret = INTERNAL_SYSCALL (name, , nr, args);		      \
+    if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_ret, ), 0))	      \
      {									      \
-       __set_errno (INTERNAL_SYSCALL_ERRNO (err));			      \
-       err = -1;							      \
+       __set_errno (INTERNAL_SYSCALL_ERRNO (_ret, ));			      \
+       _ret = -1;							      \
      }									      \
-    (int) err; })
+    (int) _ret; })
+
+#undef INTERNAL_SYSCALL_DECL
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
 
 #undef INTERNAL_SYSCALL
-#define INTERNAL_SYSCALL(name, nr, args...)				      \
+#define INTERNAL_SYSCALL(name, err, nr, args...)			      \
   ({									      \
     DECLARGS_##nr(args)							      \
-    int err;								      \
+    int _ret;								      \
     asm volatile (							      \
     LOADARGS_##nr							      \
     "svc    %b1\n\t"							      \
     "lgr    %0,%%r2\n\t"						      \
-    : "=d" (err)							      \
+    : "=d" (_ret)							      \
     : "I" (__NR_##name) ASMFMT_##nr					      \
     : "memory", "cc", "2", "3", "4", "5", "6");				      \
-    (int) err; })
+    (int) _ret; })
 
 #undef INTERNAL_SYSCALL_ERROR_P
-#define INTERNAL_SYSCALL_ERROR_P(val)	((unsigned int) (val) >= 0xfffff001u)
+#define INTERNAL_SYSCALL_ERROR_P(val, err)				      \
+  ((unsigned int) (val) >= 0xfffff001u)
 
 #undef INTERNAL_SYSCALL_ERRNO
-#define INTERNAL_SYSCALL_ERRNO(val)	(-(val))
+#define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
 
 #define DECLARGS_0()
 #define DECLARGS_1(arg1) \