Use INLINE_SYSCALL instead of calling __syscall_* function.
authordrepper <drepper>
Wed, 21 Oct 1998 15:10:58 +0000 (15:10 +0000)
committerdrepper <drepper>
Wed, 21 Oct 1998 15:10:58 +0000 (15:10 +0000)
25 files changed:
sysdeps/unix/sysv/linux/lxstat.c
sysdeps/unix/sysv/linux/lxstat64.c
sysdeps/unix/sysv/linux/poll.c
sysdeps/unix/sysv/linux/pread.c
sysdeps/unix/sysv/linux/pread64.c
sysdeps/unix/sysv/linux/ptrace.c
sysdeps/unix/sysv/linux/pwrite.c
sysdeps/unix/sysv/linux/pwrite64.c
sysdeps/unix/sysv/linux/readv.c
sysdeps/unix/sysv/linux/reboot.c
sysdeps/unix/sysv/linux/sigaction.c
sysdeps/unix/sysv/linux/siglist.h
sysdeps/unix/sysv/linux/sigpending.c
sysdeps/unix/sysv/linux/sigprocmask.c
sysdeps/unix/sysv/linux/sigqueue.c
sysdeps/unix/sysv/linux/sigsuspend.c
sysdeps/unix/sysv/linux/sigtimedwait.c
sysdeps/unix/sysv/linux/sigwaitinfo.c
sysdeps/unix/sysv/linux/syscalls.list
sysdeps/unix/sysv/linux/sysctl.c
sysdeps/unix/sysv/linux/ustat.c
sysdeps/unix/sysv/linux/writev.c
sysdeps/unix/sysv/linux/xmknod.c
sysdeps/unix/sysv/linux/xstat.c
sysdeps/unix/sysv/linux/xstat64.c

index 7fbe14e..50aa4f9 100644 (file)
@@ -1,5 +1,5 @@
 /* lxstat using old-style Unix lstat system call.
-   Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998 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
@@ -26,6 +26,9 @@
 #include <sys/stat.h>
 #include <kernel_stat.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 #include <xstatconv.c>
 
 extern int __syscall_lstat (const char *, struct kernel_stat *);
@@ -38,9 +41,11 @@ __lxstat (int vers, const char *name, struct stat *buf)
   int result;
 
   if (vers == _STAT_VER_KERNEL)
-    return __syscall_lstat (name, (struct kernel_stat *) buf);
+    {
+      return INLINE_SYSCALL (lstat, 2, name, (struct kernel_stat *) buf);
+    }
 
-  result =  __syscall_lstat (name, &kbuf);
+  result = INLINE_SYSCALL (lstat, 2, name, &kbuf);
   if (result == 0)
     result = xstat_conv (vers, &kbuf, buf);
 
index 8813fad..6028080 100644 (file)
@@ -1,5 +1,5 @@
 /* lxstat64 using old-style Unix lstat system call.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998 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
@@ -22,6 +22,9 @@
 #include <sys/stat.h>
 #include <kernel_stat.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 #include <xstatconv.c>
 
 extern int __syscall_lstat (const char *, struct kernel_stat *);
@@ -33,7 +36,7 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf)
   struct kernel_stat kbuf;
   int result;
 
-  result =  __syscall_lstat (name, &kbuf);
+  result = INLINE_SYSCALL (lstat, 2, name, &kbuf);
   if (result == 0)
     result = xstat64_conv (vers, &kbuf, buf);
 
index 8119a97..880eeb9 100644 (file)
 #include <errno.h>
 #include <sys/poll.h>
 
+#include <sysdep.h>
 #include <sys/syscall.h>
 #ifdef __NR_poll
 
 extern int __syscall_poll __P ((struct pollfd *fds, unsigned int nfds,
                                int timeout));
-weak_extern (__syscall_poll)
 
 static int __emulate_poll __P ((struct pollfd *fds, unsigned long int nfds,
                                int timeout)) internal_function;
@@ -38,21 +38,16 @@ __poll (fds, nfds, timeout)
      int timeout;
 {
   static int must_emulate = 0;
-  int (*syscall) __P ((struct pollfd *, unsigned int, int)) = __syscall_poll;
 
   if (!must_emulate)
     {
-      if (syscall)
-       {
-         int errno_saved = errno;
-         int retval = __syscall_poll (fds, nfds, timeout);
+      int errno_saved = errno;
+      int retval = INLINE_SYSCALL (poll, 3, fds, nfds, timeout);
 
-         if (retval >= 0 || errno != ENOSYS)
-           return retval;
-
-         __set_errno (errno_saved);
-       }
+      if (retval >= 0 || errno != ENOSYS)
+       return retval;
 
+      __set_errno (errno_saved);
       must_emulate = 1;
     }
 
index 4d7a7c5..9554fb3 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <errno.h>
 #include <unistd.h>
+
+#include <sysdep.h>
 #include <sys/syscall.h>
 
 #ifdef __NR_pread
@@ -40,7 +42,7 @@ __pread (fd, buf, count, offset)
   ssize_t result;
 
   /* First try the syscall.  */
-  result = __syscall_pread64 (fd, buf, count, 0, offset);
+  result = INLINE_SYSCALL (pread, 5, fd, buf, count, 0, offset);
   if (result == -1 && errno == ENOSYS)
     /* No system call available.  Use the emulation.  */
     result = __emulate_pread (fd, buf, count, offset);
index bd600f1..a5b7d97 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <errno.h>
 #include <unistd.h>
+
+#include <sysdep.h>
 #include <sys/syscall.h>
 
 #ifdef __NR_pread
@@ -40,8 +42,8 @@ __pread64 (fd, buf, count, offset)
   ssize_t result;
 
   /* First try the syscall.  */
-  result = __syscall_pread64 (fd, buf, count, (off_t) (offset >> 32),
-                             (off_t) (offset & 0xffffffff));
+  result = INLINE_SYSCALL (pread, 5, fd, buf, count, (off_t) (offset >> 32),
+                          (off_t) (offset & 0xffffffff));
   if (result == -1 && errno == ENOSYS)
     /* No system call available.  Use the emulation.  */
     result = __emulate_pread64 (fd, buf, count, offset);
index 1c60931..109191e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998 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
@@ -21,6 +21,9 @@
 #include <sys/ptrace.h>
 #include <stdarg.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern long int __syscall_ptrace (int, pid_t, void *, void *);
 
 long int
@@ -40,17 +43,12 @@ ptrace (enum __ptrace_request request, ...)
   if (request > 0 && request < 4)
     data = &ret;
 
-  res = __syscall_ptrace (request, pid, addr, data);
-
-  if (res >= 0)
+  res = INLINE_SYSCALL (ptrace, 4, request, pid, addr, data);
+  if (res >= 0 && request > 0 && request < 4)
     {
-      if (request > 0 && request < 4)
-       {
-         __set_errno (0);
-         return ret;
-       }
-      return res;
+      __set_errno (0);
+      return ret;
     }
 
-  return -1;
+  return res;
 }
index 72b3cfb..74be599 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <errno.h>
 #include <unistd.h>
+
+#include <sysdep.h>
 #include <sys/syscall.h>
 
 #ifdef __NR_pwrite
@@ -40,7 +42,7 @@ __pwrite (fd, buf, count, offset)
   ssize_t result;
 
   /* First try the syscall.  */
-  result = __syscall_pwrite64 (fd, buf, count, 0, offset);
+  result = INLINE_SYSCALL (pwrite, 5, fd, buf, count, 0, offset);
   if (result == -1 && errno == ENOSYS)
     /* No system call available.  Use the emulation.  */
     result = __emulate_pwrite (fd, buf, count, offset);
index 70902b2..b6ebba1 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <errno.h>
 #include <unistd.h>
+
+#include <sysdep.h>
 #include <sys/syscall.h>
 
 #ifdef __NR_pwrite
@@ -40,8 +42,8 @@ __pwrite64 (fd, buf, count, offset)
   ssize_t result;
 
   /* First try the syscall.  */
-  result = __syscall_pwrite64 (fd, buf, count, (off_t) (offset >> 32),
-                              (off_t) (offset & 0xffffffff));
+  result = INLINE_SYSCALL (pwrite, 5, fd, buf, count, (off_t) (offset >> 32),
+                          (off_t) (offset & 0xffffffff));
   if (result == -1 && errno == ENOSYS)
     /* No system call available.  Use the emulation.  */
     result = __emulate_pwrite64 (fd, buf, count, offset);
index 10cd519..9f2b437 100644 (file)
@@ -1,5 +1,5 @@
 /* readv supports all Linux kernels >= 2.0.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998 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
@@ -22,6 +22,9 @@
 #include <sys/param.h>
 #include <sys/uio.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern ssize_t __syscall_readv __P ((int, __const struct iovec *, int));
 static ssize_t __atomic_readv_replacement __P ((int, __const struct iovec *,
                                                int)) internal_function;
@@ -44,7 +47,7 @@ __readv (fd, vector, count)
   int errno_saved = errno;
   ssize_t bytes_read;
 
-  bytes_read = __syscall_readv (fd, vector, count);
+  bytes_read = INLINE_SYSCALL (readv, 3, fd, vector, count);
 
   if (bytes_read >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
     return bytes_read;
index 4b64d9d..1a01ec2 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998 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
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <sys/reboot.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_reboot (int magic, int magic_too, int flag);
 
 /* Call kernel with additional two arguments the syscall requires.  */
 int
 reboot (int howto)
 {
-  return __syscall_reboot (0xfee1dead, 672274793, howto);
+  return INLINE_SYSCALL (reboot, 3, 0xfee1dead, 672274793, howto);
 }
index 773bfa0..72cead8 100644 (file)
@@ -20,6 +20,9 @@
 #include <signal.h>
 #include <string.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 /* The difference here is that the sigaction structure used in the
    kernel is not the same as we use in the libc.  Therefore we must
    translate it here.  */
@@ -64,8 +67,8 @@ __sigaction (sig, act, oact)
 
       /* XXX The size argument hopefully will have to be changed to the
         real size of the user-level sigset_t.  */
-      result = __syscall_rt_sigaction (sig, act ? &kact : 0,
-                                      oact ? &koact : 0, _NSIG / 8);
+      result = INLINE_SYSCALL (rt_sigaction, 4, sig, act ? &kact : 0,
+                              oact ? &koact : 0, _NSIG / 8);
 
       if (result >= 0 || errno != ENOSYS)
        {
@@ -94,8 +97,8 @@ __sigaction (sig, act, oact)
       k_sigact.sa_restorer = act->sa_restorer;
 #endif
     }
-  result = __syscall_sigaction (sig, act ? &k_sigact : 0,
-                              oact ? &k_osigact : 0);
+  result = INLINE_SYSCALL (sigaction, 3, sig, act ? &k_sigact : 0,
+                          oact ? &k_osigact : 0);
   if (oact && result >= 0)
     {
       oact->sa_handler = k_osigact.k_sa_handler;
index 63c716c..4c47e8a 100644 (file)
@@ -22,7 +22,7 @@
   init_sig (SIGHUP, "HUP", N_("Hangup"))
   init_sig (SIGINT, "INT", N_("Interrupt"))
   init_sig (SIGQUIT, "QUIT", N_("Quit"))
-  init_sig (SIGILL, "ILL", N_("Illegal Instruction"))
+  init_sig (SIGILL, "ILL", N_("Illegal instruction"))
   init_sig (SIGTRAP, "TRAP", N_("Trace/breakpoint trap"))
   init_sig (SIGABRT, "ABRT", N_("Aborted"))
   init_sig (SIGFPE, "FPE", N_("Floating point exception"))
index 1776fdd..b370626 100644 (file)
@@ -20,6 +20,9 @@
 #include <signal.h>
 #include <unistd.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_sigpending (sigset_t *);
 extern int __syscall_rt_sigpending (sigset_t *, size_t);
 
@@ -41,7 +44,7 @@ sigpending (set)
       /* XXX The size argument hopefully will have to be changed to the
         real size of the user-level sigset_t.  */
       int saved_errno = errno;
-      int result = __syscall_rt_sigpending (set, _NSIG / 8);
+      int result = INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
 
       if (result >= 0 || errno != ENOSYS)
        return result;
@@ -50,5 +53,5 @@ sigpending (set)
       __libc_missing_rt_sigs = 1;
     }
 
-  return __syscall_sigpending (set);
+  return INLINE_SYSCALL (sigpending, 1, set);
 }
index 064179e..62c5f77 100644 (file)
@@ -20,6 +20,9 @@
 #include <signal.h>
 #include <unistd.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_sigprocmask (int, const sigset_t *, sigset_t *);
 extern int __syscall_rt_sigprocmask (int, const sigset_t *, sigset_t *,
                                     size_t);
@@ -42,7 +45,8 @@ __sigprocmask (how, set, oset)
       /* XXX The size argument hopefully will have to be changed to the
         real size of the user-level sigset_t.  */
       int saved_errno = errno;
-      int result = __syscall_rt_sigprocmask (how, set, oset, _NSIG / 8);
+      int result = INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset,
+                                  _NSIG / 8);
 
       if (result >= 0 || errno != ENOSYS)
        return result;
@@ -51,6 +55,6 @@ __sigprocmask (how, set, oset)
       __libc_missing_rt_sigs = 1;
     }
 
-  return __syscall_sigprocmask (how, set, oset);
+  return INLINE_SYSCALL (sigprocmask, 3, how, set, oset);
 }
 weak_alias (__sigprocmask, sigprocmask)
index 5719e24..fa31119 100644 (file)
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <signal.h>
 #include <unistd.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *);
 
 
@@ -39,6 +43,6 @@ __sigqueue (pid, sig, val)
   info.si_uid = __getuid ();
   info.si_value = val;
 
-  return __syscall_rt_sigqueueinfo (pid, sig, &info);
+  return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info);
 }
 weak_alias (__sigqueue, sigqueue)
index a5d2eb0..b9aeffe 100644 (file)
@@ -20,6 +20,9 @@
 #include <signal.h>
 #include <unistd.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_sigsuspend (int, unsigned long int, unsigned long int);
 extern int __syscall_rt_sigsuspend (const sigset_t *, size_t);
 
@@ -41,7 +44,7 @@ __sigsuspend (set)
       /* XXX The size argument hopefully will have to be changed to the
         real size of the user-level sigset_t.  */
       int saved_errno = errno;
-      int result = __syscall_rt_sigsuspend (set, _NSIG / 8);
+      int result = INLINE_SYSCALL (rt_sigsuspend, 2, set, _NSIG / 8);
 
       if (result >= 0 || errno != ENOSYS)
        return result;
@@ -50,6 +53,6 @@ __sigsuspend (set)
       __libc_missing_rt_sigs = 1;
     }
 
-  return __syscall_sigsuspend (0, 0, set->__val[0]);
+  return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]);
 }
 weak_alias (__sigsuspend, sigsuspend)
index 90854c6..09c04cf 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 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
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <signal.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *,
                                      const struct timespec *, size_t);
 
@@ -31,6 +35,6 @@ __sigtimedwait (set, info, timeout)
 {
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return __syscall_rt_sigtimedwait (set, info, timeout, _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, timeout, _NSIG / 8);
 }
 weak_alias (__sigtimedwait, sigtimedwait)
index da4624e..718d179 100644 (file)
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <signal.h>
 #define __need_NULL
 #include <stddef.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *,
                                      const struct timespec *, size_t);
 
@@ -32,6 +36,6 @@ __sigwaitinfo (set, info)
 {
   /* XXX The size argument hopefully will have to be changed to the
      real size of the user-level sigset_t.  */
-  return __syscall_rt_sigtimedwait (set, info, NULL, _NSIG / 8);
+  return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, NULL, _NSIG / 8);
 }
 weak_alias (__sigwaitinfo, sigwaitinfo)
index 8880035..a2ea5b8 100644 (file)
@@ -36,28 +36,6 @@ pipe         -       pipe            1       __pipe          pipe
 prctl          EXTRA   prctl           5       prctl
 query_module   EXTRA   query_module    5       query_module
 quotactl       EXTRA   quotactl        4       quotactl
-rt_sigaction   -       rt_sigaction    4       __syscall_rt_sigaction
-rt_sigpending  -       rt_sigpending   2       __syscall_rt_sigpending
-rt_sigprocmask -       rt_sigprocmask  4       __syscall_rt_sigprocmask
-rt_sigqueueinfo        -       rt_sigqueueinfo 3       __syscall_rt_sigqueueinfo
-rt_sigsuspend  -       rt_sigsuspend   2       __syscall_rt_sigsuspend
-rt_sigtimedwait        -       rt_sigtimedwait 4       __syscall_rt_sigtimedwait
-s_getcwd       getcwd  getcwd          2       __syscall_getcwd
-s_getdents     getdents getdents       3       __getdents
-s_getpriority  getpriority getpriority 2       __syscall_getpriority
-s_getresgid    getresgid getresgid     3       __syscall_getresgid
-s_getresuid    getresuid getresuid     3       __syscall_getresuid
-s_poll         poll    poll            3       __syscall_poll
-s_pread64      pread64 pread           5       __syscall_pread64
-s_ptrace       ptrace  ptrace          4       __syscall_ptrace
-s_pwrite64     pwrite64 pwrite         5       __syscall_pwrite64
-s_reboot       reboot  reboot          3       __syscall_reboot
-s_sigaction    sigaction sigaction     3       __syscall_sigaction
-s_sigpending   sigpending sigpending   1       __syscall_sigpending
-s_sigprocmask  sigprocmask sigprocmask 3       __syscall_sigprocmask
-s_sigsuspend   sigsuspend sigsuspend   3       __syscall_sigsuspend
-s_sysctl       sysctl  _sysctl         1       __syscall__sysctl
-s_ustat                ustat   ustat           2       __syscall_ustat
 sched_getp     -       sched_getparam  2       __sched_getparam        sched_getparam
 sched_gets     -       sched_getscheduler      1       __sched_getscheduler    sched_getscheduler
 sched_primax   -       sched_get_priority_max  1       __sched_get_priority_max        sched_get_priority_max
@@ -74,12 +52,6 @@ setpgid              -       setpgid         2       __setpgid       setpgid
 setresuid      EXTRA   setresuid       3       __setresuid     setresuid
 setresgid      EXTRA   setresgid       3       setresgid
 sigaltstack    -       sigaltstack     2       __sigaltstack   sigaltstack
-sys_fstat      fxstat  fstat           2       __syscall_fstat
-sys_lstat      lxstat  lstat           2       __syscall_lstat
-sys_mknod      xmknod  mknod           3       __syscall_mknod
-sys_readv      readv   readv           3       __syscall_readv
-sys_stat       xstat   stat            2       __syscall_stat
-sys_writev     writev  writev          3       __syscall_writev
 sysinfo                EXTRA   sysinfo         1       sysinfo
 swapon         -       swapon          2       __swapon        swapon
 swapoff                -       swapoff         1       __swapoff       swapoff
index 9c136a5..1ab3c79 100644 (file)
@@ -1,5 +1,5 @@
-/* sysctl - Read or write system information.  Linux version.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Read or write system information.  Linux version.
+   Copyright (C) 1996, 1997, 1998 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
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <sys/sysctl.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
 
 extern int __syscall__sysctl (struct __sysctl_args *args);
 
@@ -36,5 +39,5 @@ sysctl (int *name, int nlen, void *oldval, size_t *oldlenp,
     newlen: newlen
   };
 
-  return __syscall__sysctl (&args);
+  return INLINE_SYSCALL (_sysctl, 1, &args);
 }
index a8dfbb4..fdf2032 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <sys/ustat.h>
 #include <sys/sysmacros.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
 
 extern int __syscall_ustat (unsigned short int dev, struct ustat *ubuf);
 
@@ -31,5 +34,5 @@ ustat (dev_t dev, struct ustat *ubuf)
   /* We must convert the value to dev_t type used by the kernel.  */
   k_dev = ((major (dev) & 0xff) << 8) | (minor (dev) & 0xff);
 
-  return __syscall_ustat (k_dev, ubuf);
+  return INLINE_SYSCALL (ustat, 2, k_dev, ubuf);
 }
index 3b3c5b6..77ad9f5 100644 (file)
@@ -1,5 +1,5 @@
 /* writev supports all Linux kernels >= 2.0.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998 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
@@ -22,6 +22,9 @@
 #include <sys/param.h>
 #include <sys/uio.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern ssize_t __syscall_writev __P ((int, const struct iovec *, int));
 static ssize_t __atomic_writev_replacement __P ((int, const struct iovec *,
                                                 int)) internal_function;
@@ -44,7 +47,7 @@ __writev (fd, vector, count)
   int errno_saved = errno;
   ssize_t bytes_written;
 
-  bytes_written = __syscall_writev (fd, vector, count);
+  bytes_written = INLINE_SYSCALL (writev, 3, fd, vector, count);
 
   if (bytes_written >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
     return bytes_written;
index cd73849..d58da28 100644 (file)
@@ -1,5 +1,5 @@
 /* xmknod call using old-style Unix mknod system call.
-   Copyright (C) 1991, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991, 93, 95, 96, 97, 98 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
@@ -22,6 +22,9 @@
 #include <sys/stat.h>
 #include <sys/sysmacros.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_mknod (const char *, unsigned short int,
                            unsigned short int);
 
@@ -42,7 +45,7 @@ __xmknod (int vers, const char *path, mode_t mode, dev_t *dev)
   /* We must convert the value to dev_t type used by the kernel.  */
   k_dev = ((major (*dev) & 0xff) << 8) | (minor (*dev) & 0xff);
 
-  return __syscall_mknod (path, mode, k_dev);
+  return INLINE_SYSCALL (mknod, 3, path, mode, k_dev);
 }
 
 weak_alias (__xmknod, _xmknod)
index 8532857..79759fe 100644 (file)
@@ -1,5 +1,5 @@
 /* xstat using old-style Unix stat system call.
-   Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998 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
@@ -26,6 +26,9 @@
 #include <sys/stat.h>
 #include <kernel_stat.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 #include <xstatconv.c>
 
 extern int __syscall_stat (const char *, struct kernel_stat *);
@@ -38,9 +41,11 @@ __xstat (int vers, const char *name, struct stat *buf)
   int result;
 
   if (vers == _STAT_VER_KERNEL)
-    return __syscall_stat (name, (struct kernel_stat *) buf);
+    {
+      return INLINE_SYSCALL (stat, 2, name, (struct kernel_stat *) buf);
+    }
 
-  result =  __syscall_stat (name, &kbuf);
+  result = INLINE_SYSCALL (stat, 2, name, &kbuf);
   if (result == 0)
     result = xstat_conv (vers, &kbuf, buf);
 
index 02f70c5..33f130b 100644 (file)
@@ -1,5 +1,5 @@
 /* xstat64 using old-style Unix stat system call.
-   Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998 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
@@ -22,6 +22,9 @@
 #include <sys/stat.h>
 #include <kernel_stat.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 #include <xstatconv.c>
 
 extern int __syscall_stat (const char *, struct kernel_stat *);
@@ -33,7 +36,7 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
   struct kernel_stat kbuf;
   int result;
 
-  result =  __syscall_stat (name, &kbuf);
+  result = INLINE_SYSCALL (stat, 2, name, &kbuf);
   if (result == 0)
     result = xstat64_conv (vers, &kbuf, buf);