diff options
author | Roland McGrath <roland@gnu.org> | 2004-10-26 02:15:42 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2004-10-26 02:15:42 +0000 |
commit | 8f8bd267e9291c4a5a3625e81b8089fe5a6be902 (patch) | |
tree | 2983ec967c20a7072757c54cf229325ce9f9cd44 /sysdeps/unix/sysv/sysv4 | |
parent | af5b614c7e4668f1804320f18743aa1a7db78d58 (diff) | |
download | glibc-8f8bd267e9291c4a5a3625e81b8089fe5a6be902.tar.gz glibc-8f8bd267e9291c4a5a3625e81b8089fe5a6be902.tar.xz glibc-8f8bd267e9291c4a5a3625e81b8089fe5a6be902.zip |
* sysdeps/unix/bsd/hp: Directory and all files removed.
These are now in the ports repository. * sysdeps/unix/bsd/osf: Likewise. * sysdeps/unix/bsd/sequent: Likewise. * sysdeps/unix/bsd/sony: Likewise. * sysdeps/unix/bsd/ultrix4: Likewise. * sysdeps/unix/sysv/aix: Likewise. * sysdeps/unix/sysv/hpux: Likewise. * sysdeps/unix/sysv/irix4: Likewise. * sysdeps/unix/sysv/isc2.2: Likewise. * sysdeps/unix/sysv/minix: Likewise. * sysdeps/unix/sysv/sco3.2.4: Likewise. * sysdeps/unix/sysv/sco3.2: Likewise. * sysdeps/unix/sysv/sysv4: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/sysv4')
59 files changed, 0 insertions, 2970 deletions
diff --git a/sysdeps/unix/sysv/sysv4/Dist b/sysdeps/unix/sysv/sysv4/Dist deleted file mode 100644 index 6395064504..0000000000 --- a/sysdeps/unix/sysv/sysv4/Dist +++ /dev/null @@ -1,4 +0,0 @@ -__getpgid.c -__setpgid.c -sysconfig.h -siginfo.h diff --git a/sysdeps/unix/sysv/sysv4/Implies b/sysdeps/unix/sysv/sysv4/Implies deleted file mode 100644 index 953822ea48..0000000000 --- a/sysdeps/unix/sysv/sysv4/Implies +++ /dev/null @@ -1,3 +0,0 @@ -# The directory unix/common contains things which are common to both BSD -# and SVR4. -unix/common diff --git a/sysdeps/unix/sysv/sysv4/Makefile b/sysdeps/unix/sysv/sysv4/Makefile deleted file mode 100644 index 6f7155c716..0000000000 --- a/sysdeps/unix/sysv/sysv4/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (C) 1992, 1993, 1995, 1996, 1997 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 -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq ($(subdir),posix) - -sysdep_routines := $(sysdep_routines) sysconfig pgrpsys __waitid - -endif - -ifeq ($(subdir),misc) - -sysdep_routines := $(sysdep_routines) sysinfo - -endif diff --git a/sysdeps/unix/sysv/sysv4/__getpgid.c b/sysdeps/unix/sysv/sysv4/__getpgid.c deleted file mode 100644 index 74ca3e0f9a..0000000000 --- a/sysdeps/unix/sysv/sysv4/__getpgid.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1993, 1997, 2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> -#include <sys/types.h> - -extern int __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -int -__getpgid (pid) - pid_t pid; -{ - return __pgrpsys (4, pid); -} -libc_hidden_def (__getpgid) diff --git a/sysdeps/unix/sysv/sysv4/__setpgid.c b/sysdeps/unix/sysv/sysv4/__setpgid.c deleted file mode 100644 index 36ad5cc77b..0000000000 --- a/sysdeps/unix/sysv/sysv4/__setpgid.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1993, 1997, 2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> -#include <sys/types.h> - -extern int __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -int -__setpgid (pid, pgid) - pid_t pid; - pid_t pgid; -{ - return __pgrpsys (5, pid, pgid); -} -libc_hidden_def (__setpgid) diff --git a/sysdeps/unix/sysv/sysv4/bits/sigaction.h b/sysdeps/unix/sysv/sysv4/bits/sigaction.h deleted file mode 100644 index faf07e5ff5..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/sigaction.h +++ /dev/null @@ -1,55 +0,0 @@ -/* The proper definitions for SVR4's sigaction. - Copyright (C) 1993, 1994, 1996, 1997 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include <bits/sigaction.h> directly; use <signal.h> instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Special flags. */ - int sa_flags; - - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Padding. */ - int sa_resv[2]; - }; - -/* Bits in `sa_flags'. */ -#ifdef __USE_MISC -# define SA_ONSTACK 0x1 /* Take signal on signal stack. */ -# define SA_RESETHAND 0x2 /* Reset to SIG_DFL on entry to handler. */ -# define SA_RESTART 0x4 /* Restart syscall on signal return. */ -# define SA_SIGINFO 0x8 /* Provide additional info to the handler. */ -# define SA_NODEFER 0x10 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_NOCLDWAIT 0x10000 /* Don't save zombie processes. */ -#endif -#define SA_NOCLDSTOP 0x20000 /* Don't send SIGCHLD when children stop. */ - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 3 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/sysv/sysv4/bits/signum.h b/sysdeps/unix/sysv/sysv4/bits/signum.h deleted file mode 100644 index 07f900a78b..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/signum.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Signal number definitions. SVR4 version. - Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 /* EMT trap (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call (4.2 BSD)*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power failure restart (System V). */ -#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ -#define SIGURG 21 /* Urgent condition on socket (4.2 BSD).*/ -#define SIGPOLL 22 /* Pollable event occurred (System V). */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGSTOP 23 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 24 /* Keyboard stop (POSIX). */ -#define SIGCONT 25 /* Continue (POSIX). */ -#define SIGTTIN 26 /* Background read from tty (POSIX). */ -#define SIGTTOU 27 /* Background write to tty (POSIX). */ -#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */ -#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */ - -#endif /* <signal.h> included. */ - -#define _NSIG 32 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/sysv4/bits/sigset.h b/sysdeps/unix/sysv/sysv4/bits/sigset.h deleted file mode 100644 index 9093c72952..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/sigset.h +++ /dev/null @@ -1,98 +0,0 @@ -/* __sig_atomic_t, __sigset_t, and related definitions. SVR4 version. - Copyright (C) 1994-1996, 2002 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGSET_H_types -#define _SIGSET_H_types 1 - -typedef int __sig_atomic_t; - -/* A `sigset_t' has a bit for each signal. */ -typedef struct - { - unsigned long int __sigbits[4]; - } __sigset_t; - -#endif /* ! _SIGSET_H_types */ - -/* We only want to define these functions if <signal.h> was actually - included; otherwise we were included just to define the types. Since we - are namespace-clean, it wouldn't hurt to define extra macros. But - trouble can be caused by functions being defined (e.g., any global - register vars declared later will cause compilation errors). */ - -#if !defined (_SIGSET_H_fns) && defined (_SIGNAL_H) -#define _SIGSET_H_fns 1 - -/* Return a mask that includes SIG only. */ -#define __sigmask(sig) (1 << ((sig) - 1)) - - -/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ -#define __NSSBITS (sizeof (unsigned long int) * 8) -#define __SSELT(s) ((s) / __NSSBITS) -#define __SSMASK(s) (1 << ((s) % __NSSBITS)) - -#ifdef __USE_EXTERN_INLINES -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline -# endif - -_EXTERN_INLINE int -__sigemptyset (__sigset_t *__set) -{ - __set->__sigbits[0] = __set->__sigbits[1] = - __set->__sigbits[2] = __set->__sigbits[3] = 0L; - return 0; -} - -_EXTERN_INLINE int -__sigfillset (__sigset_t *__set) -{ - /* SVR4 has a system call for `sigfillset' (!), and it only sets the bits - for signals [1,31]. Setting bits for unimplemented signals seems - harmless (and we will find out if it really is). */ - __set->__sigbits[0] = __set->__sigbits[1] = - __set->__sigbits[2] = __set->__sigbits[3] = ~0L; - return 0; -} - -_EXTERN_INLINE int -__sigaddset (__sigset_t *__set, int __sig) -{ - __set->__sigbits[__SSELT (__sig)] |= __SSMASK (__sig); - return 0; -} - -_EXTERN_INLINE int -__sigdelset (__sigset_t *__set, int __sig) -{ - __set->__sigbits[__SSELT (__sig)] &= ~__SSMASK (__sig); - return 0; -} - -_EXTERN_INLINE int -__sigismember (__const __sigset_t *__set, int __sig) -{ - if (__set->__sigbits[__SSELT (__sig)] & __SSMASK (__sig)) - return 1; - return 0; -} -#endif /* use extern inlines. */ - -#endif /* ! _SIGSET_H_fns */ diff --git a/sysdeps/unix/sysv/sysv4/bits/utsname.h b/sysdeps/unix/sysv/sysv4/bits/utsname.h deleted file mode 100644 index 891ae68628..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/utsname.h +++ /dev/null @@ -1,23 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead." -#endif - -#define _UTSNAME_LENGTH 257 diff --git a/sysdeps/unix/sysv/sysv4/bits/waitflags.h b/sysdeps/unix/sysv/sysv4/bits/waitflags.h deleted file mode 100644 index 40bc823de6..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/waitflags.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1993, 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SYS_WAIT_H && !defined _STDLIB_H -# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead." -#endif - - -/* Bits in the third argument to `waitpid'. */ -#define WNOHANG 64 /* Don't block waiting. */ -#define WUNTRACED 4 /* Report status of stopped children. */ - -#ifdef __USE_SVID -# define WEXITED 1 /* Look for children that have exited. */ -# define WTRAPPED 2 /* Look for processes that stopped - while tracing. */ -#endif diff --git a/sysdeps/unix/sysv/sysv4/dup2.c b/sysdeps/unix/sysv/sysv4/dup2.c deleted file mode 100644 index 7d36e0e352..0000000000 --- a/sysdeps/unix/sysv/sysv4/dup2.c +++ /dev/null @@ -1,2 +0,0 @@ -/* SVR4 uses the POSIX dup2. */ -#include <sysdeps/posix/dup2.c> diff --git a/sysdeps/unix/sysv/sysv4/ftruncate.c b/sysdeps/unix/sysv/sysv4/ftruncate.c deleted file mode 100644 index 47e040eb2c..0000000000 --- a/sysdeps/unix/sysv/sysv4/ftruncate.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ftruncate for SVR4 using the fcntl F_FREESP command. - Copyright (C) 1995, 1997 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> -#include <string.h> - -/* Truncate the file FD refers to to LENGTH bytes. */ -int -ftruncate (fd, length) - int fd; - off_t length; -{ - struct flock fl; - - memset (&fl, 0, sizeof fl); - fl.l_type = F_WRLCK; - fl.l_start = length; - return fcntl (fd, F_FREESP, &fl); -} diff --git a/sysdeps/unix/sysv/sysv4/gethostname.c b/sysdeps/unix/sysv/sysv4/gethostname.c deleted file mode 100644 index 4a058b51c1..0000000000 --- a/sysdeps/unix/sysv/sysv4/gethostname.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/systeminfo.h> - -extern int __sysinfo (int command, char *buf, long int count); - -int -__gethostname (name, namelen) - char *name; - size_t namelen; -{ - return __sysinfo (SI_HOSTNAME, name, namelen); -} - -weak_alias (__gethostname, gethostname) diff --git a/sysdeps/unix/sysv/sysv4/getpagesize.c b/sysdeps/unix/sysv/sysv4/getpagesize.c deleted file mode 100644 index 6119640758..0000000000 --- a/sysdeps/unix/sysv/sysv4/getpagesize.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Solaris uses sysconf ala POSIX.1. */ -#include <sysdeps/posix/getpagesize.c> diff --git a/sysdeps/unix/sysv/sysv4/getpgid.c b/sysdeps/unix/sysv/sysv4/getpgid.c deleted file mode 100644 index 95f96417cc..0000000000 --- a/sysdeps/unix/sysv/sysv4/getpgid.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1993,1995,1997,1999,2002,2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> -#include <sys/types.h> - -extern pid_t __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -pid_t -__getpgid (pid) - pid_t pid; -{ - return __pgrpsys (4, pid); -} -libc_hidden_def (__getpgid) -weak_alias (__getpgid, getpgid) diff --git a/sysdeps/unix/sysv/sysv4/i386/Dist b/sysdeps/unix/sysv/sysv4/i386/Dist deleted file mode 100644 index 69d16ac6bf..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/Dist +++ /dev/null @@ -1 +0,0 @@ -sys-sig.S diff --git a/sysdeps/unix/sysv/sysv4/i386/Makefile b/sysdeps/unix/sysv/sysv4/i386/Makefile deleted file mode 100644 index 56f0a37de1..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) sys-sig -endif diff --git a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h b/sysdeps/unix/sysv/sysv4/i386/bits/stat.h deleted file mode 100644 index c1016a9228..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997, 1999, 2000 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -#include <bits/types.h> - -/* Versions of the `struct stat' data structure and - the bits of the `xmknod' interface. */ -#define _STAT_VER 2 -#define _MKNOD_VER 2 - -/* Structure describing file characteristics. */ -struct stat - { - unsigned long itn st_dev; /* Device. */ - long int st_filler1[3]; - unsigned long int st_ino; /* File serial number. */ - unsigned long int st_mode; /* File mode. */ - unsigned long int st_nlink; /* Link count. */ - long int st_uid; /* User ID of the file's owner. */ - long int st_gid; /* Group ID of the file's group.*/ - unsigned long int st_rdev; /* Device number, if device. */ - long int st_filler2[2]; - - long int st_size; /* Size of file, in bytes. */ - /* SVR4 added this extra long to allow for expansion of off_t. */ - long int st_filler3; - - long int st_atime; /* Time of last access. */ - unsigned long int st_atime_usec; - long int st_mtime; /* Time of last modification. */ - unsigned long int st_mtime_usec; - long int st_ctime; /* Time of last status change. */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - char st_fstype[16]; /* The type of this filesystem. */ - int st_aclcnt; - unsigned long int st_level; - unsigned long int st_flags; - unsigned long int st_cmwlevel; - long int st_filler4[4]; - }; - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/sysv4/i386/sys-sig.S b/sysdeps/unix/sysv/sysv4/i386/sys-sig.S deleted file mode 100644 index 6e2d1abde3..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/sys-sig.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1994, 1997 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -.globl C_SYMBOL_NAME(__sigreturn) - -ENTRY (__sigaction_syscall) - movl $C_SYMBOL_NAME(__sigreturn), %edx - DO_CALL (sigaction, 3) - jb syscall_error - ret - -PSEUDO (__context_syscall, context, 2) - ret diff --git a/sysdeps/unix/sysv/sysv4/i386/syscalls.list b/sysdeps/unix/sysv/sysv4/i386/syscalls.list deleted file mode 100644 index 560cd8366e..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/syscalls.list +++ /dev/null @@ -1,6 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -xstat - xstat 3 __xstat _xstat -fxstat - fxstat 3 __fxstat _fxstat -lxstat - lxstat 3 __lxstat _lxstat -xmknod - xmknod 4 __xmknod _xmknod diff --git a/sysdeps/unix/sysv/sysv4/i386/sysdep.h b/sysdeps/unix/sysv/sysv4/i386/sysdep.h deleted file mode 100644 index daecdb6222..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/sysdep.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1994, 1997 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/unix/sysv/i386/sysdep.h> - -/* In SVR4 some system calls can fail with the error ERESTART, - and this means the call should be retried. */ - -#ifndef _ERRNO_H -#define _ERRNO_H -#endif -#include <bits/errno.h> - -#undef PSEUDO -#define PSEUDO(name, syscall_name, args) \ - .globl syscall_error; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); \ - jae noerror; \ - cmpb $ERESTART, %al; \ - je C_SYMBOL_NAME (name); \ - jmp syscall_error; \ - noerror: diff --git a/sysdeps/unix/sysv/sysv4/i386/vfork.S b/sysdeps/unix/sysv/sysv4/i386/vfork.S deleted file mode 100644 index bbe99fbc41..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/vfork.S +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/bsd/i386/vfork.S> diff --git a/sysdeps/unix/sysv/sysv4/sethostname.c b/sysdeps/unix/sysv/sysv4/sethostname.c deleted file mode 100644 index d74b0f4f3b..0000000000 --- a/sysdeps/unix/sysv/sysv4/sethostname.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/systeminfo.h> - -extern int __sysinfo (int command, const char *buf, long count); - -int -sethostname (name, namelen) - const char *name; - size_t namelen; -{ - return __sysinfo (SI_SET_HOSTNAME, name, namelen); -} diff --git a/sysdeps/unix/sysv/sysv4/setpgid.c b/sysdeps/unix/sysv/sysv4/setpgid.c deleted file mode 100644 index 80f4ad6430..0000000000 --- a/sysdeps/unix/sysv/sysv4/setpgid.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1993,1995-1997,1999,2002,2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> - -extern int __pgrpsys (pid_t type, ...); - -/* Set the process group ID of the process matching PID to PGID. - If PID is zero, the current process's process group ID is set. - If PGID is zero, the process ID of the process is used. */ -int -__setpgid (pid, pgid) - pid_t pid, pgid; -{ - return __pgrpsys (5, pid, pgid); -} -libc_hidden_def (__setpgid) -weak_alias (__setpgid, setpgid) diff --git a/sysdeps/unix/sysv/sysv4/setsid.c b/sysdeps/unix/sysv/sysv4/setsid.c deleted file mode 100644 index faa2c42d7d..0000000000 --- a/sysdeps/unix/sysv/sysv4/setsid.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997, 1999, 2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> - -extern pid_t __pgrpsys (int type, ...); - -/* Create a new session with the calling process as its leader. - The process group IDs of the session and the calling process - are set to the process ID of the calling process, which is returned. */ -pid_t -__setsid () -{ - return __pgrpsys (3); -} - -weak_alias (__setsid, setsid) diff --git a/sysdeps/unix/sysv/sysv4/sigaction.c b/sysdeps/unix/sysv/sysv4/sigaction.c deleted file mode 100644 index d5926b3d42..0000000000 --- a/sysdeps/unix/sysv/sysv4/sigaction.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright (C) 1994,1995,1996,1997,2002 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <signal.h> -#include <stddef.h> - -static __sighandler_t user_handlers[NSIG]; - -extern int __context_syscall (int, struct sigcontext *); -extern int __sigaction_syscall (int, - const struct sigaction *, struct sigaction *); - -static void -trampoline (int sig, int code, struct sigcontext *context) -{ - (*(void (*) (int, int, struct sigcontext *)) user_handlers[sig]) - (sig, code, context); - __context_syscall (1, context); -} - -/* 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 -__sigaction (sig, act, oact) - int sig; - const struct sigaction *act; - struct sigaction *oact; -{ - struct sigaction myact; - __sighandler_t ohandler; - - if (sig <= 0 || sig >= NSIG) - { - __set_errno (EINVAL); - return -1; - } - - ohandler = user_handlers[sig]; - - if (act != NULL) - { - user_handlers[sig] = act->sa_handler; - if (act->sa_handler != SIG_DFL && act->sa_handler != SIG_IGN) - { - myact = *act; - act = &myact; - act->sa_handler = (__sighandler_t) trampoline; - } - } - - if (__sigaction_syscall (sig, act, oact) < 0) - { - /* The syscall got an error. Restore the old handler and return -1. */ - user_handlers[sig] = ohandler; - return -1; - } - - if (oact != NULL && oact->sa_handler == (__sighandler_t) trampoline) - oact->sa_handler = ohandler; - - return 0; -} -libc_hidden_def (__sigaction) -weak_alias (__sigaction, sigaction) diff --git a/sysdeps/unix/sysv/sysv4/siginfo.h b/sysdeps/unix/sysv/sysv4/siginfo.h deleted file mode 100644 index 2bb925738c..0000000000 --- a/sysdeps/unix/sysv/sysv4/siginfo.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Definitions of the siginfo structure. - Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGINFO_H -#define _SIGINFO_H 1 - -#ifdef __USE_SVID -/* SVR4 puts a ton of other stuff in this structure. For now, we'll just - define the two things we really need out of it, and hope for the best. */ - -/* These define the different states a child can have on exit. - We need these to build the status return for things like waitpid. */ -#define EXITED 1 -#define KILLED 2 -#define CORED 3 -#define TRAPPED 4 -#define STOPPED 5 -#define CONTINUED 6 - -typedef struct __siginfo - { - int filler1; - - /* Code indicating child's status */ - int __code; - - int filler2; - - /* The PID of the child. */ - long __pid; - - int filler3; - - /* The child's status. */ - int __status; - - int filler4[26]; - - } __siginfo_t; - -#endif /* __USE_SVID */ -#endif /* siginfo.h */ diff --git a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h b/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h deleted file mode 100644 index 5b7ea25885..0000000000 --- a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Convert between lowlevel sigmask and libc representation of sigset_t. - SysVr4 version. - Copyright (C) 1998, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joe Keane <jgk@jgk.org>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -static inline int __attribute__ ((unused)) -sigset_set_old_mask (sigset_t *set, int mask) -{ - set->__sigbits[0] = (unsigned int) mask; - set->__sigbits[1] = 0ul; - set->__sigbits[2] = 0ul; - set->__sigbits[3] = 0ul; - - return 0; -} - -static inline int __attribute__ ((unused)) -sigset_get_old_mask (const sigset_t *set) -{ - return (unsigned int) set->__sigbits[0]; -} diff --git a/sysdeps/unix/sysv/sysv4/solaris2/Makefile b/sysdeps/unix/sysv/sysv4/solaris2/Makefile deleted file mode 100644 index 3ad90f748a..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# The linker supplied with Solaris looks in the current directory -# before searching others. Compiling the various programs that come -# along the way (e.g., glue-ctype) will fail because it'll try to link -# with the libc.a being *constructed* in $(objdir). As a work-around, -# we add this to each native-compile. -ALL_BUILD_CFLAGS += -L/lib diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h deleted file mode 100644 index fa0250eb3e..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1996, 1997, 1999 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DIRENT_H -# error "Never use <bits/dirent.h> directly; include <dirent.h> instead." -#endif - -struct dirent - { -#ifndef __USE_FILE_OFFSET64 - __ino_t d_ino; - __off_t d_off; -#else - __ino64_t d_ino; - __off64_t d_off; -#endif - unsigned short int d_reclen; - char d_name[256]; /* We must not include limits.h! */ - }; - -#ifdef __USE_LARGEFILE64 -struct dirent64 - { - __ino64_t d_ino; - __off64_t d_off; - unsigned short int d_reclen; - char d_name[256]; /* We must not include limits.h! */ - }; -#endif - -#define d_fileno d_ino /* Backwards compatibility. */ - -#undef _DIRENT_HAVE_D_NAMLEN -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h deleted file mode 100644 index 6c0de92151..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h +++ /dev/null @@ -1,168 +0,0 @@ -/* Copyright (C) 1991, 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -# define EDOM 33 /* Math argument out of domain of function. */ -# define EILSEQ 88 /* Illegal byte sequence. */ -# define ERANGE 34 /* Math result not representable. */ -#endif - -#ifdef _ERRNO_H -/* All error codes the system knows about. */ - -# define EPERM 1 /* Not super-user. */ -# define ENOENT 2 /* No such file or directory. */ -# define ESRCH 3 /* No such process. */ -# define EINTR 4 /* Interrupted system call. */ -# define EIO 5 /* I/O error. */ -# define ENXIO 6 /* No such device or address. */ -# define E2BIG 7 /* Arg list too long. */ -# define ENOEXEC 8 /* Exec format error. */ -# define EBADF 9 /* Bad file number. */ -# define ECHILD 10 /* No children. */ -# define EAGAIN 11 /* Resource temporarily unavailable. */ -# define EWOULDBLOCK EAGAIN -# define ENOMEM 12 /* Not enough core. */ -# define EACCES 13 /* Permission denied. */ -# define EFAULT 14 /* Bad address. */ -# define ENOTBLK 15 /* Block device required. */ -# define EBUSY 16 /* Mount device busy. */ -# define EEXIST 17 /* File exists. */ -# define EXDEV 18 /* Cross-device link. */ -# define ENODEV 19 /* No such device. */ -# define ENOTDIR 20 /* Not a directory. */ -# define EISDIR 21 /* Is a directory. */ -# define EINVAL 22 /* Invalid argument. */ -# define ENFILE 23 /* File table overflow. */ -# define EMFILE 24 /* Too many open files. */ -# define ENOTTY 25 /* Inappropriate ioctl for device. */ -# define ETXTBSY 26 /* Text file busy. */ -# define EFBIG 27 /* File too large. */ -# define ENOSPC 28 /* No space left on device. */ -# define ESPIPE 29 /* Illegal seek. */ -# define EROFS 30 /* Read only file system. */ -# define EMLINK 31 /* Too many links. */ -# define EPIPE 32 /* Broken pipe. */ -# define ENOMSG 35 /* No message of desired type. */ -# define EIDRM 36 /* Identifier removed. */ -# define ECHRNG 37 /* Channel number out of range. */ -# define EL2NSYNC 38 /* Level 2 not synchronized. */ -# define EL3HLT 39 /* Level 3 halted. */ -# define EL3RST 40 /* Level 3 reset. */ -# define ELNRNG 41 /* Link number out of range. */ -# define EUNATCH 42 /* Protocol driver not attached. */ -# define ENOCSI 43 /* No CSI structure available. */ -# define EL2HLT 44 /* Level 2 halted. */ -# define EDEADLK 45 /* Deadlock condition. */ -# define ENOLCK 46 /* No record locks available. */ -# define ECANCELED 47 /* Operation canceled. */ -# define ENOTSUP 48 /* Operation not supported. */ - -/* Filesystem Quotas. */ -# define EDQUOT 49 /* Disc quota exceeded. */ - -/* Convergent Error Returns. */ -# define EBADE 50 /* Invalid exchange. */ -# define EBADR 51 /* Invalid request descriptor. */ -# define EXFULL 52 /* Exchange full. */ -# define ENOANO 53 /* No anode. */ -# define EBADRQC 54 /* Invalid request code. */ -# define EBADSLT 55 /* Invalid slot. */ -# define EDEADLOCK 56 /* File locking deadlock error. */ - -# define EBFONT 57 /* Bad font file fmt. */ - -/* STREAM problems. */ -# define ENOSTR 60 /* Device not a stream. */ -# define ENODATA 61 /* No data (for no delay io). */ -# define ETIME 62 /* Timer expired. */ -# define ENOSR 63 /* Out of streams resources. */ - -# define ENONET 64 /* Machine is not on the network. */ -# define ENOPKG 65 /* Package not installed. */ -# define EREMOTE 66 /* The object is remote. */ -# define ENOLINK 67 /* The link has been severed. */ -# define EADV 68 /* Advertise error. */ -# define ESRMNT 69 /* Srmount error. */ - -# define ECOMM 70 /* Communication error on send. */ -# define EPROTO 71 /* Protocol error. */ -# define EMULTIHOP 74 /* Multihop attempted. */ -# define EBADMSG 77 /* Trying to read unreadable message. */ -# define ENAMETOOLONG 78 /* Path name is too long. */ -# define EOVERFLOW 79 /* Value too large to be stored in data type.*/ -# define ENOTUNIQ 80 /* Given log. name not unique. */ -# define EBADFD 81 /* F.d. invalid for this operation. */ -# define EREMCHG 82 /* Remote address changed. */ - -/* Shared library problems. */ -# define ELIBACC 83 /* Can't access a needed shared lib. */ -# define ELIBBAD 84 /* Accessing a corrupted shared lib. */ -# define ELIBSCN 85 /* .lib section in a.out corrupted. */ -# define ELIBMAX 86 /* Attempting to link in too many libs. */ -# define ELIBEXEC 87 /* Attempting to exec a shared library. */ -# define ENOSYS 89 /* Unsupported file system operation. */ -# define ELOOP 90 /* Symbolic link loop. */ -# define ERESTART 91 /* Restartable system call. */ -# define ESTRPIPE 92 /* If pipe/FIFO, don't sleep in stream head. */ -# define ENOTEMPTY 93 /* Directory not empty. */ -# define EUSERS 94 /* Too many users (for UFS). */ - -/* BSD Networking Software: argument errors. */ -# define ENOTSOCK 95 /* Socket operation on non-socket. */ -# define EDESTADDRREQ 96 /* Destination address required. */ -# define EMSGSIZE 97 /* Message too long. */ -# define EPROTOTYPE 98 /* Protocol wrong type for socket. */ -# define ENOPROTOOPT 99 /* Protocol not available. */ -# define EPROTONOSUPPORT 120 /* Protocol not supported. */ -# define ESOCKTNOSUPPORT 121 /* Socket type not supported. */ -# define EOPNOTSUPP 122 /* Operation not supported on socket. */ -# define EPFNOSUPPORT 123 /* Protocol family not supported. */ -# define EAFNOSUPPORT 124 /* Address family not supported by - protocol family. */ -# define EADDRINUSE 125 /* Address already in use. */ -# define EADDRNOTAVAIL 126 /* Can't assign requested address. */ -/* BSD Networking Software: operational errors. */ -# define ENETDOWN 127 /* Network is down. */ -# define ENETUNREACH 128 /* Network is unreachable. */ -# define ENETRESET 129 /* Network dropped connection because - of reset. */ -# define ECONNABORTED 130 /* Software caused connection abort. */ -# define ECONNRESET 131 /* Connection reset by peer. */ -# define ENOBUFS 132 /* No buffer space available. */ -# define EISCONN 133 /* Socket is already connected. */ -# define ENOTCONN 134 /* Socket is not connected. */ -/* XENIX has 135 - 142. */ -# define ESHUTDOWN 143 /* Can't send after socket shutdown. */ -# define ETOOMANYREFS 144 /* Too many references: can't splice. */ -# define ETIMEDOUT 145 /* Connection timed out. */ -# define ECONNREFUSED 146 /* Connection refused. */ -# define EHOSTDOWN 147 /* Host is down. */ -# define EHOSTUNREACH 148 /* No route to host. */ -# define EALREADY 149 /* operation already in progress. */ -# define EINPROGRESS 150 /* operation now in progress. */ - -/* SUN Network File System. */ -# define ESTALE 151 /* Stale NFS file handle. */ - -#endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h deleted file mode 100644 index a2659530b6..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h +++ /dev/null @@ -1,76 +0,0 @@ -/* Signal number definitions. Solaris 2 version. - Copyright (C) 1994, 1996, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ -#ifdef __USE_UNIX98 -# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ -#endif - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 /* EMT trap (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call (4.2 BSD)*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power failure restart (System V). */ -#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ -#define SIGURG 21 /* Urgent condition on socket (4.2 BSD).*/ -#define SIGPOLL 22 /* Pollable event occurred (System V). */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGSTOP 23 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 24 /* Keyboard stop (POSIX). */ -#define SIGCONT 25 /* Continue (POSIX). */ -#define SIGTTIN 26 /* Background read from tty (POSIX). */ -#define SIGTTOU 27 /* Background write to tty (POSIX). */ -#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */ -#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */ -/* The following signals are new in Solaris 2. */ -#define SIGWAITING 32 /* Process's lwps are blocked. */ -#define SIGLWP 33 /* Special signal used by thread library. */ -#define SIGFREEZE 34 /* Special signal used by CPR. */ -#define SIGTHAW 35 /* Special signal used by CPR. */ -#define _SIGRTMIN 36 /* First (highest-priority) realtime signal. */ -#define _SIGRTMAX 43 /* Last (lowest-priority) realtime signal. */ - -#endif /* <signal.h> included. */ - -#define _NSIG 44 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h deleted file mode 100644 index 753caac8a8..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h +++ /dev/null @@ -1,55 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include this file directly. Use <signal.h> instead" -#endif - - -/* Structure describing a signal stack (obsolete). */ -struct sigstack - { - __ptr_t ss_sp; /* Signal stack pointer. */ - int ss_onstack; /* Nonzero if executing on this stack. */ - }; - - -/* Possible values for `ss_flags.'. */ -enum -{ - SS_ONSTACK = 1, -#define SS_ONSTACK SS_ONSTACK - SS_DISABLE -#define SS_DISABLE SS_DISABLE -}; - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 2048 - -/* System default stack size. */ -#define SIGSTKSZ 8192 - - -/* Alternate, preferred interface. */ -typedef struct sigaltstack - { - __ptr_t ss_sp; - int ss_flags; - size_t ss_size; - } stack_t; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h deleted file mode 100644 index 22c1c1f855..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright (C) 1993, 96, 97, 98, 99, 2000 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -#include <bits/types.h> - -/* Length of array allocated for file system type name. */ -#define _ST_FSTYPSZ 16 - - -/* Structure describing file characteristics. */ -struct stat - { - __dev_t st_dev; - long int st_filler1[3]; - __ino_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - long int st_filler2[2]; - - __off_t st_size; /* Size of file, in bytes. */ - /* SVR4 added this extra long to allow for expansion of off_t. */ - long int st_filler3; - - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atime_usec; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtime_usec; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - char st_fstype[_ST_FSTYPSZ]; - long int st_filler4[8]; - }; - -#ifdef __USE_LARGEFILE64 -/* struct stat64 has the shape as stat */ -struct stat64 - { - __dev_t st_dev; /* Device */ - long int st_filler1[2]; - __ino64_t st_ino; /* File serial number */ - __mode_t st_mode; /* File mode */ - __nlink_t st_nlink; /* Link count */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device */ - long int st_filler2; - - __off64_t st_size; /* Size of file, in bytes. */ - - __time_t st_atime; /* Time of last access */ - unsigned long int st_atime_usec; - __time_t st_mtime; /* Time of last modification */ - unsigned long int st_mtime_usec; - __time_t st_ctime; /* Time of last status change */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; - __blkcnt64_t st_blocks; - char st_fstype[_ST_FSTYPSZ]; - long int st_filler3[8]; -}; -#endif - - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h deleted file mode 100644 index a9ce216c69..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1991,92,1994-1999,2000,2001 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use <sys/types.h> instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include <features.h> - -#define __need_size_t -#include <stddef.h> - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short __u_short; -typedef unsigned int __u_int; -typedef unsigned long __u_long; -#ifdef __GNUC__ -typedef unsigned long long int __u_quad_t; -typedef long long int __quad_t; -#else -typedef struct -{ - long __val[2]; -} __quad_t; -typedef struct -{ - __u_long __val[2]; -} __u_quad_t; -#endif -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __GNUC__ -typedef signed long long int __int64_t; -typedef unsigned long long int __uint64_t; -#endif -typedef __quad_t *__qaddr_t; -typedef unsigned long int __dev_t; /* Type of device numbers. */ -typedef long int __uid_t; /* Type of user identifications. */ -typedef long int __gid_t; /* Type of group identifications. */ -typedef unsigned long int __ino_t; /* Type of file serial numbers. */ -typedef unsigned long int __mode_t; /* Type of file attribute bitmasks. */ -typedef unsigned long int __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef long int __pid_t; /* Type of process identifications. */ -typedef int __ssize_t; /* Type of a byte count, or error. */ -typedef __u_quad_t __fsid_t; /* Type of file system IDs. */ -typedef long int __clock_t; /* Type of CPU usage counts. */ -typedef long int __rlim_t; /* Type for resource measurement. */ -typedef __quad_t __rlim64_t; /* Type for resource measurement (LFS). */ -typedef __quad_t __ino64_t; /* Type for file serial numbers. */ -typedef __loff_t __off64_t; /* Type of file izes and offsets. */ -typedef unsigned int __id_t; /* General type for IDs. */ - -/* Everythin' else. */ -typedef long int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef int __suseconds_t; -typedef long int __swblk_t; /* Type of a swap block maybe? */ -typedef int __key_t; /* Type of an IPC key */ - -/* fd_set for select. */ - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -/* Type to represent block size. */ -typedef long int __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef long int __blkcnt_t; -typedef __quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef unsigned int __fsblkcnt_t; -typedef __u_quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef unsigned long int __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - -/* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -typedef long int __intptr_t; - -/* Duplicate info from sys/socket.h. */ -typedef unsigned int __socklen_t; - -#endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/fsync.S b/sysdeps/unix/sysv/sysv4/solaris2/fsync.S deleted file mode 100644 index 493926a98c..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/fsync.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* Solaris uses fdsync for the normal fsync. */ -ENTRY(fsync) - mov 16, %i1 - mov SYS_ify(fdsync), %g1 - ta 8 - bcs syscall_error - nop - mov %g0, %o0 - ret diff --git a/sysdeps/unix/sysv/sysv4/solaris2/getdents.c b/sysdeps/unix/sysv/sysv4/solaris2/getdents.c deleted file mode 100644 index ab782ffaac..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/getdents.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Copyright (C) 1993,95,96,97,98, 2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <alloca.h> -#include <dirent.h> -#include <stddef.h> -#include <string.h> -#include <unistd.h> -#include <sys/param.h> -#include <sys/types.h> - -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) - - -extern int __getdents (int fd, char *buf, size_t nbytes); - -/* For Solaris we need a special version of this file since the - definition of `struct dirent' is not the same for the kernel and - the libc. There is one additional field which might be introduced - in the kernel structure in the future. - - He is the system definition of `struct dirent' as of 2.6: */ - -struct kernel_dirent - { - ino_t d_ino; - off_t d_off; - unsigned short int d_reclen; - char d_name[256]; - }; - -#ifdef GETDENTS64 -#define __getdirentries __getdirentries64 -#define dirent dirent64 -#endif - -/* The problem here is that we cannot simply read the next NBYTES - bytes. We need to take the additional field into account. We use - some heuristic. Assuming the directory contains names with 14 - characters on average we can compute an estimate number of entries - which fit in the buffer. Taking this number allows us to specify a - correct number of bytes to read. If we should be wrong, we can reset - the file descriptor. */ -ssize_t -__getdirentries (int fd, char *buf, size_t nbytes, off_t *basep) -{ - off_t base = __lseek (fd, (off_t) 0, SEEK_CUR); - off_t last_offset = base; - size_t red_nbytes; - struct kernel_dirent *skdp, *kdp; - struct dirent *dp; - int retval; - const size_t size_diff = (offsetof (struct dirent, d_name) - - offsetof (struct kernel_dirent, d_name)); - - red_nbytes = nbytes - ((nbytes / (offsetof (struct dirent, d_name) + 14)) - * size_diff); - - dp = (struct dirent *) buf; - skdp = kdp = __alloca (red_nbytes); - - retval = __getdents (fd, (char *) kdp, red_nbytes); - - while ((char *) kdp < (char *) skdp + retval) - { - const size_t alignment = __alignof__ (struct dirent); - /* Since kdp->d_reclen is already aligned for the kernel structure - this may compute a value that is bigger than necessary. */ - size_t new_reclen = ((kdp->d_reclen + size_diff + alignment - 1) - & ~(alignment - 1)); - if ((char *) dp + new_reclen > buf + nbytes) - { - /* Our heuristic failed. We read too many entries. Reset - the stream. */ - __lseek (fd, last_offset, SEEK_SET); - break; - } - - last_offset = kdp->d_off; - dp->d_ino = kdp->d_ino; - dp->d_off = kdp->d_off; - dp->d_reclen = new_reclen; - dp->d_type = DT_UNKNOWN; - memcpy (dp->d_name, kdp->d_name, - kdp->d_reclen - offsetof (struct kernel_dirent, d_name)); - - dp = (struct dirent *) ((char *) dp + new_reclen); - kdp = (struct kernel_dirent *) (((char *) kdp) + kdp->d_reclen); - } - - if (basep) - *basep = base; - - return (char *) dp - buf; -} - -#ifndef GETDENTS64 -weak_alias (__getdirentries, getdirentries) -#endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c b/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c deleted file mode 100644 index 2723d79f7a..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <signal.h> - -extern int __syscall_sigpending (int subcode, sigset_t *set); - - -/* Store in SET all signals that are blocked and pending. */ -int -sigpending (sigset_t *set) -{ - if (set == NULL) - { - __set_errno (EINVAL); - return -1; - } - - return __syscall_sigpending (1, set); -} diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c b/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c deleted file mode 100644 index 5aa73c8dcb..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c +++ /dev/null @@ -1,3 +0,0 @@ -/* We can reuse the Linux implementation with some tricks. */ -#define __NR_sigaltstack 1 -#include <sysdeps/unix/sysv/linux/sigstack.c> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c b/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c deleted file mode 100644 index f246640023..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c +++ /dev/null @@ -1,2 +0,0 @@ -/* We can reuse the Linux implementation. */ -#include <sysdeps/unix/sysv/linux/sigwaitinfo.c> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist b/sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist deleted file mode 100644 index 7832507772..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist +++ /dev/null @@ -1 +0,0 @@ -sys/trap.h diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile b/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile deleted file mode 100644 index 1c17ea168e..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# This flag is necessary because GCC now tries to call _Q_{mul, etc...} -# instead of doing the stuff the hard way. For now, printf_fp.o, __vfscanf.o, -# and difftime.o don't work because of this. The long-term fix is to actually -# implement what they're doing, but for the short-term, we must do this. -sysdep-CFLAGS := $(sysdep-CFLAGS) -mhard-quad-float - -ifeq ($(subdir),crypt) - -crypt := crypt.solar - -endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h deleted file mode 100644 index 7c4bca6049..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Structure describing state saved while handling a signal. Sparc version. - Copyright (C) 1992, 1994, 1997 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead." -#endif - -struct sigcontext - { - int sc_onstack; - __sigset_t sc_mask; - -#define SPARC_MAXREGWINDOW 31 /* Maximum usable register windows. */ - int sc_sp, sc_pc, sc_npc, sc_psr, sc_g1, sc_o0; - int sc_wbcnt; /* Number of outstanding windows. */ - __ptr_t sc_spbuf[SPARC_MAXREGWINDOW]; /* SP's for each window. */ - int sc_wbuf[SPARC_MAXREGWINDOW][16]; /* Saved register windows. */ - }; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c b/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c deleted file mode 100644 index 3c75e3f011..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c +++ /dev/null @@ -1,185 +0,0 @@ -/* Copyright (C) 1999 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stddef.h> -#include <libintl.h> - - -/* This is a list of all known `errno' codes. */ - - -const int _sys_nerr = 152; - -const char *const _sys_errlist[] = -{ - N_("Error 0"), - N_("Not owner"), - N_("No such file or directory"), - N_("No such process"), - N_("Interrupted system call"), - N_("I/O error"), - N_("No such device or address"), - N_("Arg list too long"), - N_("Exec format error"), - N_("Bad file number"), - N_("No child processes"), - N_("Resource temporarily unavailable"), - N_("Not enough space"), - N_("Permission denied"), - N_("Bad address"), - N_("Block device required"), - N_("Device busy"), - N_("File exists"), - N_("Cross-device link"), - N_("No such device"), - N_("Not a directory"), - N_("Is a directory"), - N_("Invalid argument"), - N_("File table overflow"), - N_("Too many open files"), - N_("Inappropriate ioctl for device"), - N_("Text file busy"), - N_("File too large"), - N_("No space left on device"), - N_("Illegal seek"), - N_("Read-only file system"), - N_("Too many links"), - N_("Broken pipe"), - N_("Argument out of domain"), - N_("Result too large"), - N_("No message of desired type"), - N_("Identifier removed"), - N_("Channel number out of range"), - N_("Level 2 not synchronized"), - N_("Level 3 halted"), - N_("Level 3 reset"), - N_("Link number out of range"), - N_("Protocol driver not attached"), - N_("No CSI structure available"), - N_("Level 2 halted"), - N_("Deadlock situation detected/avoided"), - N_("No record locks available"), - N_("Operation canceled"), - N_("Operation not supported"), - N_("Disc quota exceeded"), - N_("Bad exchange descriptor"), - N_("Bad request descriptor"), - N_("Message tables full"), - N_("Anode table overflow"), - N_("Bad request code"), - N_("Invalid slot"), - N_("File locking deadlock"), - N_("Bad font file format"), - N_("Error 58"), - N_("Error 59"), - N_("Not a stream device"), - N_("No data available"), - N_("Timer expired"), - N_("Out of stream resources"), - N_("Machine is not on the network"), - N_("Package not installed"), - N_("Object is remote"), - N_("Link has been severed"), - N_("Advertise error"), - N_("Srmount error"), - N_("Communication error on send"), - N_("Protocol error"), - N_("Error 72"), - N_("Error 73"), - N_("Multihop attempted"), - N_("Error 75"), - N_("Error 76"), - N_("Not a data message"), - N_("File name too long"), - N_("Value too large for defined data type"), - N_("Name not unique on network"), - N_("File descriptor in bad state"), - N_("Remote address changed"), - N_("Can not access a needed shared library"), - N_("Accessing a corrupted shared library"), - N_(".lib section in a.out corrupted"), - N_("Attempting to link in more shared libraries than system limit"), - N_("Can not exec a shared library directly"), - N_("Illegal byte sequence"), - N_("Operation not applicable"), - N_("Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"), - N_("Error 91"), - N_("Error 92"), - N_("Directory not empty"), - N_("Too many users"), - N_("Socket operation on non-socket"), - N_("Destination address required"), - N_("Message too long"), - N_("Protocol wrong type for socket"), - N_("Option not supported by protocol"), - N_("Error 100"), - N_("Error 101"), - N_("Error 102"), - N_("Error 103"), - N_("Error 104"), - N_("Error 105"), - N_("Error 106"), - N_("Error 107"), - N_("Error 108"), - N_("Error 109"), - N_("Error 110"), - N_("Error 111"), - N_("Error 112"), - N_("Error 113"), - N_("Error 114"), - N_("Error 115"), - N_("Error 116"), - N_("Error 117"), - N_("Error 118"), - N_("Error 119"), - N_("Protocol not supported"), - N_("Socket type not supported"), - N_("Operation not supported on transport endpoint"), - N_("Protocol family not supported"), - N_("Address family not supported by protocol family"), - N_("Address already in use"), - N_("Cannot assign requested address"), - N_("Network is down"), - N_("Network is unreachable"), - N_("Network dropped connection because of reset"), - N_("Software caused connection abort"), - N_("Connection reset by peer"), - N_("No buffer space available"), - N_("Transport endpoint is already connected"), - N_("Transport endpoint is not connected"), - N_("Structure needs cleaning"), - N_("Error 136"), - N_("Not a name file"), - N_("Not available"), - N_("Is a name file"), - N_("Remote I/O error"), - N_("Reserved for future use"), - N_("Error 142"), - N_("Cannot send after socket shutdown"), - N_("Too many references: cannot splice"), - N_("Connection timed out"), - N_("Connection refused"), - N_("Host is down"), - N_("No route to host"), - N_("Operation already in progress"), - N_("Operation now in progress"), - N_("Stale NFS file handle") -}; - -weak_alias (_sys_errlist, sys_errlist) -weak_alias (_sys_nerr, sys_nerr) diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S deleted file mode 100644 index b9f2996e31..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S +++ /dev/null @@ -1,2 +0,0 @@ -/* Bets are that the Linux code works... */ -#include <sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c b/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c deleted file mode 100644 index afdfaaa2e5..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c +++ /dev/null @@ -1,4 +0,0 @@ -#define NO_SHLIB -/* Solaris needs start named `_start', not `start'. */ -#define NO_EXPLICIT_START -#include <sysdeps/unix/sparc/start.c> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h deleted file mode 100644 index 39d2645973..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_TRAP_H -#define _SYS_TRAP_H 1 - -/* Solaris2 software traps. */ - -#define ST_OSYSCALL 0x00 -#define ST_BREAKPOINT 0x01 -#define ST_DIV0 0x02 -#define ST_FLUSH_WINDOWS 0x03 -#define ST_CLEAN_WINDOWS 0x04 -#define ST_RANGE_CHECK 0x05 -#define ST_FIX_ALIGN 0x06 -#define ST_INT_OVERFLOW 0x07 -#define ST_SYSCALL 0x08 - -/* Traps 0x10 through 0x1f are allotted to the user. */ - -#endif /* sys/trap.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h deleted file mode 100644 index 6e9f69067d..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> -#include <signal.h> -#include <sys/types.h> - -typedef struct -{ - long int mc_filler[78]; -} mcontext_t; - -struct ucontext -{ - unsigned long int uc_flags; - struct ucontext *uc_link; - sigset_t uc_sigmask; - stack_t uc_stack; - mcontext_t uc_mcontext; - long int uc_filler[23]; -}; -typedef struct ucontext ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list b/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list deleted file mode 100644 index d96fbba7e2..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sys-sig - context 2 __context_syscall diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S deleted file mode 100644 index 2ac767c987..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#define _ERRNO_H -#include <bits/errno.h> - -ENTRY(syscall_error) - /* If it was a syscall that got interrupted, but can - be restarted, drop EINTR in. */ - cmp %o0, ERESTART - be,a notint - mov EINTR, %o0 - -notint: -#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN - /* We translate the system's EWOULDBLOCK error into EAGAIN. - The GNU C library always defines EWOULDBLOCK==EAGAIN. - EWOULDBLOCK_sys is the original number. */ - cmp %o0, EWOULDBLOCK_sys - be,a notblock - mov EAGAIN, %o0 -#endif - -notblock:/* Store it in errno... */ - sethi %hi(C_SYMBOL_NAME(errno)), %g1 - st %o0, [%g1 + %lo(C_SYMBOL_NAME(errno))] - - /* And just kick back a -1. */ - retl - mov -1, %o0 diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h deleted file mode 100644 index 9a0db6afe1..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1993,1994,1995,1997,1998,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Solaris 2 does not precede the asm names of C symbols with a `_'. */ -#ifndef NO_UNDERSCORES -#define NO_UNDERSCORES -#endif - -#include <sysdeps/unix/sysdep.h> - -#ifdef __ASSEMBLER__ - -/* As of gcc-2.6.0, it complains about pound signs in front of things - that aren't arguments to the macro. So we use this to pull it off - instead. */ -#define cat(a,b) a##b -#define poundfnc cat(#,function) - -#define ENTRY(name) \ - .section ".text"; \ - .align 4; \ - .global C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name), poundfnc; \ - C_LABEL(name) - -#define PSEUDO(name, syscall_name, args) \ - ENTRY (name) \ - mov SYS_ify(syscall_name), %g1; \ - ta 8; \ - bcs C_SYMBOL_NAME(syscall_error); \ - nop - -#define ret retl; nop -#define r0 %o0 -#define r1 %o1 -#define MOVE(x,y) mov x, y - -#define LOC(name) .L##name - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h b/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h deleted file mode 100644 index bbd7b06a11..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h +++ /dev/null @@ -1,59 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_PARAM_H -#define _SYS_PARAM_H 1 - -#include <limits.h> - -/* BSD names for some <limits.h> values. */ - -#define NBBY CHAR_BIT -#ifndef NGROUPS -# define NGROUPS NGROUPS_MAX -#endif -#define MAXSYMLINKS 5 -#define CANBSIZ MAX_CANON -#define NCARGS ARG_MAX -#define MAXPATHLEN PATH_MAX -#define NOFILE OPEN_MAX - - -#include <sys/types.h> - -/* Bit map related macros. */ -#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY)) -#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY))) -#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY))) -#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0) - -/* Macros for counting and rounding. */ -#ifndef howmany -# define howmany(x, y) (((x)+((y)-1))/(y)) -#endif -#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) -#define powerof2(x) ((((x)-1)&(x))==0) - -/* Macros for min/max. */ -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - -/* Unit of `st_blocks'. */ -#define DEV_BSIZE 512 - -#endif /* sys/param.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h b/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h deleted file mode 100644 index 15c43a3c33..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h +++ /dev/null @@ -1,245 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYSCALL_H -#define _SYSCALL_H 1 - -/* Solaris 2 syscall numbers */ - -#define SYS_syscall 0 -#define SYS_exit 1 -#define SYS_fork 2 -#define SYS_read 3 -#define SYS_write 4 -#define SYS_open 5 -#define SYS_close 6 -#define SYS_wait 7 -#define SYS_creat 8 -#define SYS_link 9 -#define SYS_unlink 10 -#define SYS_exec 11 -#define SYS_chdir 12 -#define SYS_time 13 -#define SYS_mknod 14 -#define SYS_chmod 15 -#define SYS_chown 16 -#define SYS_brk 17 -#define SYS_stat 18 -#define SYS_lseek 19 -#define SYS_getpid 20 -#define SYS_mount 21 -#define SYS_umount 22 -#define SYS_setuid 23 -#define SYS_getuid 24 -#define SYS_stime 25 -#define SYS_ptrace 26 -#define SYS_alarm 27 -#define SYS_fstat 28 -#define SYS_pause 29 -#define SYS_utime 30 -#define SYS_stty 31 -#define SYS_gtty 32 -#define SYS_access 33 -#define SYS_nice 34 -#define SYS_statfs 35 -#define SYS_sync 36 -#define SYS_kill 37 -#define SYS_fstatfs 38 -#define SYS_pgrpsys 39 -#define SYS_xenix 40 -#define SYS_dup 41 -#define SYS_pipe 42 -#define SYS_times 43 -#define SYS_profil 44 -#define SYS_plock 45 -#define SYS_setgid 46 -#define SYS_getgid 47 -#define SYS_signal 48 -#define SYS_msgsys 49 -#define SYS_syssun 50 -#define SYS_sysi86 50 -#define SYS_sysppc 50 -#define SYS_acct 51 -#define SYS_shmsys 52 -#define SYS_semsys 53 -#define SYS_ioctl 54 -#define SYS_uadmin 55 -#define SYS_utssys 57 -#define SYS_fdsync 58 -#define SYS_execve 59 -#define SYS_umask 60 -#define SYS_chroot 61 -#define SYS_fcntl 62 -#define SYS_ulimit 63 -#define SYS_rmdir 79 -#define SYS_mkdir 80 -#define SYS_getdents 81 -#define SYS_sysfs 84 -#define SYS_getmsg 85 -#define SYS_putmsg 86 -#define SYS_poll 87 -#define SYS_lstat 88 -#define SYS_symlink 89 -#define SYS_readlink 90 -#define SYS_setgroups 91 -#define SYS_getgroups 92 -#define SYS_fchmod 93 -#define SYS_fchown 94 -#define SYS_sigprocmask 95 -#define SYS_sigsuspend 96 -#define SYS_sigaltstack 97 -#define SYS_sigaction 98 -#define SYS_sigpending 99 -#define SYS_context 100 -#define SYS_evsys 101 -#define SYS_evtrapret 102 -#define SYS_statvfs 103 -#define SYS_fstatvfs 104 -#define SYS_nfssys 106 -#define SYS_waitsys 107 -#define SYS_sigsendsys 108 -#define SYS_hrtsys 109 -#define SYS_acancel 110 -#define SYS_async 111 -#define SYS_priocntlsys 112 -#define SYS_pathconf 113 -#define SYS_mincore 114 -#define SYS_mmap 115 -#define SYS_mprotect 116 -#define SYS_munmap 117 -#define SYS_fpathconf 118 -#define SYS_vfork 119 -#define SYS_fchdir 120 -#define SYS_readv 121 -#define SYS_writev 122 -#define SYS_xstat 123 -#define SYS_lxstat 124 -#define SYS_fxstat 125 -#define SYS_xmknod 126 -#define SYS_clocal 127 -#define SYS_setrlimit 128 -#define SYS_getrlimit 129 -#define SYS_lchown 130 -#define SYS_memcntl 131 -#define SYS_getpmsg 132 -#define SYS_putpmsg 133 -#define SYS_rename 134 -#define SYS_uname 135 -#define SYS_setegid 136 -#define SYS_sysconfig 137 -#define SYS_adjtime 138 -#define SYS_systeminfo 139 -#define SYS_seteuid 141 -#define SYS_vtrace 142 -#define SYS_fork1 143 -#define SYS_sigtimedwait 144 -#define SYS_lwp_info 145 -#define SYS_yield 146 -#define SYS_lwp_sema_wait 147 -#define SYS_lwp_sema_post 148 -#define SYS_lwp_sema_trywait 149 -#define SYS_modctl 152 -#define SYS_fchroot 153 -#define SYS_utimes 154 -#define SYS_vhangup 155 -#define SYS_gettimeofday 156 -#define SYS_getitimer 157 -#define SYS_setitimer 158 -#define SYS_lwp_create 159 -#define SYS_lwp_exit 160 -#define SYS_lwp_suspend 161 -#define SYS_lwp_continue 162 -#define SYS_lwp_kill 163 -#define SYS_lwp_self 164 -#define SYS_lwp_setprivate 165 -#define SYS_lwp_getprivate 166 -#define SYS_lwp_wait 167 -#define SYS_lwp_mutex_unlock 168 -#define SYS_lwp_mutex_lock 169 -#define SYS_lwp_cond_wait 170 -#define SYS_lwp_cond_signal 171 -#define SYS_lwp_cond_broadcast 172 -#define SYS_pread 173 -#define SYS_pwrite 174 -#define SYS_llseek 175 -#define SYS_inst_sync 176 -#define SYS_kaio 178 -#define SYS_tsolsys 184 -#define SYS_acl 185 -#define SYS_auditsys 186 -#define SYS_processor_bind 187 -#define SYS_processor_info 188 -#define SYS_p_online 189 -#define SYS_sigqueue 190 -#define SYS_clock_gettime 191 -#define SYS_clock_settime 192 -#define SYS_clock_getres 193 -#define SYS_timer_create 194 -#define SYS_timer_delete 195 -#define SYS_timer_settime 196 -#define SYS_timer_gettime 197 -#define SYS_timer_getoverrun 198 -#define SYS_nanosleep 199 -#define SYS_facl 200 -#define SYS_door 201 -#define SYS_setreuid 202 -#define SYS_setregid 203 -#define SYS_install_utrap 204 -#define SYS_signotify 205 -#define SYS_schedctl 206 -#define SYS_pset 207 -#define SYS_resolvepath 209 -#define SYS_signotifywait 210 -#define SYS_lwp_sigredirect 211 -#define SYS_lwp_alarm 212 -#define SYS_getdents64 213 -#define SYS_mmap64 214 -#define SYS_stat64 215 -#define SYS_lstat64 216 -#define SYS_fstat64 217 -#define SYS_statvfs64 218 -#define SYS_fstatvfs64 219 -#define SYS_setrlimit64 220 -#define SYS_getrlimit64 221 -#define SYS_pread64 222 -#define SYS_pwrite64 223 -#define SYS_creat64 224 -#define SYS_open64 225 -#define SYS_rpcsys 226 -#define SYS_so_socket 230 -#define SYS_so_socketpair 231 -#define SYS_bind 232 -#define SYS_listen 233 -#define SYS_accept 234 -#define SYS_connect 235 -#define SYS_shutdown 236 -#define SYS_recv 237 -#define SYS_recvfrom 238 -#define SYS_recvmsg 239 -#define SYS_send 240 -#define SYS_sendmsg 241 -#define SYS_sendto 242 -#define SYS_getpeername 243 -#define SYS_getsockname 244 -#define SYS_getsockopt 245 -#define SYS_setsockopt 246 -#define SYS_sockconfig 247 -#define SYS_ntp_gettime 248 -#define SYS_ntp_adjtime 249 - -#endif /* sys/syscall.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list b/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list deleted file mode 100644 index 092d869efc..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list +++ /dev/null @@ -1,7 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sigaction - sigaction 3 __sigaction sigaction -sigaltstack - sigaltstack 2 sigaltstack -sigpending - sigpending 2 __syscall_sigpending -sigqueue - sigqueue 3 __sigqueue sigqueue -sigtimedwait - sigtimedwait 3 __sigtimedwait sigtime diff --git a/sysdeps/unix/sysv/sysv4/syscalls.list b/sysdeps/unix/sysv/sysv4/syscalls.list deleted file mode 100644 index 7b75d55248..0000000000 --- a/sysdeps/unix/sysv/sysv4/syscalls.list +++ /dev/null @@ -1,7 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -pgrpsys - pgrpsys 3 __pgrpsys -sigprocmask - sigprocmask 3 __sigprocmask sigprocmask -sysconfig - sysconfig 1 __sysconfig -sysinfo - systeminfo 3 __sysinfo -__waitid waitpid waitsys 3 __waitid diff --git a/sysdeps/unix/sysv/sysv4/sysconf.c b/sysdeps/unix/sysv/sysv4/sysconf.c deleted file mode 100644 index bfe7823c4c..0000000000 --- a/sysdeps/unix/sysv/sysv4/sysconf.c +++ /dev/null @@ -1,366 +0,0 @@ -/* Copyright (C) 1993,1995,1996,1997,2002,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <limits.h> -#include <unistd.h> -#include <stdio.h> -#include <time.h> -#include <sysconfig.h> - -extern int __sysconfig (int); - -/* Get the value of the system variable NAME. */ -long int -__sysconf (name) - int name; -{ - switch (name) - { - default: - __set_errno (EINVAL); - return -1; - - case _SC_ARG_MAX: -#ifdef ARG_MAX - return ARG_MAX; -#else - return -1; -#endif - - case _SC_CHILD_MAX: -#ifdef CHILD_MAX - return CHILD_MAX; -#else - return -1; -#endif - - case _SC_CLK_TCK: - return __sysconfig (_CONFIG_CLK_TCK); - - case _SC_NGROUPS_MAX: -#ifdef NGROUPS_MAX - return NGROUPS_MAX; -#else - return -1; -#endif - - /* Both of these are looking for _CONFIG_OPEN_FILES. */ - case _SC_OPEN_MAX: - case _SC_STREAM_MAX: - return __sysconfig (_CONFIG_OPEN_FILES); - - case _SC_TZNAME_MAX: - return __tzname_max (); - - case _SC_JOB_CONTROL: -#ifdef _POSIX_JOB_CONTROL - return 1; -#else - return -1; -#endif - - case _SC_SAVED_IDS: -#ifdef _POSIX_SAVED_IDS - return 1; -#else - return -1; -#endif - - case _SC_REALTIME_SIGNALS: -#ifdef _POSIX_REALTIME_SIGNALS - return 1; -#else - return -1; -#endif - - case _SC_PRIORITY_SCHEDULING: -#ifdef _POSIX_PRIORITY_SCHEDULING - return 1; -#else - return -1; -#endif - - case _SC_TIMERS: -#ifdef _POSIX_TIMERS - return 1; -#else - return -1; -#endif - - case _SC_ASYNCHRONOUS_IO: -#ifdef _POSIX_ASYNCHRONOUS_IO - return 1; -#else - return -1; -#endif - - case _SC_PRIORITIZED_IO: -#ifdef _POSIX_PRIORITIZED_IO - return 1; -#else - return -1; -#endif - - case _SC_SYNCHRONIZED_IO: -#ifdef _POSIX_SYNCHRONIZED_IO - return 1; -#else - return -1; -#endif - - case _SC_FSYNC: -#ifdef _POSIX_FSYNC - return 1; -#else - return -1; -#endif - - case _SC_MAPPED_FILES: -#ifdef _POSIX_MAPPED_FILES - return 1; -#else - return -1; -#endif - - case _SC_MEMLOCK: -#ifdef _POSIX_MEMLOCK - return 1; -#else - return -1; -#endif - - case _SC_MEMLOCK_RANGE: -#ifdef _POSIX_MEMLOCK_RANGE - return 1; -#else - return -1; -#endif - - case _SC_MEMORY_PROTECTION: -#ifdef _POSIX_MEMORY_PROTECTION - return 1; -#else - return -1; -#endif - - case _SC_MESSAGE_PASSING: -#ifdef _POSIX_MESSAGE_PASSING - return 1; -#else - return -1; -#endif - - case _SC_SEMAPHORES: -#ifdef _POSIX_SEMAPHORES - return 1; -#else - return -1; -#endif - - case _SC_SHARED_MEMORY_OBJECTS: -#ifdef _POSIX_SHARED_MEMORY_OBJECTS - return 1; -#else - return -1; -#endif - - case _SC_VERSION: - return _POSIX_VERSION; - - case _SC_PAGESIZE: - return __sysconfig (_CONFIG_PAGESIZE); - - case _SC_AIO_LISTIO_MAX: -#ifdef AIO_LISTIO_MAX - return AIO_LISTIO_MAX; -#else - return -1; -#endif - - case _SC_AIO_MAX: -#ifdef AIO_MAX - return AIO_MAX; -#else - return -1; -#endif - - case _SC_AIO_PRIO_DELTA_MAX: -#ifdef AIO_PRIO_DELTA_MAX - return AIO_PRIO_DELTA_MAX; -#else - return -1; -#endif - - case _SC_DELAYTIMER_MAX: -#ifdef DELAYTIMER_MAX - return DELAYTIMER_MAX; -#else - return -1; -#endif - - case _SC_MQ_OPEN_MAX: -#ifdef MQ_OPEN_MAX - return MQ_OPEN_MAX; -#else - return -1; -#endif - - case _SC_MQ_PRIO_MAX: -#ifdef MQ_PRIO_MAX - return MQ_PRIO_MAX; -#else - return -1; -#endif - - case _SC_RTSIG_MAX: -#ifdef RTSIG_MAX - return RTSIG_MAX; -#else - return -1; -#endif - - case _SC_SEM_NSEMS_MAX: -#ifdef SEM_NSEMS_MAX - return SEM_NSEMS_MAX; -#else - return -1; -#endif - - case _SC_SEM_VALUE_MAX: -#ifdef SEM_VALUE_MAX - return SEM_VALUE_MAX; -#else - return -1; -#endif - - case _SC_SIGQUEUE_MAX: -#ifdef SIGQUEUE_MAX - return SIGQUEUE_MAX; -#else - return -1; -#endif - - case _SC_TIMER_MAX: -#ifdef TIMER_MAX - return TIMER_MAX; -#else - return -1; -#endif - - case _SC_BC_BASE_MAX: -#ifdef BC_BASE_MAX - return BC_BASE_MAX; -#else - return -1; -#endif - - case _SC_BC_DIM_MAX: -#ifdef BC_DIM_MAX - return BC_DIM_MAX; -#else - return -1; -#endif - - case _SC_BC_SCALE_MAX: -#ifdef BC_SCALE_MAX - return BC_SCALE_MAX; -#else - return -1; -#endif - - case _SC_BC_STRING_MAX: -#ifdef BC_STRING_MAX - return BC_STRING_MAX; -#else - return -1; -#endif - - case _SC_EQUIV_CLASS_MAX: -#ifdef EQUIV_CLASS_MAX - return EQUIV_CLASS_MAX; -#else - return -1; -#endif - - case _SC_EXPR_NEST_MAX: -#ifdef EXPR_NEST_MAX - return EXPR_NEST_MAX; -#else - return -1; -#endif - - case _SC_LINE_MAX: -#ifdef LINE_MAX - return LINE_MAX; -#else - return -1; -#endif - - case _SC_RE_DUP_MAX: -#ifdef RE_DUP_MAX - return RE_DUP_MAX; -#else - return -1; -#endif - - case _SC_CHARCLASS_NAME_MAX: -#ifdef CHARCLASS_NAME_MAX - return CHARCLASS_NAME_MAX; -#else - return -1; -#endif - - case _SC_2_VERSION: - /* This is actually supposed to return the version - of the 1003.2 utilities on the system {POSIX2_VERSION}. */ - return _POSIX2_C_VERSION; - - case _SC_2_C_BIND: -#ifdef _POSIX2_C_BIND - return _POSIX2_C_BIND; -#else - return -1; -#endif - - case _SC_2_C_DEV: -#ifdef _POSIX2_C_DEV - return _POSIX2_C_DEV; -#else - return -1; -#endif - - case _SC_2_FORT_DEV: -#ifdef _POSIX2_FORT_DEV - return _POSIX2_FORT_DEV; -#else - return -1; -#endif - - case _SC_2_SW_DEV: -#ifdef _POSIX2_SW_DEV - return _POSIX2_SW_DEV; -#else - return -1; -#endif - } -} - -weak_alias (__sysconf, sysconf) -libc_hidden_def (__sysconf) diff --git a/sysdeps/unix/sysv/sysv4/sysconfig.h b/sysdeps/unix/sysv/sysv4/sysconfig.h deleted file mode 100644 index b51a3649a4..0000000000 --- a/sysdeps/unix/sysv/sysv4/sysconfig.h +++ /dev/null @@ -1,28 +0,0 @@ -/* `__sysconfig' NAME values. - Copyright (C) 1993, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __SYSCONFIG_H -#define __SYSCONFIG_H - -#define _CONFIG_OPEN_FILES 4 /* process limit on open files */ -#define _CONFIG_PAGESIZE 6 /* MMU page size */ -#define _CONFIG_CLK_TCK 7 /* all times are in CLK_TCKths of a second */ - -#endif diff --git a/sysdeps/unix/sysv/sysv4/system.c b/sysdeps/unix/sysv/sysv4/system.c deleted file mode 100644 index fbfe43f19a..0000000000 --- a/sysdeps/unix/sysv/sysv4/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* SVR4 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include <sysdeps/posix/system.c> diff --git a/sysdeps/unix/sysv/sysv4/waitpid.c b/sysdeps/unix/sysv/sysv4/waitpid.c deleted file mode 100644 index 23f9ceb029..0000000000 --- a/sysdeps/unix/sysv/sysv4/waitpid.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1993,94,95,96,97,2002,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <sys/wait.h> -#include <sys/types.h> -#include <stddef.h> -#include "siginfo.h" - -typedef enum __idtype - { - /* Look for processes based upon a given PID. */ - P_PID, - - /* Look for processes based upon a given process-group ID. */ - P_PGID = 2, - - /* Look for any process. */ - P_ALL = 7, - } __idtype_t; - -extern __pid_t __getpgid (__pid_t pid); -extern int __waitid (__idtype_t idtype, __pid_t id, - __siginfo_t *infop, int options); - -/* Wait for a child matching PID to die. - If PID is greater than 0, match any process whose process ID is PID. - If PID is (pid_t) -1, match any process. - If PID is (pid_t) 0, match any process with the - same process group as the current process. - If PID is less than -1, match any process whose - process group is the absolute value of PID. - If the WNOHANG bit is set in OPTIONS, and that child - is not already dead, return (pid_t) 0. If successful, - return PID and store the dead child's status in STAT_LOC. - Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS, - return status for stopped children; otherwise don't. */ - -__pid_t -__libc_waitpid (__pid_t pid, int *stat_loc, int options) -{ - __idtype_t idtype; - __pid_t tmp_pid = pid; - __siginfo_t infop; - - if (pid <= WAIT_MYPGRP) - { - if (pid == WAIT_ANY) - { - /* Request the status for any child. */ - idtype = P_ALL; - } - else if (pid == WAIT_MYPGRP) - { - /* Request the status for any child process that has - a pgid that's equal to that of our parent. */ - tmp_pid = __getpgid (0); - idtype = P_PGID; - } - else /* PID < -1 */ - { - /* Request the status for any child whose pgid is equal - to the absolute value of PID. */ - tmp_pid = pid & ~0; /* XXX not pseudo-insn */ - idtype = P_PGID; - } - } - else - { - /* Request the status for the child whose pid is PID. */ - idtype = P_PID; - } - - if (__waitid (idtype, tmp_pid, &infop, options | WEXITED | WTRAPPED) < 0) - return -1; - - switch (infop.__code) - { - case EXITED: - *stat_loc = W_EXITCODE (infop.__status, 0); - break; - case STOPPED: - case TRAPPED: - *stat_loc = W_STOPCODE (infop.__status); - break; - case KILLED: - /* Don't know what to do with continue, since it isn't documented. - Putting it here seemed the right place though. */ - case CONTINUED: - *stat_loc = infop.__status; - /* FALLTHROUGH */ - case CORED: - *stat_loc |= WCOREFLAG; - break; - } - - /* Return the PID out of the INFOP structure instead of the one we were - called with, to account for cases of being called with -1 to signify - any PID. */ - return infop.__pid; -} -weak_alias (__libc_waitpid, __waitpid) -weak_alias (__libc_waitpid, waitpid) -libc_hidden_weak (__waitpid) |