about summary refs log tree commit diff
path: root/sysdeps/unix/bsd
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/bsd')
-rw-r--r--sysdeps/unix/bsd/bsd4.4/errnos.h2
-rw-r--r--sysdeps/unix/bsd/bsd4.4/tcdrain.c6
-rw-r--r--sysdeps/unix/bsd/bsd4.4/wait.c8
-rw-r--r--sysdeps/unix/bsd/bsd4.4/waitpid.c9
-rw-r--r--sysdeps/unix/bsd/isatty.c8
-rw-r--r--sysdeps/unix/bsd/setegid.c2
-rw-r--r--sysdeps/unix/bsd/seteuid.c2
-rw-r--r--sysdeps/unix/bsd/setsid.c11
-rw-r--r--sysdeps/unix/bsd/sigaction.c13
-rw-r--r--sysdeps/unix/bsd/sigprocmask.c17
-rw-r--r--sysdeps/unix/bsd/sigsuspend.c14
-rw-r--r--sysdeps/unix/bsd/sun/m68k/sigtramp.c25
-rw-r--r--sysdeps/unix/bsd/sun/sparc/sigtramp.c29
-rw-r--r--sysdeps/unix/bsd/sun/sunos4/speed.c29
-rw-r--r--sysdeps/unix/bsd/sun/sunos4/tcsetattr.c11
-rw-r--r--sysdeps/unix/bsd/tcdrain.c10
-rw-r--r--sysdeps/unix/bsd/tcflow.c15
-rw-r--r--sysdeps/unix/bsd/tcflush.c9
-rw-r--r--sysdeps/unix/bsd/tcgetattr.c12
-rw-r--r--sysdeps/unix/bsd/tcsetattr.c41
-rw-r--r--sysdeps/unix/bsd/times.c25
-rw-r--r--sysdeps/unix/bsd/ulimit.c20
-rw-r--r--sysdeps/unix/bsd/ultrix4/mips/start.S3
-rw-r--r--sysdeps/unix/bsd/ultrix4/sysconf.c17
24 files changed, 176 insertions, 162 deletions
diff --git a/sysdeps/unix/bsd/bsd4.4/errnos.h b/sysdeps/unix/bsd/bsd4.4/errnos.h
index dcfdd9c47f..c2a9c08413 100644
--- a/sysdeps/unix/bsd/bsd4.4/errnos.h
+++ b/sysdeps/unix/bsd/bsd4.4/errnos.h
@@ -165,4 +165,6 @@
 #endif /* __USE_BSD */
 
 
+#define __set_errno(val) errno = (val)
+
 #endif /* <errno.h> included.  */
diff --git a/sysdeps/unix/bsd/bsd4.4/tcdrain.c b/sysdeps/unix/bsd/bsd4.4/tcdrain.c
index ac7c9cd2a1..feaa652aa7 100644
--- a/sysdeps/unix/bsd/bsd4.4/tcdrain.c
+++ b/sysdeps/unix/bsd/bsd4.4/tcdrain.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1994, 1996 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
@@ -16,13 +16,13 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <stddef.h>
 #include <sys/ioctl.h>
 
 /* Wait for pending output to be written on FD.  */
 int
-DEFUN(tcdrain, (fd), int fd)
+__libc_tcdrain (int fd)
 {
   return __ioctl (fd, TIOCDRAIN);
 }
+weak_alias (__libc_tcdrain, tcdrain)
diff --git a/sysdeps/unix/bsd/bsd4.4/wait.c b/sysdeps/unix/bsd/bsd4.4/wait.c
index a29a99f9b9..29225f8638 100644
--- a/sysdeps/unix/bsd/bsd4.4/wait.c
+++ b/sysdeps/unix/bsd/bsd4.4/wait.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <sys/wait.h>
 #include <errno.h>
 #include <sys/resource.h>
@@ -25,9 +24,10 @@ Cambridge, MA 02139, USA.  */
 /* Wait for a child to die.  When one does, put its status in *STAT_LOC
    and return its process ID.  For errors, return (pid_t) -1.  */
 __pid_t
-DEFUN(__wait, (stat_loc), __WAIT_STATUS_DEFN stat_loc)
+__libc_wait (__WAIT_STATUS_DEFN stat_loc)
 {
   return __wait4 (WAIT_ANY, stat_loc, 0, (struct rusage *) NULL);
 }
 
-weak_alias (__wait, wait)
+weak_alias (__libc_wait, __wait)
+weak_alias (__libc_wait, wait)
diff --git a/sysdeps/unix/bsd/bsd4.4/waitpid.c b/sysdeps/unix/bsd/bsd4.4/waitpid.c
index b5a34c32d0..2a21e3cef8 100644
--- a/sysdeps/unix/bsd/bsd4.4/waitpid.c
+++ b/sysdeps/unix/bsd/bsd4.4/waitpid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <sys/wait.h>
 #include <sys/types.h>
@@ -35,10 +34,10 @@ Cambridge, MA 02139, USA.  */
    Return (pid_t) -1 for errors.  If the WUNTRACED bit is set in OPTIONS,
    return status for stopped children; otherwise don't.  */
 pid_t
-DEFUN(__waitpid, (pid, stat_loc, options),
-      pid_t pid AND int *stat_loc AND int options)
+__libc_waitpid (pid_t pid, int *stat_loc, int options)
 {
   return __wait4 (pid, (union wait *) stat_loc, options, NULL);
 }
 
-weak_alias (__waitpid, waitpid)
+weak_alias (__libc_waitpid, __waitpid)
+weak_alias (__libc_waitpid, waitpid)
diff --git a/sysdeps/unix/bsd/isatty.c b/sysdeps/unix/bsd/isatty.c
index c3e80eb1c3..f6e34e865b 100644
--- a/sysdeps/unix/bsd/isatty.c
+++ b/sysdeps/unix/bsd/isatty.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 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
@@ -16,14 +16,14 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <unistd.h>
 #include <sys/ioctl.h>
 
 /* Return 1 if FD is a terminal, 0 if not.  */
 int
-DEFUN(__isatty, (fd), int fd)
+__isatty (fd)
+     int fd;
 {
   int save;
   int is_tty;
@@ -31,7 +31,7 @@ DEFUN(__isatty, (fd), int fd)
 
   save = errno;
   is_tty = __ioctl (fd, TIOCGETP, &term) == 0;
-  errno = save;
+  __set_errno (save);
 
   return is_tty;
 }
diff --git a/sysdeps/unix/bsd/setegid.c b/sysdeps/unix/bsd/setegid.c
index c4a3780f6d..420751bfc1 100644
--- a/sysdeps/unix/bsd/setegid.c
+++ b/sysdeps/unix/bsd/setegid.c
@@ -26,7 +26,7 @@ setegid (gid)
 {
   if (gid == (gid_t) ~0)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/unix/bsd/seteuid.c b/sysdeps/unix/bsd/seteuid.c
index f6aa37f153..06fd1a3f29 100644
--- a/sysdeps/unix/bsd/seteuid.c
+++ b/sysdeps/unix/bsd/seteuid.c
@@ -26,7 +26,7 @@ seteuid (uid)
 {
   if (uid == (uid_t) ~0)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/unix/bsd/setsid.c b/sysdeps/unix/bsd/setsid.c
index e057694589..1da7865ac6 100644
--- a/sysdeps/unix/bsd/setsid.c
+++ b/sysdeps/unix/bsd/setsid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <unistd.h>
 #include <sys/ioctl.h>
@@ -27,7 +26,7 @@ Cambridge, MA 02139, USA.  */
    The process group IDs of the session and the calling process
    are set to the process ID of the calling process, which is returned.  */
 int
-DEFUN_VOID(__setsid)
+__setsid ()
 {
   pid_t pid = getpid ();
   int tty;
@@ -36,7 +35,7 @@ DEFUN_VOID(__setsid)
   if (__getpgid (pid) == pid)
     {
       /* Already the leader.  */
-      errno = EPERM;
+      __set_errno (EPERM);
       return -1;
     }
 
@@ -46,13 +45,13 @@ DEFUN_VOID(__setsid)
   tty = open ("/dev/tty", 0);
   if (tty < 0)
     {
-      errno = save;
+      __set_errno (save);
       return 0;
     }
   (void) __ioctl (tty, TIOCNOTTY, 0);
   (void) __close (tty);
 
-  errno = save;
+  __set_errno (save);
   return 0;
 }
 
diff --git a/sysdeps/unix/bsd/sigaction.c b/sysdeps/unix/bsd/sigaction.c
index aa1c53f6cd..f20968d68e 100644
--- a/sysdeps/unix/bsd/sigaction.c
+++ b/sysdeps/unix/bsd/sigaction.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <sysdep.h>
 #include <errno.h>
 #include <stddef.h>
@@ -26,14 +25,16 @@ Cambridge, MA 02139, USA.  */
 /* If ACT is not NULL, change the action for SIG to *ACT.
    If OACT is not NULL, put the old action for SIG in *OACT.  */
 int
-DEFUN(__sigaction, (sig, act, oact),
-      int sig AND CONST struct sigaction *act AND struct sigaction *oact)
+__sigaction (sig, act, oact)
+     int sig;
+     const struct sigaction *act;
+     struct sigaction *oact;
 {
   struct sigvec vec, ovec;
 
   if (sig <= 0 || sig >= NSIG)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
@@ -50,7 +51,7 @@ DEFUN(__sigaction, (sig, act, oact),
 
   if (oact != NULL)
     {
-      oact->sa_handler = (void EXFUN((*), (int))) ovec.sv_handler;
+      oact->sa_handler = (void (*) __P ((int))) ovec.sv_handler;
       oact->sa_mask = ovec.sv_mask;
       oact->sa_flags = (((ovec.sv_flags & SV_ONSTACK) ? SA_ONSTACK : 0) |
 			(!(ovec.sv_flags & SV_INTERRUPT) ? SA_RESTART : 0));
diff --git a/sysdeps/unix/bsd/sigprocmask.c b/sysdeps/unix/bsd/sigprocmask.c
index 31ebb743a8..3421eb4f31 100644
--- a/sysdeps/unix/bsd/sigprocmask.c
+++ b/sysdeps/unix/bsd/sigprocmask.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <signal.h>
@@ -26,8 +25,10 @@ Cambridge, MA 02139, USA.  */
    according to HOW, which may be SIG_BLOCK, SIG_UNBLOCK or SIG_SETMASK.
    If OSET is not NULL, store the old set of blocked signals in *OSET.  */
 int
-DEFUN(__sigprocmask, (how, set, oset),
-      int how AND CONST sigset_t *set AND sigset_t *oset)
+__sigprocmask (how, set, oset)
+     int how;
+     const sigset_t *set;
+     sigset_t *oset;
 {
   int mask;
 
@@ -37,7 +38,7 @@ DEFUN(__sigprocmask, (how, set, oset),
       switch (how)
 	{
 	case SIG_BLOCK:
-	  mask = __sigblock(mask);
+	  mask = __sigblock (mask);
 	  break;
 
 	case SIG_UNBLOCK:
@@ -45,16 +46,16 @@ DEFUN(__sigprocmask, (how, set, oset),
 	  /* Fall through.  */
 
 	case SIG_SETMASK:
-	  mask = __sigsetmask(mask);
+	  mask = __sigsetmask (mask);
 	  break;
 
 	default:
-	  errno = EINVAL;
+	  __set_errno (EINVAL);
 	  return -1;
 	}
     }
   else
-    mask = __sigblock(0);
+    mask = __sigblock (0);
 
   if (oset != NULL)
     *oset = mask;
diff --git a/sysdeps/unix/bsd/sigsuspend.c b/sysdeps/unix/bsd/sigsuspend.c
index fff56a950f..4c045aa663 100644
--- a/sysdeps/unix/bsd/sigsuspend.c
+++ b/sysdeps/unix/bsd/sigsuspend.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <signal.h>
 #include <stddef.h>
@@ -26,21 +25,22 @@ Cambridge, MA 02139, USA.  */
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 int
-DEFUN(sigsuspend, (set), CONST sigset_t *set)
+sigsuspend (set)
+     const sigset_t *set;
 {
   int mask;
   int sig;
 
   if (set == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
   mask = 0;
   for (sig = 1; sig <= NSIG; ++sig)
-    if (__sigismember(set, sig))
-      mask |= sigmask(sig);
+    if (__sigismember (set, sig))
+      mask |= sigmask (sig);
 
-  return __sigpause(mask);
+  return __sigpause (mask);
 }
diff --git a/sysdeps/unix/bsd/sun/m68k/sigtramp.c b/sysdeps/unix/bsd/sun/m68k/sigtramp.c
index 32a2c2047e..db9ffb5135 100644
--- a/sysdeps/unix/bsd/sun/m68k/sigtramp.c
+++ b/sysdeps/unix/bsd/sun/m68k/sigtramp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1996 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
@@ -16,8 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
-
 #ifndef	__GNUC__
   #error This file uses GNU C extensions; you must compile with GCC.
 #endif
@@ -52,8 +50,8 @@ Cambridge, MA 02139, USA.  */
 #include <errno.h>
 
 /* Defined in __sigvec.S.  */
-extern int EXFUN(__raw_sigvec, (int sig, CONST struct sigvec *vec,
-				struct sigvec *ovec));
+extern int __raw_sigvec (int sig, const struct sigvec *vec,
+			 struct sigvec *ovec);
 
 /* User-specified signal handlers.  */
 #define mytramp 1
@@ -70,8 +68,11 @@ extern __sighandler_t _sigfunc[];
    Saves and restores the general regs %g2-%g7, the %y register, and
    all the FPU regs (including %fsr), around calling the user's handler.  */
 static void
-DEFUN(trampoline, (sig, code, context, addr),
-      int sig AND int code AND struct sigcontext *context AND PTR addr)
+trampoline (sig, code, context, addr)
+     int sig;
+     int code;
+     struct sigcontext *context;
+     void *addr;
 {
   int save[4];
 
@@ -81,7 +82,7 @@ DEFUN(trampoline, (sig, code, context, addr),
   /* XXX should save/restore FP regs */
 
   /* Call the user's handler.  */
-  (*((void EXFUN((*), (int sig, int code, struct sigcontext *context,
+  (*((void (*) __P ((int sig, int code, struct sigcontext *context,
 		       PTR addr))) handlers[sig]))
     (sig, code, context, addr);
 
@@ -95,8 +96,10 @@ DEFUN(trampoline, (sig, code, context, addr),
 #endif
 
 int
-DEFUN(__sigvec, (sig, vec, ovec),
-      int sig AND CONST struct sigvec *vec AND struct sigvec *ovec)
+__sigvec (sig, vec, ovec)
+     int sig;
+     const struct sigvec *vec;
+     struct sigvec *ovec;
 {
 #ifndef	mytramp
   extern void _sigtramp (int);
@@ -108,7 +111,7 @@ DEFUN(__sigvec, (sig, vec, ovec),
 
   if (sig <= 0 || sig >= NSIG)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/unix/bsd/sun/sparc/sigtramp.c b/sysdeps/unix/bsd/sun/sparc/sigtramp.c
index 54f62933a8..11ce1945ff 100644
--- a/sysdeps/unix/bsd/sun/sparc/sigtramp.c
+++ b/sysdeps/unix/bsd/sun/sparc/sigtramp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1994, 1996 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
@@ -16,8 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
-
 #ifndef	__GNUC__
   #error This file uses GNU C extensions; you must compile with GCC.
 #endif
@@ -52,8 +50,8 @@ Cambridge, MA 02139, USA.  */
 #include <errno.h>
 
 /* Defined in __sigvec.S.  */
-extern int EXFUN(__raw_sigvec, (int sig, CONST struct sigvec *vec,
-				struct sigvec *ovec));
+extern int __raw_sigvec __P ((int sig, CONST struct sigvec *vec,
+			      struct sigvec *ovec));
 
 /* User-specified signal handlers.  */
 #define mytramp 1
@@ -70,7 +68,8 @@ extern __sighandler_t _sigfunc[];
    Saves and restores the general regs %g2-%g7, the %y register, and
    all the FPU regs (including %fsr), around calling the user's handler.  */
 static void
-DEFUN(trampoline, (sig), int sig)
+trampoline (sig)
+     int sig;
 {
   /* We use `double' and `long long int' so `std' (store doubleword) insns,
      which might be faster than single-word stores, will be generated.  */
@@ -97,7 +96,7 @@ DEFUN(trampoline, (sig), int sig)
 
   int code;
   register struct sigcontext *context asm("%i0"); /* See end of fn.  */
-  PTR addr;
+  void *addr;
   int y;
   double fpsave[16];
   int fsr;
@@ -147,8 +146,8 @@ DEFUN(trampoline, (sig), int sig)
   glsave[2] = g6;
 
   /* Call the user's handler.  */
-  (*((void EXFUN((*), (int sig, int code, struct sigcontext *context,
-		       PTR addr))) handlers[sig]))
+  (*((void (*) __P ((int sig, int code, struct sigcontext *context,
+		     void *addr))) handlers[sig]))
     (sig, code, context, addr);
 
   /* Restore the Y register.  */
@@ -199,8 +198,10 @@ DEFUN(trampoline, (sig), int sig)
 #endif
 
 int
-DEFUN(__sigvec, (sig, vec, ovec),
-      int sig AND CONST struct sigvec *vec AND struct sigvec *ovec)
+__sigvec (sig, vec, ovec)
+     int sig;
+     const struct sigvec *vec;
+     struct sigvec *ovec;
 {
 #ifndef	mytramp
   extern void _sigtramp (int);
@@ -212,11 +213,11 @@ DEFUN(__sigvec, (sig, vec, ovec),
 
   if (sig <= 0 || sig >= NSIG)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
-  mask = __sigblock(sigmask(sig));
+  mask = __sigblock (sigmask(sig));
 
   ohandler = handlers[sig];
 
@@ -240,7 +241,7 @@ DEFUN(__sigvec, (sig, vec, ovec),
   if (ovec != NULL && ovec->sv_handler == trampoline)
     ovec->sv_handler = ohandler;
 
-  (void) __sigsetmask(mask);
+  (void) __sigsetmask (mask);
 
   return 0;
 }
diff --git a/sysdeps/unix/bsd/sun/sunos4/speed.c b/sysdeps/unix/bsd/sun/sunos4/speed.c
index 1c09d55dab..de6870a51d 100644
--- a/sysdeps/unix/bsd/sun/sunos4/speed.c
+++ b/sysdeps/unix/bsd/sun/sunos4/speed.c
@@ -1,5 +1,5 @@
 /* `struct termios' speed frobnication functions.  SunOS 4 version.
-Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+Copyright (C) 1991, 1992, 1993, 1996 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
@@ -17,12 +17,11 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <stddef.h>
 #include <errno.h>
 #include <termios.h>
 
-static CONST speed_t speeds[] =
+static const speed_t speeds[] =
   {
     0,
     50,
@@ -45,28 +44,31 @@ static CONST speed_t speeds[] =
 
 /* Return the output baud rate stored in *TERMIOS_P.  */
 speed_t
-DEFUN(cfgetospeed, (termios_p), CONST struct termios *termios_p)
+cfgetospeed (termios_p)
+     const struct termios *termios_p;
 {
   return termios_p->c_cflag & CBAUD;
 }
 
 /* Return the input baud rate stored in *TERMIOS_P.  */
 speed_t
-DEFUN(cfgetispeed, (termios_p), CONST struct termios *termios_p)
+cfgetispeed (termios_p)
+     const struct termios *termios_p;
 {
   return (termios_p->c_cflag & CIBAUD) >> IBSHIFT;
 }
 
 /* Set the output baud rate stored in *TERMIOS_P to SPEED.  */
 int
-DEFUN(cfsetospeed, (termios_p, speed),
-      struct termios *termios_p AND speed_t speed)
+cfsetospeed (termios_p, speed)
+     struct termios *termios_p;
+     speed_t speed;
 {
   register unsigned int i;
 
   if (termios_p == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
@@ -82,20 +84,21 @@ DEFUN(cfsetospeed, (termios_p, speed),
 	return 0;
       }
 
-  errno = EINVAL;
+  __set_errno (EINVAL);
   return -1;
 }
 
 /* Set the input baud rate stored in *TERMIOS_P to SPEED.  */
 int
-DEFUN(cfsetispeed, (termios_p, speed),
-      struct termios *termios_p AND speed_t speed)
+cfsetispeed (termios_p, speed)
+     struct termios *termios_p;
+     speed_t speed;
 {
   register unsigned int i;
 
   if (termios_p == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
@@ -108,6 +111,6 @@ DEFUN(cfsetispeed, (termios_p, speed),
 	return 0;
       }
 
-  errno = EINVAL;
+  __set_errno (EINVAL);
   return -1;
 }
diff --git a/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c b/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c
index f88951ff9d..f825d41ab8 100644
--- a/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c
+++ b/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <termios.h>
@@ -24,8 +23,10 @@ Cambridge, MA 02139, USA.  */
 
 /* Set the state of FD to *TERMIOS_P.  */
 int
-DEFUN(tcsetattr, (fd, optional_actions, termios_p),
-      int fd AND int optional_actions AND CONST struct termios *termios_p)
+tcsetattr (fd, optional_actions, termios_p)
+     int fd;
+     int optional_actions;
+     const struct termios *termios_p;
 {
   unsigned long cmd;
 
@@ -41,7 +42,7 @@ DEFUN(tcsetattr, (fd, optional_actions, termios_p),
       cmd = TCSETSF;
       break;
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/unix/bsd/tcdrain.c b/sysdeps/unix/bsd/tcdrain.c
index c9ed18d4f8..84bc06813d 100644
--- a/sysdeps/unix/bsd/tcdrain.c
+++ b/sysdeps/unix/bsd/tcdrain.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <termios.h>
@@ -26,13 +25,14 @@ Cambridge, MA 02139, USA.  */
 
 /* Wait for pending output to be written on FD.  */
 int
-DEFUN(tcdrain, (fd), int fd)
+__libc_tcdrain (int fd)
 {
   /* The TIOCSETP control waits for pending output to be written before
      affecting its changes, so we use that without changing anything.  */
   struct sgttyb b;
-  if (__ioctl(fd, TIOCGETP, (PTR) &b) < 0 ||
-      __ioctl(fd, TIOCSETP, (PTR) &b) < 0)
+  if (__ioctl (fd, TIOCGETP, (void *) &b) < 0 ||
+      __ioctl (fd, TIOCSETP, (void *) &b) < 0)
     return -1;
   return 0;
 }
+weak_alias (__libc_tcdrain, tcdrain)
diff --git a/sysdeps/unix/bsd/tcflow.c b/sysdeps/unix/bsd/tcflow.c
index 06de144a45..1919d6d9ea 100644
--- a/sysdeps/unix/bsd/tcflow.c
+++ b/sysdeps/unix/bsd/tcflow.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <termios.h>
@@ -26,14 +25,16 @@ Cambridge, MA 02139, USA.  */
 
 /* Suspend or restart transmission on FD.  */
 int
-DEFUN(tcflow, (fd, action), int fd AND int action)
+tcflow (fd, action)
+     int fd;
+     int action;
 {
   switch (action)
     {
     case TCOOFF:
-      return __ioctl(fd, TIOCSTOP, (PTR) NULL);
+      return __ioctl (fd, TIOCSTOP, (PTR) NULL);
     case TCOON:
-      return __ioctl(fd, TIOCSTART, (PTR) NULL);
+      return __ioctl (fd, TIOCSTART, (PTR) NULL);
 
     case TCIOFF:
     case TCION:
@@ -42,7 +43,7 @@ DEFUN(tcflow, (fd, action), int fd AND int action)
 	   `write'.  Is there another way to do this?  */
 	struct termios attr;
 	unsigned char c;
-	if (tcgetattr(fd, &attr) < 0)
+	if (tcgetattr (fd, &attr) < 0)
 	  return -1;
 	c = attr.c_cc[action == TCIOFF ? VSTOP : VSTART];
 	if (c != _POSIX_VDISABLE && write (fd, &c, 1) < 1)
@@ -51,7 +52,7 @@ DEFUN(tcflow, (fd, action), int fd AND int action)
       }
 
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 }
diff --git a/sysdeps/unix/bsd/tcflush.c b/sysdeps/unix/bsd/tcflush.c
index 46454b8229..14f7db8dad 100644
--- a/sysdeps/unix/bsd/tcflush.c
+++ b/sysdeps/unix/bsd/tcflush.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <termios.h>
@@ -26,7 +25,9 @@ Cambridge, MA 02139, USA.  */
 
 /* Flush pending data on FD.  */
 int
-DEFUN(tcflush, (fd, queue_selector), int fd AND int queue_selector)
+tcflush (fd, queue_selector)
+     int fd;
+     int queue_selector;
 {
   int arg;
 
@@ -42,7 +43,7 @@ DEFUN(tcflush, (fd, queue_selector), int fd AND int queue_selector)
       arg = FREAD | FWRITE;
       break;
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/unix/bsd/tcgetattr.c b/sysdeps/unix/bsd/tcgetattr.c
index 0e6e3785dd..5d17bd5dde 100644
--- a/sysdeps/unix/bsd/tcgetattr.c
+++ b/sysdeps/unix/bsd/tcgetattr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1996 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
@@ -16,19 +16,19 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <termios.h>
 
 #include "bsdtty.h"
 
-extern CONST speed_t __bsd_speeds[]; /* Defined in tcsetattr.c.  */
+extern const speed_t __bsd_speeds[]; /* Defined in tcsetattr.c.  */
 
 /* Put the state of FD into *TERMIOS_P.  */
 int
-DEFUN(__tcgetattr, (fd, termios_p),
-      int fd AND struct termios *termios_p)
+__tcgetattr (fd, termios_p)
+     int fd;
+     struct termios *termios_p;
 {
   struct sgttyb buf;
   struct tchars tchars;
@@ -40,7 +40,7 @@ DEFUN(__tcgetattr, (fd, termios_p),
 
   if (termios_p == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/unix/bsd/tcsetattr.c b/sysdeps/unix/bsd/tcsetattr.c
index e731d830f6..770bc98b79 100644
--- a/sysdeps/unix/bsd/tcsetattr.c
+++ b/sysdeps/unix/bsd/tcsetattr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1993, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <termios.h>
@@ -24,7 +23,7 @@ Cambridge, MA 02139, USA.  */
 #include "bsdtty.h"
 
 
-CONST speed_t __bsd_speeds[] =
+const speed_t __bsd_speeds[] =
   {
     0,
     50,
@@ -47,8 +46,10 @@ CONST speed_t __bsd_speeds[] =
 
 /* Set the state of FD to *TERMIOS_P.  */
 int
-DEFUN(tcsetattr, (fd, optional_actions, termios_p),
-      int fd AND int optional_actions AND CONST struct termios *termios_p)
+tcsetattr (fd, optional_actions, termios_p)
+     int fd;
+     int optional_actions;
+     const struct termios *termios_p;
 {
   struct sgttyb buf;
   struct tchars tchars;
@@ -59,18 +60,18 @@ DEFUN(tcsetattr, (fd, optional_actions, termios_p),
 #endif
   size_t i;
 
-  if (__ioctl(fd, TIOCGETP, &buf) < 0 ||
-      __ioctl(fd, TIOCGETC, &tchars) < 0 ||
-      __ioctl(fd, TIOCGLTC, &ltchars) < 0 ||
+  if (__ioctl (fd, TIOCGETP, &buf) < 0 ||
+      __ioctl (fd, TIOCGETC, &tchars) < 0 ||
+      __ioctl (fd, TIOCGLTC, &ltchars) < 0 ||
 #ifdef	TIOCGETX
-      __ioctl(fd, TIOCGETX, &extra) < 0 ||
+      __ioctl (fd, TIOCGETX, &extra) < 0 ||
 #endif
-      __ioctl(fd, TIOCLGET, &local) < 0)
+      __ioctl (fd, TIOCLGET, &local) < 0)
     return -1;
 
   if (termios_p == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
   switch (optional_actions)
@@ -78,15 +79,15 @@ DEFUN(tcsetattr, (fd, optional_actions, termios_p),
     case TCSANOW:
       break;
     case TCSADRAIN:
-      if (tcdrain(fd) < 0)
+      if (tcdrain (fd) < 0)
 	return -1;
       break;
     case TCSAFLUSH:
-      if (tcflush(fd, TCIFLUSH) < 0)
+      if (tcflush (fd, TCIFLUSH) < 0)
 	return -1;
       break;
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
@@ -100,7 +101,7 @@ DEFUN(tcsetattr, (fd, optional_actions, termios_p),
     }
   if (buf.sg_ispeed == -1 || buf.sg_ospeed == -1)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
@@ -174,13 +175,13 @@ DEFUN(tcsetattr, (fd, optional_actions, termios_p),
   tchars.t_startc = termios_p->c_cc[VSTART];
   tchars.t_stopc = termios_p->c_cc[VSTOP];
 
-  if (__ioctl(fd, TIOCSETP, &buf) < 0 ||
-      __ioctl(fd, TIOCSETC, &tchars) < 0 ||
-      __ioctl(fd, TIOCSLTC, &ltchars) < 0 ||
+  if (__ioctl (fd, TIOCSETP, &buf) < 0 ||
+      __ioctl (fd, TIOCSETC, &tchars) < 0 ||
+      __ioctl (fd, TIOCSLTC, &ltchars) < 0 ||
 #ifdef	TIOCGETX
-      __ioctl(fd, TIOCSETX, &extra) < 0 ||
+      __ioctl (fd, TIOCSETX, &extra) < 0 ||
 #endif
-      __ioctl(fd, TIOCLSET, &local) < 0)
+      __ioctl (fd, TIOCLSET, &local) < 0)
     return -1;
   return 0;
 }
diff --git a/sysdeps/unix/bsd/times.c b/sysdeps/unix/bsd/times.c
index edf3e90972..8277ce5a76 100644
--- a/sysdeps/unix/bsd/times.c
+++ b/sysdeps/unix/bsd/times.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <sys/times.h>
@@ -31,7 +30,8 @@ extern time_t _posix_start_time;
 __inline
 #endif
 static clock_t
-DEFUN(timeval_to_clock_t, (tv), CONST struct timeval *tv)
+timeval_to_clock_t (tv)
+     const struct timeval *tv;
 {
   return (clock_t) ((tv->tv_sec * CLK_TCK) +
 		    (tv->tv_usec * CLK_TCK / 1000000L));
@@ -42,27 +42,28 @@ DEFUN(timeval_to_clock_t, (tv), CONST struct timeval *tv)
    Return the elapsed real time, or (clock_t) -1 for errors.
    All times are in CLK_TCKths of a second.  */
 clock_t
-DEFUN(__times, (buffer), struct tms *buffer)
+__times (buffer)
+     struct tms *buffer;
 {
   struct rusage usage;
 
   if (buffer == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return (clock_t) -1;
     }
 
-  if (__getrusage(RUSAGE_SELF, &usage) < 0)
+  if (__getrusage (RUSAGE_SELF, &usage) < 0)
     return (clock_t) -1;
-  buffer->tms_utime = (clock_t) timeval_to_clock_t(&usage.ru_utime);
-  buffer->tms_stime = (clock_t) timeval_to_clock_t(&usage.ru_stime);
+  buffer->tms_utime = (clock_t) timeval_to_clock_t (&usage.ru_utime);
+  buffer->tms_stime = (clock_t) timeval_to_clock_t (&usage.ru_stime);
 
-  if (__getrusage(RUSAGE_CHILDREN, &usage) < 0)
+  if (__getrusage (RUSAGE_CHILDREN, &usage) < 0)
     return (clock_t) -1;
-  buffer->tms_cutime = (clock_t) timeval_to_clock_t(&usage.ru_utime);
-  buffer->tms_cstime = (clock_t) timeval_to_clock_t(&usage.ru_stime);
+  buffer->tms_cutime = (clock_t) timeval_to_clock_t (&usage.ru_utime);
+  buffer->tms_cstime = (clock_t) timeval_to_clock_t (&usage.ru_stime);
 
-  return (time((time_t *) NULL) - _posix_start_time) * CLK_TCK;
+  return (time ((time_t *) NULL) - _posix_start_time) * CLK_TCK;
 }
 
 weak_alias (__times, times)
diff --git a/sysdeps/unix/bsd/ulimit.c b/sysdeps/unix/bsd/ulimit.c
index 912faf42e2..f90692a11c 100644
--- a/sysdeps/unix/bsd/ulimit.c
+++ b/sysdeps/unix/bsd/ulimit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1994, 1996 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
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <sysdep.h>
 #include <sys/resource.h>
 #include <unistd.h>
@@ -37,8 +36,9 @@ extern int _etext;
        can open.
    Returns -1 on errors.  */
 long int
-DEFUN(ulimit, (cmd, newlimit),
-      int cmd AND long int newlimit)
+ulimit (cmd, newlimit)
+     int cmd;
+     long int newlimit;
 {
   int status;
 
@@ -49,7 +49,7 @@ DEFUN(ulimit, (cmd, newlimit),
 	/* Get limit on file size.  */
 	struct rlimit fsize;
 
-	status = getrlimit(RLIMIT_FSIZE, &fsize);
+	status = getrlimit (RLIMIT_FSIZE, &fsize);
 	if (status < 0)
 	  return -1;
 
@@ -62,25 +62,25 @@ DEFUN(ulimit, (cmd, newlimit),
 	struct rlimit fsize;
 	fsize.rlim_cur = newlimit * 512;
 	fsize.rlim_max = newlimit * 512;
-	
-	return setrlimit(RLIMIT_FSIZE, &fsize);
+
+	return setrlimit (RLIMIT_FSIZE, &fsize);
       }
     case 3:
       /* Get maximum address for `brk'.  */
       {
 	struct rlimit dsize;
 
-	status = getrlimit(RLIMIT_DATA, &dsize);
+	status = getrlimit (RLIMIT_DATA, &dsize);
 	if (status < 0)
 	  return -1;
 
 	return ((long int) &_etext) + dsize.rlim_cur;
       }
     case 4:
-      return sysconf(_SC_OPEN_MAX);
+      return sysconf (_SC_OPEN_MAX);
 
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 }
diff --git a/sysdeps/unix/bsd/ultrix4/mips/start.S b/sysdeps/unix/bsd/ultrix4/mips/start.S
index 24bcbb4e00..aec5885252 100644
--- a/sysdeps/unix/bsd/ultrix4/mips/start.S
+++ b/sysdeps/unix/bsd/ultrix4/mips/start.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -18,6 +18,7 @@ Cambridge, MA 02139, USA.  */
 
 #include <sysdep.h>
 
+__errno:
 .comm errno,		4
 
 ENTRY(__start)
diff --git a/sysdeps/unix/bsd/ultrix4/sysconf.c b/sysdeps/unix/bsd/ultrix4/sysconf.c
index a9f3c5bbbe..a24c1c5ce8 100644
--- a/sysdeps/unix/bsd/ultrix4/sysconf.c
+++ b/sysdeps/unix/bsd/ultrix4/sysconf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor (ian@airs.com).
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -20,20 +20,19 @@ Cambridge, MA 02139, USA.  */
    value for _SC_CHILD_MAX.  Everything else is from <sys/param.h>,
    which the default sysconf already knows how to handle.  */
 
-#include <ansidecl.h>
 #include <unistd.h>
 #include <errno.h>
 
 /* This is an Ultrix header file.  */
 #include <sys/sysinfo.h>
 
-extern int EXFUN(__getsysinfo, (unsigned int op, void *buffer,
-				size_t nbytes, int *start,
-				void *arg));
-extern long int EXFUN(__default_sysconf, (int name));
+extern int __getsysinfo __P ((unsigned int op, void *buffer,
+			      size_t nbytes, int *start, void *arg));
+extern long int __default_sysconf __P ((int name));
 
 long int
-DEFUN(__sysconf, (name), int name)
+__sysconf (name)
+     int name;
 {
   if (name == _SC_CHILD_MAX)
     {
@@ -46,11 +45,11 @@ DEFUN(__sysconf, (name), int name)
       if (__getsysinfo (GSI_MAX_UPROCS, &ret, sizeof (ret), &start,
 			(void *) 0) > 0)
 	{
-	  errno = save;
+	  __set_errno (save);
 	  return ret;
 	}
 
-      errno = save;
+      __set_errno (save);
     }
 
   return __default_sysconf (name);