Add INTERNAL_SYSCALL_DECL, add err argument to INTERNAL_SYSCALL* macros.
authordrepper <drepper>
Thu, 9 Jan 2003 04:06:04 +0000 (04:06 +0000)
committerdrepper <drepper>
Thu, 9 Jan 2003 04:06:04 +0000 (04:06 +0000)
sysdeps/unix/sysv/linux/i386/brk.c
sysdeps/unix/sysv/linux/i386/sigaction.c
sysdeps/unix/sysv/linux/i386/system.c
sysdeps/unix/sysv/linux/m68k/brk.c
sysdeps/unix/sysv/linux/m68k/getpagesize.c
sysdeps/unix/sysv/linux/sigwait.c

index c71a1fb..1d26439 100644 (file)
@@ -1,5 +1,5 @@
 /* brk system call for Linux/i386.
 /* brk system call for Linux/i386.
-   Copyright (C) 1995, 1996, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 2000, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -36,7 +36,9 @@ __brk (void *addr)
 {
   void *__unbounded newbrk;
 
 {
   void *__unbounded newbrk;
 
-  newbrk = (void *__unbounded) INTERNAL_SYSCALL (brk, 1, __ptrvalue (addr));
+  INTERNAL_SYSCALL_DECL (err);
+  newbrk = (void *__unbounded) INTERNAL_SYSCALL (brk, err, 1,
+                                                __ptrvalue (addr));
 
   __curbrk = newbrk;
 
 
   __curbrk = newbrk;
 
index 18a5f1e..c2f0a0f 100644 (file)
@@ -131,15 +131,12 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
       k_newact.sa_restorer = &restore;
     }
 
       k_newact.sa_restorer = &restore;
     }
 
-  result = INTERNAL_SYSCALL (sigaction, 3, sig,
-                            act ? __ptrvalue (&k_newact) : 0,
-                            oact ? __ptrvalue (&k_oldact) : 0);
+  result = INLINE_SYSCALL (sigaction, 3, sig,
+                          act ? __ptrvalue (&k_newact) : 0,
+                          oact ? __ptrvalue (&k_oldact) : 0);
 
   if (result < 0)
 
   if (result < 0)
-    {
-      __set_errno (-result);
-      return -1;
-    }
+    return -1;
 
   if (oact)
     {
 
   if (oact)
     {
index 69eb2cd..a171541 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -56,7 +56,8 @@ cancel_handler (void *arg)
 {
   pid_t child = *(pid_t *) arg;
 
 {
   pid_t child = *(pid_t *) arg;
 
-  INTERNAL_SYSCALL (kill, 2, child, SIGKILL);
+  INTERNAL_SYSCALL_DECL (err);
+  INTERNAL_SYSCALL (kill, err, 2, child, SIGKILL);
 
   TEMP_FAILURE_RETRY (__waitpid (child, NULL, 0));
 
 
   TEMP_FAILURE_RETRY (__waitpid (child, NULL, 0));
 
index 396b97d..6b2c928 100644 (file)
@@ -1,5 +1,5 @@
 /* brk system call for Linux/m68k.
 /* brk system call for Linux/m68k.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -33,7 +33,8 @@ __brk (void *addr)
 {
   void *newbrk;
 
 {
   void *newbrk;
 
-  newbrk = (void *) INTERNAL_SYSCALL (brk, 1, addr);
+  INTERNAL_SYSCALL_DECL (err);
+  newbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr);
   __curbrk = newbrk;
 
   if (newbrk < addr)
   __curbrk = newbrk;
 
   if (newbrk < addr)
index 266d81d..10a437b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@suse.de>.
 
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@suse.de>.
 
@@ -37,9 +37,10 @@ __getpagesize ()
     return GL(dl_pagesize);
 
 #ifdef __NR_getpagesize
     return GL(dl_pagesize);
 
 #ifdef __NR_getpagesize
-  result = INTERNAL_SYSCALL (getpagesize, 0);
+  INTERNAL_SYSCALL_DECL (err);
+  result = INTERNAL_SYSCALL (getpagesize, err, 0);
   /* The only possible error is ENOSYS.  */
   /* The only possible error is ENOSYS.  */
-  if (!INTERNAL_SYSCALL_ERROR_P (result))
+  if (!INTERNAL_SYSCALL_ERROR_P (result, err))
     return result;
 #endif
 
     return result;
 #endif
 
index f99c640..097d62f 100644 (file)
@@ -39,15 +39,16 @@ do_sigwait (const sigset_t *set, int *sig)
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
 #ifdef INTERNAL_SYSCALL
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
 #ifdef INTERNAL_SYSCALL
-  ret = INTERNAL_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
+  INTERNAL_SYSCALL_DECL (err);
+  ret = INTERNAL_SYSCALL (rt_sigtimedwait, err, 4, CHECK_SIGSET (set),
                          NULL, NULL, _NSIG / 8);
                          NULL, NULL, _NSIG / 8);
-  if (! INTERNAL_SYSCALL_ERROR_P (ret))
+  if (! INTERNAL_SYSCALL_ERROR_P (ret, err))
     {
       *sig = ret;
       ret = 0;
     }
   else
     {
       *sig = ret;
       ret = 0;
     }
   else
-    ret = INTERNAL_SYSCALL_ERRNO (ret);
+    ret = INTERNAL_SYSCALL_ERRNO (ret, err);
 #else
   ret = INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
                        NULL, NULL, _NSIG / 8);
 #else
   ret = INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
                        NULL, NULL, _NSIG / 8);