From: Roland McGrath Date: Fri, 25 Feb 1994 01:04:05 +0000 (+0000) Subject: entered into RCS X-Git-Tag: upstream/2.30~10627^2~4138 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10e51d0930a8a0bf13520f36fc3bd012b42264bb;p=external%2Fglibc.git entered into RCS --- diff --git a/sysdeps/unix/bsd/sun/sunos4/Implies b/sysdeps/unix/bsd/sun/sunos4/Implies new file mode 100644 index 0000000..c99e256 --- /dev/null +++ b/sysdeps/unix/bsd/sun/sunos4/Implies @@ -0,0 +1,2 @@ +# SunOS 4 has the canonical set of system calls. +unix/mman diff --git a/sysdeps/unix/bsd/sun/sunos4/sys/mman.h b/sysdeps/unix/bsd/sun/sunos4/sys/mman.h index 17fd8de..0e66416 100644 --- a/sysdeps/unix/bsd/sun/sunos4/sys/mman.h +++ b/sysdeps/unix/bsd/sun/sunos4/sys/mman.h @@ -17,10 +17,6 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* These are the bits used by 4.4 BSD and its derivatives. On systems - (such as GNU) where these facilities are not system services but can be - emulated in the C library, these are the definitions we emulate. */ - #ifndef _SYS_MMAN_H #define _SYS_MMAN_H 1 diff --git a/sysdeps/unix/bsd/ultrix4/Implies b/sysdeps/unix/bsd/ultrix4/Implies new file mode 100644 index 0000000..b0e08ef --- /dev/null +++ b/sysdeps/unix/bsd/ultrix4/Implies @@ -0,0 +1,2 @@ +# Ultrix 4 has the canonical set of system calls. +unix/mman diff --git a/sysdeps/unix/mips/wait.S b/sysdeps/unix/mips/wait.S index 05fdb60..2e9a259 100644 --- a/sysdeps/unix/mips/wait.S +++ b/sysdeps/unix/mips/wait.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1992 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1994 Free Software Foundation, Inc. Contributed by Brendan Kehoe (brendan@zen.org). The GNU C Library is free software; you can redistribute it and/or diff --git a/sysdeps/unix/sysv/irix4/Implies b/sysdeps/unix/sysv/irix4/Implies index 78437f6..35e1edd 100644 --- a/sysdeps/unix/sysv/irix4/Implies +++ b/sysdeps/unix/sysv/irix4/Implies @@ -1,2 +1,4 @@ # Irix 4 has the set of things which are also common to BSD and SVR4. unix/common +# Irix 4 has the canonical set of system calls. +unix/mman diff --git a/sysdeps/unix/sysv/irix4/confname.h b/sysdeps/unix/sysv/irix4/confname.h new file mode 100644 index 0000000..49d2f9c --- /dev/null +++ b/sysdeps/unix/sysv/irix4/confname.h @@ -0,0 +1,80 @@ +/* `sysconf', `pathconf', and `confstr' NAME values. Irix 4 version. +Copyright (C) 1994 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 Library General Public License as +published by the Free Software Foundation; either version 2 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +/* Values for the NAME argument to `pathconf' and `fpathconf'. */ +enum + { + _PC_LINK_MAX = 1, + _PC_MAX_CANON, + _PC_MAX_INPUT, + _PC_NAME_MAX, + _PC_PATH_MAX, + _PC_PIPE_BUF, + _PC_CHOWN_RESTRICTED, + _PC_NO_TRUNC, + _PC_VDISABLE + }; + +/* Values for the argument to `sysconf'. */ +enum + { + _SC_ARG_MAX = 1, + _SC_CHILD_MAX, + _SC_CLK_TCK, + _SC_NGROUPS_MAX, + _SC_OPEN_MAX, + _SC_JOB_CONTROL, + _SC_SAVED_IDS, + _SC_VERSION, + + /* Above are done by the Irix system call. + The rest are done by the C library (or are not really implemented). */ + + _SC_STREAM_MAX, + _SC_TZNAME_MAX, + _SC_PAGESIZE, + + /* Values for the argument to `sysconf' + corresponding to _POSIX2_* symbols. */ + _SC_BC_BASE_MAX, + _SC_BC_DIM_MAX, + _SC_BC_SCALE_MAX, + _SC_BC_STRING_MAX, + _SC_COLL_WEIGHTS_MAX, + _SC_EQUIV_CLASS_MAX, + _SC_EXPR_NEST_MAX, + _SC_LINE_MAX, + _SC_RE_DUP_MAX, + + _SC_2_VERSION, + _SC_2_C_BIND, + _SC_2_C_DEV, + _SC_2_FORT_DEV, + _SC_2_FORT_RUN, + _SC_2_SW_DEV, + _SC_2_LOCALEDEF + }; + +#ifdef __USE_POSIX2 +/* Values for the NAME argument to `confstr'. */ +enum + { + _CS_PATH /* The default search path. */ + }; +#endif diff --git a/sysdeps/unix/sysv/irix4/fpathconf.c b/sysdeps/unix/sysv/irix4/fpathconf.c new file mode 100644 index 0000000..be39d2f --- /dev/null +++ b/sysdeps/unix/sysv/irix4/fpathconf.c @@ -0,0 +1,32 @@ +/* Copyright (C) 1994 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 Library General Public License as +published by the Free Software Foundation; either version 2 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include +#include +#include + +extern int __syssgi __P ((int, ...)); + +/* Get file-specific information about descriptor FD. */ +long int +DEFUN(__fpathconf, (fd, name), int fd AND int name) +{ + return __syssgi (SGI_PATHCONF, FPATHCONF, fd, name); +} diff --git a/sysdeps/unix/sysv/irix4/gettimeofday.c b/sysdeps/unix/sysv/irix4/gettimeofday.c new file mode 100644 index 0000000..d92b3bb --- /dev/null +++ b/sysdeps/unix/sysv/irix4/gettimeofday.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/irix4/msync.S b/sysdeps/unix/sysv/irix4/msync.S new file mode 100644 index 0000000..75b9f15 --- /dev/null +++ b/sysdeps/unix/sysv/irix4/msync.S @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/irix4/pathconf.c b/sysdeps/unix/sysv/irix4/pathconf.c new file mode 100644 index 0000000..6e54661 --- /dev/null +++ b/sysdeps/unix/sysv/irix4/pathconf.c @@ -0,0 +1,32 @@ +/* Copyright (C) 1994 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 Library General Public License as +published by the Free Software Foundation; either version 2 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include +#include +#include + +extern int __syssgi __P ((int, ...)); + +/* Get file-specific information about PATH. */ +long int +DEFUN(__pathconf, (path, name), CONST char *path AND int name) +{ + return __syssgi (SGI_PATHCONF, PATHCONF, path, name); +} diff --git a/sysdeps/unix/sysv/irix4/reboot.c b/sysdeps/unix/sysv/irix4/reboot.c new file mode 100644 index 0000000..d7a3659 --- /dev/null +++ b/sysdeps/unix/sysv/irix4/reboot.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/irix4/setpriority.c b/sysdeps/unix/sysv/irix4/setpriority.c index ff9108b..a632953 100644 --- a/sysdeps/unix/sysv/irix4/setpriority.c +++ b/sysdeps/unix/sysv/irix4/setpriority.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1994 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,20 +21,21 @@ Cambridge, MA 02139, USA. */ #include #include -/* Return the highest priority of any process specified by WHICH and WHO - (see ); if WHO is zero, the current process, process group, - or user (as specified by WHO) is used. A lower priority number means higher - priority. Priorities range from PRIO_MIN to PRIO_MAX. */ int DEFUN(setpriority, (which, who, prio), enum __priority_which which AND int who AND int prio) { - if(which == PRIO_PROCESS) - return(sysmp(MP_SCHED, MPTS_GTNICE_PROC, who, prio)); - else if(which == PRIO_PGRP) - return(sysmp(MP_SCHED, MPTS_GTNICE_PGRP, who, prio)); - else if(which == PRIO_USER) - return(sysmp(MP_SCHED, MPTS_GTNICE_USER, who, prio)); + switch (which) + { + case PRIO_PROCESS: + return __sysmp (MP_SCHED, MPTS_RENICE_PROC, who, prio); + case PRIO_PGRP: + return __sysmp (MP_SCHED, MPTS_RENICE_PGRP, who, prio); + case PRIO_USER: + return __sysmp (MP_SCHED, MPTS_RENICE_USER, who, prio); + } + errno = EINVAL; return -1; } + diff --git a/sysdeps/unix/sysv/irix4/swapon.c b/sysdeps/unix/sysv/irix4/swapon.c new file mode 100644 index 0000000..86a638f --- /dev/null +++ b/sysdeps/unix/sysv/irix4/swapon.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/irix4/sys/mman.h b/sysdeps/unix/sysv/irix4/sys/mman.h new file mode 100644 index 0000000..ac50aab --- /dev/null +++ b/sysdeps/unix/sysv/irix4/sys/mman.h @@ -0,0 +1,101 @@ +/* Definitions for BSD-style memory management. Irix 4 version. +Copyright (C) 1994 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 Library General Public License as +published by the Free Software Foundation; either version 2 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#ifndef _SYS_MMAN_H + +#define _SYS_MMAN_H 1 +#include + +#include +#define __need_size_t +#include + + +/* Protections are chosen from these bits, OR'd together. The + implementation does not necessarily support PROT_EXEC or PROT_WRITE + without PROT_READ. The only guarantees are that no writing will be + allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ + +#define PROT_NONE 0x00 /* No access. */ +#define PROT_READ 0x04 /* Pages can be read. */ +#define PROT_WRITE 0x02 /* Pages can be written. */ +#define PROT_EXEC 0x01 /* Pages can be executed. */ +#define PROT_EXECUTE PROT_EXEC + + +/* Sharing types (must choose one and only one of these). */ +#define MAP_SHARED 0x01 /* Share changes. */ +#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ +#define MAP_TYPE 0x0f /* Mask for sharing type. */ + +/* Other flags. */ +#define MAP_FIXED 0x10 /* Map address must be exactly as requested. */ +#define MAP_RENAME 0x20 /* Rename private pages to file. */ +#define MAP_AUTOGROW 0x40 /* Grow file as pages are written. */ +#define MAP_LOCAL 0x80 /* Copy the mapped region on fork. */ + +/* Advice to `madvise'. */ +#define MADV_NORMAL 0 /* No further special treatment. */ +#define MADV_RANDOM 1 /* Expect random page references. */ +#define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +#define MADV_WILLNEED 3 /* Will need these pages. */ +#define MADV_DONTNEED 4 /* Don't need these pages. */ + +/* Flags to `msync'. */ +#define MS_ASYNC 0x1 /* Return immediately, don't fsync. */ +#define MS_INVALIDATE 0x2 /* Invalidate caches. */ + + +#include + +__BEGIN_DECLS +/* Map addresses starting near ADDR and extending for LEN bytes. from + OFFSET into the file FD describes according to PROT and FLAGS. If ADDR + is nonzero, it is the desired mapping address. If the MAP_FIXED bit is + set in FLAGS, the mapping will be at ADDR exactly (which must be + page-aligned); otherwise the system chooses a convenient nearby address. + The return value is the actual mapping address chosen or (caddr_t) -1 + for errors (in which case `errno' is set). A successful `mmap' call + deallocates any previous mapping for the affected region. */ + +__caddr_t mmap __P ((__caddr_t __addr, size_t __len, + int __prot, int __flags, int __fd, __off_t __offset)); + +/* Deallocate any mapping for the region starting at ADDR and extending LEN + bytes. Returns 0 if successful, -1 for errors (and sets errno). */ +int munmap __P ((__caddr_t __addr, size_t __len)); + +/* Change the memory protection of the region starting at ADDR and + extending LEN bytes to PROT. Returns 0 if successful, -1 for errors + (and sets errno). */ +int mprotect __P ((__caddr_t __addr, size_t __len, int __prot)); + +/* Synchronize the region starting at ADDR and extending LEN bytes with the + file it maps. Filesystem operations on a file being mapped are + unpredictable before this is done. */ +int msync __P ((caddr_t __addr, size_t __len, int __flags)); + +/* Advise the system about particular usage patterns the program follows + for the region starting at ADDR and extending LEN bytes. */ +int madvise __P ((__caddr_t __addr, size_t __len, int __advice)); + +__END_DECLS + + +#endif /* sys/mman.h */ diff --git a/sysdeps/unix/sysv/irix4/sysconf.c b/sysdeps/unix/sysv/irix4/sysconf.c index 03bb324..497c6a7 100644 --- a/sysdeps/unix/sysv/irix4/sysconf.c +++ b/sysdeps/unix/sysv/irix4/sysconf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1993 Free Software Foundation, Inc. +/* Copyright (C) 1994 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,11 +17,17 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include +#include #include +extern int __syssgi __P ((int, ...)); + /* Get the value of the system variable NAME. */ long int DEFUN(__sysconf, (name), int name) { - return syssgi(SGI_SYSCONF, name); + if (name == _SC_TZNAME_MAX) + return __tzname_max (); + + return __syssgi (SGI_SYSCONF, name); } diff --git a/sysdeps/unix/sysv/irix4/sysmp.S b/sysdeps/unix/sysv/irix4/sysmp.S index a7c06a5..438da60 100644 --- a/sysdeps/unix/sysv/irix4/sysmp.S +++ b/sysdeps/unix/sysv/irix4/sysmp.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1992 Free Software Foundation, Inc. +/* Copyright (C) 1994 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 @@ -18,5 +18,5 @@ Cambridge, MA 02139, USA. */ #include -SYSCALL (sysmp, 4) +SYSCALL__ (sysmp, 4) ret diff --git a/sysdeps/unix/sysv/irix4/syssgi.S b/sysdeps/unix/sysv/irix4/syssgi.S index 39b82ea..2715d28 100644 --- a/sysdeps/unix/sysv/irix4/syssgi.S +++ b/sysdeps/unix/sysv/irix4/syssgi.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1992 Free Software Foundation, Inc. +/* Copyright (C) 1994 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 @@ -18,5 +18,5 @@ Cambridge, MA 02139, USA. */ #include -SYSCALL (syssgi, 2) +SYSCALL__ (syssgi, 2) ret diff --git a/sysdeps/unix/sysv/irix4/uname.S b/sysdeps/unix/sysv/irix4/uname.S index a45c99b..fe91240 100644 --- a/sysdeps/unix/sysv/irix4/uname.S +++ b/sysdeps/unix/sysv/irix4/uname.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1992 Free Software Foundation, Inc. +/* Copyright (C) 1994 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 @@ -19,5 +19,8 @@ Cambridge, MA 02139, USA. */ #include ENTRY(uname) -SYSCALL (utssys, 1) - ret + li a2, 0 + li a3, 0 +SYSCALL__ (utssys, 1) + j ra + move v0, zero