Browse Source

Sync up mipsel headers

Eric Andersen 23 years ago
parent
commit
5a13dcba58
64 changed files with 896 additions and 937 deletions
  1. 8 8
      libc/sysdeps/linux/mips/bits/byteswap.h
  2. 8 11
      libc/sysdeps/linux/mips/bits/cmathcalls.h
  3. 106 47
      libc/sysdeps/linux/mips/bits/confname.h
  4. 11 20
      libc/sysdeps/linux/mips/bits/dirent.h
  5. 8 10
      libc/sysdeps/linux/mips/bits/dlfcn.h
  6. 32 16
      libc/sysdeps/linux/mips/bits/environments.h
  7. 9 15
      libc/sysdeps/linux/mips/bits/errno.h
  8. 9 9
      libc/sysdeps/linux/mips/bits/fcntl.h
  9. 8 8
      libc/sysdeps/linux/mips/bits/fenv.h
  10. 8 8
      libc/sysdeps/linux/mips/bits/huge_val.h
  11. 8 8
      libc/sysdeps/linux/mips/bits/in.h
  12. 10 9
      libc/sysdeps/linux/mips/bits/ioctl-types.h
  13. 8 8
      libc/sysdeps/linux/mips/bits/ioctls.h
  14. 22 43
      libc/sysdeps/linux/mips/bits/ipc.h
  15. 19 12
      libc/sysdeps/linux/mips/bits/libc-lock.h
  16. 0 3
      libc/sysdeps/linux/mips/bits/local_lim.h
  17. 8 8
      libc/sysdeps/linux/mips/bits/locale.h
  18. 9 17
      libc/sysdeps/linux/mips/bits/mathcalls.h
  19. 8 8
      libc/sysdeps/linux/mips/bits/mathdef.h
  20. 8 8
      libc/sysdeps/linux/mips/bits/mman.h
  21. 8 8
      libc/sysdeps/linux/mips/bits/msq.h
  22. 8 8
      libc/sysdeps/linux/mips/bits/nan.h
  23. 11 11
      libc/sysdeps/linux/mips/bits/netdb.h
  24. 8 13
      libc/sysdeps/linux/mips/bits/poll.h
  25. 8 8
      libc/sysdeps/linux/mips/bits/posix1_lim.h
  26. 8 8
      libc/sysdeps/linux/mips/bits/posix2_lim.h
  27. 2 1
      libc/sysdeps/linux/mips/bits/posix_opt.h
  28. 2 4
      libc/sysdeps/linux/mips/bits/pthreadtypes.h
  29. 8 8
      libc/sysdeps/linux/mips/bits/resource.h
  30. 8 8
      libc/sysdeps/linux/mips/bits/sched.h
  31. 8 8
      libc/sysdeps/linux/mips/bits/select.h
  32. 11 13
      libc/sysdeps/linux/mips/bits/sem.h
  33. 9 8
      libc/sysdeps/linux/mips/bits/setjmp.h
  34. 36 31
      libc/sysdeps/linux/mips/bits/shm.h
  35. 8 8
      libc/sysdeps/linux/mips/bits/sigaction.h
  36. 8 8
      libc/sysdeps/linux/mips/bits/sigcontext.h
  37. 9 9
      libc/sysdeps/linux/mips/bits/siginfo.h
  38. 8 8
      libc/sysdeps/linux/mips/bits/signum.h
  39. 8 11
      libc/sysdeps/linux/mips/bits/sigset.h
  40. 8 8
      libc/sysdeps/linux/mips/bits/sigstack.h
  41. 0 4
      libc/sysdeps/linux/mips/bits/sigthread.h
  42. 8 8
      libc/sysdeps/linux/mips/bits/sockaddr.h
  43. 19 14
      libc/sysdeps/linux/mips/bits/socket.h
  44. 8 8
      libc/sysdeps/linux/mips/bits/stat.h
  45. 8 8
      libc/sysdeps/linux/mips/bits/statfs.h
  46. 8 8
      libc/sysdeps/linux/mips/bits/statvfs.h
  47. 32 28
      libc/sysdeps/linux/mips/bits/stdio-lock.h
  48. 9 15
      libc/sysdeps/linux/mips/bits/stdio.h
  49. 8 8
      libc/sysdeps/linux/mips/bits/stdio_lim.h
  50. 121 124
      libc/sysdeps/linux/mips/bits/string2.h
  51. 8 8
      libc/sysdeps/linux/mips/bits/stropts.h
  52. 78 124
      libc/sysdeps/linux/mips/bits/termios.h
  53. 8 8
      libc/sysdeps/linux/mips/bits/time.h
  54. 8 27
      libc/sysdeps/linux/mips/bits/types.h
  55. 8 8
      libc/sysdeps/linux/mips/bits/uio.h
  56. 8 8
      libc/sysdeps/linux/mips/bits/ustat.h
  57. 9 8
      libc/sysdeps/linux/mips/bits/utmp.h
  58. 9 8
      libc/sysdeps/linux/mips/bits/utmpx.h
  59. 8 8
      libc/sysdeps/linux/mips/bits/utsname.h
  60. 8 8
      libc/sysdeps/linux/mips/bits/waitflags.h
  61. 8 8
      libc/sysdeps/linux/mips/bits/waitstatus.h
  62. 8 8
      libc/sysdeps/linux/mips/bits/wchar.h
  63. 8 8
      libc/sysdeps/linux/mips/bits/wordsize.h
  64. 8 8
      libc/sysdeps/linux/mips/bits/xopen_lim.h

+ 8 - 8
libc/sysdeps/linux/mips/bits/byteswap.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _BYTESWAP_H && !defined _NETINET_IN_H
 #if !defined _BYTESWAP_H && !defined _NETINET_IN_H
 # error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
 # error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."

+ 8 - 11
libc/sysdeps/linux/mips/bits/cmathcalls.h

@@ -4,19 +4,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /* NOTE: Because of the special way this file is used by <complex.h>, this
 /* NOTE: Because of the special way this file is used by <complex.h>, this
    file must NOT be protected from multiple inclusion as header files
    file must NOT be protected from multiple inclusion as header files
@@ -47,7 +47,6 @@
 
 
 #define _Mdouble_complex_ _Mdouble_ _Complex
 #define _Mdouble_complex_ _Mdouble_ _Complex
 
 
-__BEGIN_DECLS
 
 
 /* Trigonometric functions.  */
 /* Trigonometric functions.  */
 
 
@@ -157,5 +156,3 @@ __MATH_PRECNAME(conj) (_Mdouble_complex_ __z) __THROW
 }
 }
 
 
 #endif
 #endif
-
-__END_DECLS

+ 106 - 47
libc/sysdeps/linux/mips/bits/confname.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _UNISTD_H
 #ifndef _UNISTD_H
 # error "Never use <bits/confname.h> directly; include <unistd.h> instead."
 # error "Never use <bits/confname.h> directly; include <unistd.h> instead."
@@ -58,8 +58,12 @@ enum
 #define _PC_REC_MAX_XFER_SIZE		_PC_REC_MAX_XFER_SIZE
 #define _PC_REC_MAX_XFER_SIZE		_PC_REC_MAX_XFER_SIZE
     _PC_REC_MIN_XFER_SIZE,
     _PC_REC_MIN_XFER_SIZE,
 #define _PC_REC_MIN_XFER_SIZE		_PC_REC_MIN_XFER_SIZE
 #define _PC_REC_MIN_XFER_SIZE		_PC_REC_MIN_XFER_SIZE
-    _PC_REC_XFER_ALIGN
+    _PC_REC_XFER_ALIGN,
 #define _PC_REC_XFER_ALIGN		_PC_REC_XFER_ALIGN
 #define _PC_REC_XFER_ALIGN		_PC_REC_XFER_ALIGN
+    _PC_ALLOC_SIZE_MIN,
+#define _PC_ALLOC_SIZE_MIN		_PC_ALLOC_SIZE_MIN
+    _PC_SYMLINK_MAX
+#define _PC_SYMLINK_MAX			_PC_SYMLINK_MAX
   };
   };
 
 
 /* Values for the argument to `sysconf'.  */
 /* Values for the argument to `sysconf'.  */
@@ -384,8 +388,8 @@ enum
 #define _SC_FILE_SYSTEM			_SC_FILE_SYSTEM
 #define _SC_FILE_SYSTEM			_SC_FILE_SYSTEM
     _SC_MONOTONIC_CLOCK,
     _SC_MONOTONIC_CLOCK,
 #define _SC_MONOTONIC_CLOCK		_SC_MONOTONIC_CLOCK
 #define _SC_MONOTONIC_CLOCK		_SC_MONOTONIC_CLOCK
-    _SC_MULTIPLE_PROCESS,
+    _SC_MULTI_PROCESS,
-#define _SC_MULTIPLE_PROCESS		_SC_MULTIPLE_PROCESS
+#define _SC_MULTI_PROCESS		_SC_MULTI_PROCESS
     _SC_SINGLE_PROCESS,
     _SC_SINGLE_PROCESS,
 #define _SC_SINGLE_PROCESS		_SC_SINGLE_PROCESS
 #define _SC_SINGLE_PROCESS		_SC_SINGLE_PROCESS
     _SC_NETWORKING,
     _SC_NETWORKING,
@@ -430,12 +434,32 @@ enum
 #define _SC_2_PBS_MESSAGE		_SC_2_PBS_MESSAGE
 #define _SC_2_PBS_MESSAGE		_SC_2_PBS_MESSAGE
     _SC_2_PBS_TRACK,
     _SC_2_PBS_TRACK,
 #define _SC_2_PBS_TRACK			_SC_2_PBS_TRACK
 #define _SC_2_PBS_TRACK			_SC_2_PBS_TRACK
-    _SC_SYMLOOP,
+    _SC_SYMLOOP_MAX,
-#define _SC_SYMLOOP			_SC_SYMLOOP
+#define _SC_SYMLOOP_MAX			_SC_SYMLOOP_MAX
     _SC_STREAMS,
     _SC_STREAMS,
 #define _SC_STREAMS			_SC_STREAMS
 #define _SC_STREAMS			_SC_STREAMS
-    _SC_2_PBS_CHECKPOINT
+    _SC_2_PBS_CHECKPOINT,
 #define _SC_2_PBS_CHECKPOINT		_SC_2_PBS_CHECKPOINT
 #define _SC_2_PBS_CHECKPOINT		_SC_2_PBS_CHECKPOINT
+
+    _SC_V6_ILP32_OFF32,
+#define _SC_V6_ILP32_OFF32		_SC_V6_ILP32_OFF32
+    _SC_V6_ILP32_OFFBIG,
+#define _SC_V6_ILP32_OFFBIG		_SC_V6_ILP32_OFFBIG
+    _SC_V6_LP64_OFF64,
+#define _SC_V6_LP64_OFF64		_SC_V6_LP64_OFF64
+    _SC_V6_LPBIG_OFFBIG,
+#define _SC_V6_LPBIG_OFFBIG		_SC_V6_LPBIG_OFFBIG
+
+    _SC_HOST_NAME_MAX,
+#define _SC_HOST_NAME_MAX		_SC_HOST_NAME_MAX
+    _SC_TRACE,
+#define _SC_TRACE			_SC_TRACE
+    _SC_TRACE_EVENT_FILTER,
+#define _SC_TRACE_EVENT_FILTER		_SC_TRACE_EVENT_FILTER
+    _SC_TRACE_INHERIT,
+#define _SC_TRACE_INHERIT		_SC_TRACE_INHERIT
+    _SC_TRACE_LOG
+#define _SC_TRACE_LOG			_SC_TRACE_LOG
   };
   };
 
 
 #if (defined __USE_POSIX2 || defined __USE_UNIX98 \
 #if (defined __USE_POSIX2 || defined __USE_UNIX98 \
@@ -444,64 +468,99 @@ enum
 /* Values for the NAME argument to `confstr'.  */
 /* Values for the NAME argument to `confstr'.  */
 enum
 enum
   {
   {
-    _CS_PATH			/* The default search path.  */
+    _CS_PATH,			/* The default search path.  */
 #define _CS_PATH		_CS_PATH
 #define _CS_PATH		_CS_PATH
 
 
-#if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \
+# if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \
      || defined __USE_LARGEFILE)
      || defined __USE_LARGEFILE)
-    ,
     _CS_LFS_CFLAGS = 1000,
     _CS_LFS_CFLAGS = 1000,
-# define _CS_LFS_CFLAGS		_CS_LFS_CFLAGS
+#  define _CS_LFS_CFLAGS		_CS_LFS_CFLAGS
     _CS_LFS_LDFLAGS,
     _CS_LFS_LDFLAGS,
-# define _CS_LFS_LDFLAGS	_CS_LFS_LDFLAGS
+#  define _CS_LFS_LDFLAGS	_CS_LFS_LDFLAGS
     _CS_LFS_LIBS,
     _CS_LFS_LIBS,
-# define _CS_LFS_LIBS		_CS_LFS_LIBS
+#  define _CS_LFS_LIBS		_CS_LFS_LIBS
     _CS_LFS_LINTFLAGS,
     _CS_LFS_LINTFLAGS,
-# define _CS_LFS_LINTFLAGS	_CS_LFS_LINTFLAGS
+#  define _CS_LFS_LINTFLAGS	_CS_LFS_LINTFLAGS
     _CS_LFS64_CFLAGS,
     _CS_LFS64_CFLAGS,
-# define _CS_LFS64_CFLAGS	_CS_LFS64_CFLAGS
+#  define _CS_LFS64_CFLAGS	_CS_LFS64_CFLAGS
     _CS_LFS64_LDFLAGS,
     _CS_LFS64_LDFLAGS,
-# define _CS_LFS64_LDFLAGS	_CS_LFS64_LDFLAGS
+#  define _CS_LFS64_LDFLAGS	_CS_LFS64_LDFLAGS
     _CS_LFS64_LIBS,
     _CS_LFS64_LIBS,
-# define _CS_LFS64_LIBS		_CS_LFS64_LIBS
+#  define _CS_LFS64_LIBS		_CS_LFS64_LIBS
-    _CS_LFS64_LINTFLAGS
+    _CS_LFS64_LINTFLAGS,
-# define _CS_LFS64_LINTFLAGS	_CS_LFS64_LINTFLAGS
+#  define _CS_LFS64_LINTFLAGS	_CS_LFS64_LINTFLAGS
-#endif
+# endif
 
 
-#ifdef __USE_UNIX98
+# ifdef __USE_UNIX98
-    ,
     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
-# define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
+#  define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
     _CS_XBS5_ILP32_OFF32_LDFLAGS,
     _CS_XBS5_ILP32_OFF32_LDFLAGS,
-# define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
+#  define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
     _CS_XBS5_ILP32_OFF32_LIBS,
     _CS_XBS5_ILP32_OFF32_LIBS,
-# define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
+#  define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
     _CS_XBS5_ILP32_OFF32_LINTFLAGS,
     _CS_XBS5_ILP32_OFF32_LINTFLAGS,
-# define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
+#  define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
     _CS_XBS5_ILP32_OFFBIG_CFLAGS,
     _CS_XBS5_ILP32_OFFBIG_CFLAGS,
-# define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
+#  define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
     _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
     _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
-# define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
+#  define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
     _CS_XBS5_ILP32_OFFBIG_LIBS,
     _CS_XBS5_ILP32_OFFBIG_LIBS,
-# define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
+#  define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
-# define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+#  define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
     _CS_XBS5_LP64_OFF64_CFLAGS,
     _CS_XBS5_LP64_OFF64_CFLAGS,
-# define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
+#  define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
     _CS_XBS5_LP64_OFF64_LDFLAGS,
     _CS_XBS5_LP64_OFF64_LDFLAGS,
-# define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
+#  define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
     _CS_XBS5_LP64_OFF64_LIBS,
     _CS_XBS5_LP64_OFF64_LIBS,
-# define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
+#  define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
     _CS_XBS5_LP64_OFF64_LINTFLAGS,
     _CS_XBS5_LP64_OFF64_LINTFLAGS,
-# define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
+#  define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
     _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
     _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
-# define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
+#  define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
-# define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+#  define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
     _CS_XBS5_LPBIG_OFFBIG_LIBS,
     _CS_XBS5_LPBIG_OFFBIG_LIBS,
-# define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
+#  define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
-    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
-# define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+#  define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
-#endif
+# endif
+# ifdef __USE_XOPEN2K
+    _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
+#  define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
+    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
+#  define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+    _CS_POSIX_V6_ILP32_OFF32_LIBS,
+#  define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
+    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
+#  define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
+#  define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
+#  define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+    _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
+#  define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
+    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
+#  define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+    _CS_POSIX_V6_LP64_OFF64_CFLAGS,
+#  define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
+    _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
+#  define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
+    _CS_POSIX_V6_LP64_OFF64_LIBS,
+#  define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
+    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
+#  define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
+#  define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
+#  define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
+#  define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
+#  define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+# endif
+
+    _CS_V6_WIDTH_RESTRICTED_ENVS
+# define _CS_V6_WIDTH_RESTRICTED_ENVS	_CS_V6_WIDTH_RESTRICTED_ENVS
   };
   };
 #endif
 #endif

+ 11 - 20
libc/sysdeps/linux/mips/bits/dirent.h

@@ -2,29 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser 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., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/*
- * June 25, 2001
- *
- * Removed d_type support for dirent and undefined _DIRENT_HAVE_D_TYPE;
- * i.e. match the kernel structs and avoid any translation for now.
- * Note: glibc fakes d_type for the dirent case.
- * Note: dirent64 still has the d_type field.
- */
 
 
+   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
 #ifndef _DIRENT_H
 # error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
 # error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
@@ -40,6 +30,7 @@ struct dirent
     __off64_t d_off;
     __off64_t d_off;
 #endif
 #endif
     unsigned short int d_reclen;
     unsigned short int d_reclen;
+    /*unsigned char d_type;*/
     char d_name[256];		/* We must not include limits.h! */
     char d_name[256];		/* We must not include limits.h! */
   };
   };
 
 
@@ -49,7 +40,7 @@ struct dirent64
     __ino64_t d_ino;
     __ino64_t d_ino;
     __off64_t d_off;
     __off64_t d_off;
     unsigned short int d_reclen;
     unsigned short int d_reclen;
-    unsigned char d_type;
+    /*unsigned char d_type;*/
     char d_name[256];		/* We must not include limits.h! */
     char d_name[256];		/* We must not include limits.h! */
   };
   };
 #endif
 #endif
@@ -59,4 +50,4 @@ struct dirent64
 #undef  _DIRENT_HAVE_D_NAMLEN
 #undef  _DIRENT_HAVE_D_NAMLEN
 #define _DIRENT_HAVE_D_RECLEN
 #define _DIRENT_HAVE_D_RECLEN
 #define _DIRENT_HAVE_D_OFF
 #define _DIRENT_HAVE_D_OFF
-#undef  _DIRENT_HAVE_D_TYPE
+#undef _DIRENT_HAVE_D_TYPE

+ 8 - 10
libc/sysdeps/linux/mips/bits/dlfcn.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _DLFCN_H
 #ifndef _DLFCN_H
 # error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
 # error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
@@ -54,8 +54,6 @@
 # define DL_CALL_FCT(fctp, args) \
 # define DL_CALL_FCT(fctp, args) \
   (_dl_mcount_wrapper_check (fctp), (*(fctp)) args)
   (_dl_mcount_wrapper_check (fctp), (*(fctp)) args)
 
 
-__BEGIN_DECLS
 /* This function calls the profiling functions.  */
 /* This function calls the profiling functions.  */
 extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
 extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
-__END_DECLS
 #endif
 #endif

+ 32 - 16
libc/sysdeps/linux/mips/bits/environments.h

@@ -1,20 +1,20 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _UNISTD_H
 #ifndef _UNISTD_H
 # error "Never include this file directly.  Use <unistd.h> instead"
 # error "Never include this file directly.  Use <unistd.h> instead"
@@ -27,32 +27,48 @@
    `-1' means it is never supported.  Undefined means it cannot be
    `-1' means it is never supported.  Undefined means it cannot be
    statically decided.
    statically decided.
 
 
-   _XBS5_ILP32_OFF32	32bit int, long, pointers, and off_t type
+   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type
-   _XBS5_ILP32_OFFBIG	32bit int, long, and pointers and larger off_t type
+   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
 
 
-   _XBS5_LP64_OFF32	64bit long and pointers and 32bit off_t type
+   _POSIX_V6_LP64_OFF32	   64bit long and pointers and 32bit off_t type
-   _XBS5_LPBIG_OFFBIG	64bit long and pointers and large off_t type
+   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+
+   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
+   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
+   and are available only for compatibility.
 */
 */
 
 
 #if __WORDSIZE == 64
 #if __WORDSIZE == 64
 
 
 /* We can never provide environments with 32-bit wide pointers.  */
 /* We can never provide environments with 32-bit wide pointers.  */
+# define _POSIX_V6_ILP32_OFF32	-1
+# define _POSIX_V6_ILP32_OFFBIG	-1
 # define _XBS5_ILP32_OFF32	-1
 # define _XBS5_ILP32_OFF32	-1
 # define _XBS5_ILP32_OFFBIG	-1
 # define _XBS5_ILP32_OFFBIG	-1
+/* We also have no use (for now) for an environment with bigger pointers
+   and offsets.  */
+# define _POSIX_V6_LPBIG_OFFBIG	-1
+# define _XBS5_LPBIG_OFFBIG	-1
 
 
 /* By default we have 64-bit wide `long int', pointers and `off_t'.  */
 /* By default we have 64-bit wide `long int', pointers and `off_t'.  */
-# define _XBS5_LP64_OFF32	1
+# define _POSIX_V6_LP64_OFF64	1
-# define _XBS5_LPBIG_OFFBIG	1
+# define _XBS5_LP64_OFF64	1
 
 
 #else /* __WORDSIZE == 32 */
 #else /* __WORDSIZE == 32 */
 
 
-/* By default we have 32-bit wide `int', `long int', pointers and `off_t'.  */
+/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
+   and all platforms support LFS.  */
+# define _POSIX_V6_ILP32_OFF32	1
+# define _POSIX_V6_ILP32_OFFBIG	1
 # define _XBS5_ILP32_OFF32	1
 # define _XBS5_ILP32_OFF32	1
+# define _XBS5_ILP32_OFFBIG	1
 
 
 /* We optionally provide an environment with the above size but an 64-bit
 /* We optionally provide an environment with the above size but an 64-bit
    side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
    side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
 
 
 /* We can never provide environments with 64-bit wide pointers.  */
 /* We can never provide environments with 64-bit wide pointers.  */
+# define _POSIX_V6_LP64_OFF64	-1
+# define _POSIX_V6_LPBIG_OFFBIG	-1
 # define _XBS5_LP64_OFF64	-1
 # define _XBS5_LP64_OFF64	-1
 # define _XBS5_LPBIG_OFFBIG	-1
 # define _XBS5_LPBIG_OFFBIG	-1
 
 

+ 9 - 15
libc/sysdeps/linux/mips/bits/errno.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifdef _ERRNO_H
 #ifdef _ERRNO_H
 
 
@@ -28,14 +28,11 @@
 # define ENOTSUP EOPNOTSUPP
 # define ENOTSUP EOPNOTSUPP
 
 
 # ifndef __ASSEMBLER__
 # ifndef __ASSEMBLER__
-
-__BEGIN_DECLS
-
 /* We now need a declaration of the `errno' variable.  */
 /* We now need a declaration of the `errno' variable.  */
 extern int errno;
 extern int errno;
 
 
 /* Function to get address of global `errno' variable.  */
 /* Function to get address of global `errno' variable.  */
-extern int *__errno_location (void);
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
 
 
 #  if defined _LIBC
 #  if defined _LIBC
 /* We wouldn't need a special macro anymore but it is history.  */
 /* We wouldn't need a special macro anymore but it is history.  */
@@ -46,9 +43,6 @@ extern int *__errno_location (void);
 /* When using threads, errno is a per-thread value.  */
 /* When using threads, errno is a per-thread value.  */
 #   define errno (*__errno_location ())
 #   define errno (*__errno_location ())
 #  endif
 #  endif
-
-__END_DECLS
-
 # endif /* !__ASSEMBLER__ */
 # endif /* !__ASSEMBLER__ */
 #endif /* _ERRNO_H */
 #endif /* _ERRNO_H */
 
 

+ 9 - 9
libc/sysdeps/linux/mips/bits/fcntl.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.	*/
+   02111-1307 USA.  */
 
 
 #ifndef _FCNTL_H
 #ifndef _FCNTL_H
 # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
 # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/fenv.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _FENV_H
 #ifndef _FENV_H
 # error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
 # error "Never use <bits/fenv.h> directly; include <fenv.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/huge_val.h

@@ -4,19 +4,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _MATH_H
 #ifndef _MATH_H
 # error "Never use <bits/huge_val.h> directly; include <math.h> instead."
 # error "Never use <bits/huge_val.h> directly; include <math.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/in.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /* Linux version.  */
 /* Linux version.  */
 
 

+ 10 - 9
libc/sysdeps/linux/mips/bits/ioctl-types.h

@@ -1,21 +1,21 @@
 /* Structure types for pre-termios terminal ioctls.  Linux/MIPS version.
 /* Structure types for pre-termios terminal ioctls.  Linux/MIPS version.
-   Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_IOCTL_H
 #ifndef _SYS_IOCTL_H
 # error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
 # error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
@@ -73,3 +73,4 @@ struct termio
 #define N_SMSBLOCK	12	/* SMS block mode  */
 #define N_SMSBLOCK	12	/* SMS block mode  */
 #define N_HDLC		13	/* synchronous HDLC  */
 #define N_HDLC		13	/* synchronous HDLC  */
 #define N_SYNC_PPP	14	/* synchronous PPP  */
 #define N_SYNC_PPP	14	/* synchronous PPP  */
+#define	N_HCI		15	/* Bluetooth HCI UART  */

+ 8 - 8
libc/sysdeps/linux/mips/bits/ioctls.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_IOCTL_H
 #ifndef _SYS_IOCTL_H
 # error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
 # error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."

+ 22 - 43
libc/sysdeps/linux/mips/bits/ipc.h

@@ -1,30 +1,30 @@
-/* Copyright (C) 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_IPC_H
 #ifndef _SYS_IPC_H
 # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
 # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
 #endif
 #endif
 
 
-#include <sys/types.h>
+#include <bits/types.h>
 
 
 /* Mode bits for `msgget', `semget', and `shmget'.  */
 /* Mode bits for `msgget', `semget', and `shmget'.  */
 #define IPC_CREAT	01000		/* Create key if key does not exist. */
 #define IPC_CREAT	01000		/* Create key if key does not exist. */
-#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_EXCL	02000		/* Fail if key exists.	*/
 #define IPC_NOWAIT	04000		/* Return error on wait.  */
 #define IPC_NOWAIT	04000		/* Return error on wait.  */
 
 
 /* Control commands for `msgctl', `semctl', and `shmctl'.  */
 /* Control commands for `msgctl', `semctl', and `shmctl'.  */
@@ -35,42 +35,21 @@
 # define IPC_INFO	3		/* See ipcs.  */
 # define IPC_INFO	3		/* See ipcs.  */
 #endif
 #endif
 
 
-/* Special key values.  */
+/* Special key values.	*/
-#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.	 */
 
 
 
 
 /* Data structure used to pass permission information to IPC operations.  */
 /* Data structure used to pass permission information to IPC operations.  */
 struct ipc_perm
 struct ipc_perm
   {
   {
     __key_t __key;			/* Key.  */
     __key_t __key;			/* Key.  */
-    long int uid;			/* Owner's user ID.  */
+    unsigned int uid;			/* Owner's user ID.  */
-    long int gid;			/* Owner's group ID.  */
+    unsigned int gid;			/* Owner's group ID.  */
-    long int cuid;			/* Creator's user ID.  */
+    unsigned int cuid;			/* Creator's user ID.  */
-    long int cgid;			/* Creator's group ID.  */
+    unsigned int cgid;			/* Creator's group ID.	*/
-    unsigned long int mode;		/* Read/write permission.  */
+    unsigned int mode;			/* Read/write permission.  */
     unsigned short int __seq;		/* Sequence number.  */
     unsigned short int __seq;		/* Sequence number.  */
-  };
+    unsigned short int __pad1;
-
+    unsigned long int __unused1;
-
+    unsigned long int __unused2;
-__BEGIN_DECLS
+};
-
-/* The actual system call: all functions are multiplexed by this.  */
-extern int __ipc (int __call, int __first, int __second, int __third,
-		  void *__ptr);
-
-__END_DECLS
-
-#ifdef __USE_GNU
-/* The codes for the functions to use the multiplexer `__ipc'.  */
-# define IPCOP_semop	 1
-# define IPCOP_semget	 2
-# define IPCOP_semctl	 3
-# define IPCOP_msgsnd	11
-# define IPCOP_msgrcv	12
-# define IPCOP_msgget	13
-# define IPCOP_msgctl	14
-# define IPCOP_shmat	21
-# define IPCOP_shmdt	22
-# define IPCOP_shmget	23
-# define IPCOP_shmctl	24
-#endif

+ 19 - 12
libc/sysdeps/linux/mips/bits/libc-lock.h

@@ -23,11 +23,17 @@
 #include <pthread.h>
 #include <pthread.h>
 
 
 /* Mutex type.  */
 /* Mutex type.  */
-#ifdef _LIBC
+#if defined(_LIBC) || defined(_IO_MTSAFE_IO)
 typedef pthread_mutex_t __libc_lock_t;
 typedef pthread_mutex_t __libc_lock_t;
+typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t;
+# ifdef __USE_UNIX98
 typedef pthread_rwlock_t __libc_rwlock_t;
 typedef pthread_rwlock_t __libc_rwlock_t;
+# else
+typedef struct __libc_rwlock_opaque__ __libc_rwlock_t;
+# endif
 #else
 #else
 typedef struct __libc_lock_opaque__ __libc_lock_t;
 typedef struct __libc_lock_opaque__ __libc_lock_t;
+typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
 typedef struct __libc_rwlock_opaque__ __libc_rwlock_t;
 typedef struct __libc_rwlock_opaque__ __libc_rwlock_t;
 #endif
 #endif
 
 
@@ -45,6 +51,8 @@ typedef pthread_key_t __libc_key_t;
   CLASS __libc_lock_t NAME;
   CLASS __libc_lock_t NAME;
 #define __libc_rwlock_define(CLASS,NAME) \
 #define __libc_rwlock_define(CLASS,NAME) \
   CLASS __libc_rwlock_t NAME;
   CLASS __libc_rwlock_t NAME;
+#define __libc_lock_define_recursive(CLASS,NAME) \
+  CLASS __libc_lock_recursive_t NAME;
 
 
 /* Define an initialized lock variable NAME with storage class CLASS.
 /* Define an initialized lock variable NAME with storage class CLASS.
 
 
@@ -69,7 +77,9 @@ typedef pthread_key_t __libc_key_t;
 /* Define an initialized recursive lock variable NAME with storage
 /* Define an initialized recursive lock variable NAME with storage
    class CLASS.  */
    class CLASS.  */
 #define __libc_lock_define_initialized_recursive(CLASS,NAME) \
 #define __libc_lock_define_initialized_recursive(CLASS,NAME) \
-  CLASS __libc_lock_t NAME = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+  CLASS __libc_lock_recursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER;
+#define _LIBC_LOCK_RECURSIVE_INITIALIZER \
+  {PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP}
 
 
 /* Initialize the named lock variable, leaving it in a consistent, unlocked
 /* Initialize the named lock variable, leaving it in a consistent, unlocked
    state.  */
    state.  */
@@ -86,7 +96,7 @@ typedef pthread_key_t __libc_key_t;
 	pthread_mutexattr_t __attr;					      \
 	pthread_mutexattr_t __attr;					      \
 	__pthread_mutexattr_init (&__attr);				      \
 	__pthread_mutexattr_init (&__attr);				      \
 	__pthread_mutexattr_settype (&__attr, PTHREAD_MUTEX_RECURSIVE_NP); \
 	__pthread_mutexattr_settype (&__attr, PTHREAD_MUTEX_RECURSIVE_NP); \
-	__pthread_mutex_init (&(NAME), &__attr);			      \
+	__pthread_mutex_init (&(NAME).mutex, &__attr);			      \
 	__pthread_mutexattr_destroy (&__attr);				      \
 	__pthread_mutexattr_destroy (&__attr);				      \
       }									      \
       }									      \
   } while (0);
   } while (0);
@@ -100,7 +110,7 @@ typedef pthread_key_t __libc_key_t;
   (__pthread_rwlock_destroy != NULL ? __pthread_rwlock_destroy (&(NAME)) : 0);
   (__pthread_rwlock_destroy != NULL ? __pthread_rwlock_destroy (&(NAME)) : 0);
 
 
 /* Finalize recursive named lock.  */
 /* Finalize recursive named lock.  */
-#define __libc_lock_fini_recursive(NAME) __libc_lock_fini (NAME)
+#define __libc_lock_fini_recursive(NAME) __libc_lock_fini ((NAME).mutex)
 
 
 /* Lock the named lock variable.  */
 /* Lock the named lock variable.  */
 #define __libc_lock_lock(NAME) \
 #define __libc_lock_lock(NAME) \
@@ -111,7 +121,7 @@ typedef pthread_key_t __libc_key_t;
   (__pthread_rwlock_wrlock != NULL ? __pthread_rwlock_wrlock (&(NAME)) : 0);
   (__pthread_rwlock_wrlock != NULL ? __pthread_rwlock_wrlock (&(NAME)) : 0);
 
 
 /* Lock the recursive named lock variable.  */
 /* Lock the recursive named lock variable.  */
-#define __libc_lock_lock_recursive(NAME) __libc_lock_lock (NAME)
+#define __libc_lock_lock_recursive(NAME) __libc_lock_lock ((NAME).mutex)
 
 
 /* Try to lock the named lock variable.  */
 /* Try to lock the named lock variable.  */
 #define __libc_lock_trylock(NAME) \
 #define __libc_lock_trylock(NAME) \
@@ -124,7 +134,7 @@ typedef pthread_key_t __libc_key_t;
    ? __pthread_rwlock_trywrlock (&(NAME)) : 0)
    ? __pthread_rwlock_trywrlock (&(NAME)) : 0)
 
 
 /* Try to lock the recursive named lock variable.  */
 /* Try to lock the recursive named lock variable.  */
-#define __libc_lock_trylock_recursive(NAME) __libc_lock_trylock (NAME)
+#define __libc_lock_trylock_recursive(NAME) __libc_lock_trylock ((NAME).mutex)
 
 
 /* Unlock the named lock variable.  */
 /* Unlock the named lock variable.  */
 #define __libc_lock_unlock(NAME) \
 #define __libc_lock_unlock(NAME) \
@@ -133,7 +143,7 @@ typedef pthread_key_t __libc_key_t;
   (__pthread_rwlock_unlock != NULL ? __pthread_rwlock_unlock (&(NAME)) : 0);
   (__pthread_rwlock_unlock != NULL ? __pthread_rwlock_unlock (&(NAME)) : 0);
 
 
 /* Unlock the recursive named lock variable.  */
 /* Unlock the recursive named lock variable.  */
-#define __libc_lock_unlock_recursive(NAME) __libc_lock_unlock (NAME)
+#define __libc_lock_unlock_recursive(NAME) __libc_lock_unlock ((NAME).mutex)
 
 
 
 
 /* Define once control variable.  */
 /* Define once control variable.  */
@@ -160,9 +170,9 @@ typedef pthread_key_t __libc_key_t;
 
 
 
 
 /* Start critical region with cleanup.  */
 /* Start critical region with cleanup.  */
-#define __libc_cleanup_region_start(FCT, ARG) \
+#define __libc_cleanup_region_start(DOIT, FCT, ARG) \
   { struct _pthread_cleanup_buffer _buffer;				      \
   { struct _pthread_cleanup_buffer _buffer;				      \
-    int _avail = _pthread_cleanup_push_defer != NULL;			      \
+    int _avail = (DOIT) && _pthread_cleanup_push_defer != NULL;		      \
     if (_avail) {							      \
     if (_avail) {							      \
       _pthread_cleanup_push_defer (&_buffer, (FCT), (ARG));		      \
       _pthread_cleanup_push_defer (&_buffer, (FCT), (ARG));		      \
     }
     }
@@ -200,8 +210,6 @@ typedef pthread_key_t __libc_key_t;
 /* Functions that are used by this file and are internal to the GNU C
 /* Functions that are used by this file and are internal to the GNU C
    library.  */
    library.  */
 
 
-__BEGIN_DECLS
-
 extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
 extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
 				 __const pthread_mutexattr_t *__mutex_attr);
 				 __const pthread_mutexattr_t *__mutex_attr);
 
 
@@ -252,7 +260,6 @@ extern int __pthread_atfork (void (*__prepare) (void),
 			     void (*__parent) (void),
 			     void (*__parent) (void),
 			     void (*__child) (void));
 			     void (*__child) (void));
 
 
-__END_DECLS
 
 
 
 
 /* Make the pthread functions weak so that we can elide them from
 /* Make the pthread functions weak so that we can elide them from

+ 0 - 3
libc/sysdeps/linux/mips/bits/local_lim.h

@@ -28,12 +28,9 @@
 #ifndef LINK_MAX
 #ifndef LINK_MAX
 # define __undef_LINK_MAX
 # define __undef_LINK_MAX
 #endif
 #endif
-/* uClibc likes to have a definition of OPEN_MAX */
-#if 0
 #ifndef OPEN_MAX
 #ifndef OPEN_MAX
 # define __undef_OPEN_MAX
 # define __undef_OPEN_MAX
 #endif
 #endif
-#endif
 
 
 /* The kernel sources contain a file with all the needed information.  */
 /* The kernel sources contain a file with all the needed information.  */
 #include <linux/limits.h>
 #include <linux/limits.h>

+ 8 - 8
libc/sysdeps/linux/mips/bits/locale.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _LOCALE_H && !defined _LANGINFO_H
 #if !defined _LOCALE_H && !defined _LANGINFO_H
 # error "Never use <bits/locale.h> directly; include <locale.h> instead."
 # error "Never use <bits/locale.h> directly; include <locale.h> instead."

+ 9 - 17
libc/sysdeps/linux/mips/bits/mathcalls.h

@@ -1,21 +1,21 @@
 /* Prototype declarations for math functions; helper file for <math.h>.
 /* Prototype declarations for math functions; helper file for <math.h>.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /* NOTE: Because of the special way this file is used by <math.h>, this
 /* NOTE: Because of the special way this file is used by <math.h>, this
    file must NOT be protected from multiple inclusion as header files
    file must NOT be protected from multiple inclusion as header files
@@ -186,14 +186,6 @@ __MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
 /* Return nonzero if VALUE is finite and not NaN.  */
 /* Return nonzero if VALUE is finite and not NaN.  */
 __MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
 __MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
 
 
-/* Deal with an infinite or NaN result.
-   If ERROR is ERANGE, result is +Inf;
-   if ERROR is - ERANGE, result is -Inf;
-   otherwise result is NaN.
-   This will set `errno' to either ERANGE or EDOM,
-   and may return an infinity or NaN, or may do something else.  */
-__MATHCALLX (infnan,, (int __error), (__const__));
-
 /* Return the remainder of X/Y.  */
 /* Return the remainder of X/Y.  */
 __MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
 __MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
 
 

+ 8 - 8
libc/sysdeps/linux/mips/bits/mathdef.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _MATH_H && !defined _COMPLEX_H
 #if !defined _MATH_H && !defined _COMPLEX_H
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"

+ 8 - 8
libc/sysdeps/linux/mips/bits/mman.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_MMAN_H
 #ifndef _SYS_MMAN_H
 # error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
 # error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/msq.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_MSG_H
 #ifndef _SYS_MSG_H
 # error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
 # error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/nan.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _MATH_H
 #ifndef _MATH_H
 # error "Never use <bits/nan.h> directly; include <math.h> instead."
 # error "Never use <bits/nan.h> directly; include <math.h> instead."

+ 11 - 11
libc/sysdeps/linux/mips/bits/netdb.h

@@ -1,20 +1,20 @@
 /* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 /* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
-   The GNU C Library is free software; you can redistribute it
+   The GNU C Library is free software; you can redistribute it and/or
-   and/or modify it under the terms of the GNU Library General Public
+   modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
+   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
+   The GNU C Library is distributed in the hope that it will be useful,
-   useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   GNU Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If
+   License along with the GNU C Library; if not, write to the Free
-   not, write to the Free Software Foundation, Inc., 59 Temple Place -
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Suite 330, Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _NETDB_H
 #ifndef _NETDB_H
 # error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
 # error "Never include <bits/netdb.h> directly; use <netdb.h> instead."

+ 8 - 13
libc/sysdeps/linux/mips/bits/poll.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_POLL_H
 #ifndef _SYS_POLL_H
 # error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
 # error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
@@ -46,8 +46,3 @@
 #define POLLERR		0x008		/* Error condition.  */
 #define POLLERR		0x008		/* Error condition.  */
 #define POLLHUP		0x010		/* Hung up.  */
 #define POLLHUP		0x010		/* Hung up.  */
 #define POLLNVAL	0x020		/* Invalid polling request.  */
 #define POLLNVAL	0x020		/* Invalid polling request.  */
-
-#ifdef __USE_MISC
-/* Canonical number of polling requests to read in at a time in poll.  */
-# define NPOLLFILE	30
-#endif

+ 8 - 8
libc/sysdeps/linux/mips/bits/posix1_lim.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /*
 /*
  *	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
  *	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>

+ 8 - 8
libc/sysdeps/linux/mips/bits/posix2_lim.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /*
 /*
  * Never include this file directly; include <limits.h> instead.
  * Never include this file directly; include <limits.h> instead.

+ 2 - 1
libc/sysdeps/linux/mips/bits/posix_opt.h

@@ -1,5 +1,5 @@
 /* Define POSIX options for Linux.
 /* Define POSIX options for Linux.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    The GNU C Library is free software; you can redistribute it and/or
@@ -96,6 +96,7 @@
 
 
 /* We support asynchronous I/O.  */
 /* We support asynchronous I/O.  */
 #define _POSIX_ASYNCHRONOUS_IO	1
 #define _POSIX_ASYNCHRONOUS_IO	1
+#define _POSIX_ASYNC_IO		1
 /* Alternative name for Unix98.  */
 /* Alternative name for Unix98.  */
 #define _LFS_ASYNCHRONOUS_IO	1
 #define _LFS_ASYNCHRONOUS_IO	1
 
 

+ 2 - 4
libc/sysdeps/linux/mips/bits/pthreadtypes.h

@@ -22,14 +22,12 @@
 #define __need_schedparam
 #define __need_schedparam
 #include <bits/sched.h>
 #include <bits/sched.h>
 
 
-typedef int _lt_spinlock_t;
-
 /* Fast locks (not abstract because mutexes and conditions aren't abstract). */
 /* Fast locks (not abstract because mutexes and conditions aren't abstract). */
 struct _pthread_fastlock
 struct _pthread_fastlock
 {
 {
   long int __status;   /* "Free" or "taken" or head of waiting list */
   long int __status;   /* "Free" or "taken" or head of waiting list */
-  _lt_spinlock_t __spinlock; /* Used by compare_and_swap emulation. Also,
+  int __spinlock;      /* Used by compare_and_swap emulation. Also,
-				adaptive SMP lock stores spin count here. */
+			  adaptive SMP lock stores spin count here. */
 };
 };
 
 
 #ifndef _PTHREAD_DESCR_DEFINED
 #ifndef _PTHREAD_DESCR_DEFINED

+ 8 - 8
libc/sysdeps/linux/mips/bits/resource.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_RESOURCE_H
 #ifndef _SYS_RESOURCE_H
 # error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
 # error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/sched.h

@@ -4,19 +4,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef __need_schedparam
 #ifndef __need_schedparam
 
 

+ 8 - 8
libc/sysdeps/linux/mips/bits/select.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_SELECT_H
 #ifndef _SYS_SELECT_H
 # error "Never use <bits/select.h> directly; include <sys/select.h> instead."
 # error "Never use <bits/select.h> directly; include <sys/select.h> instead."

+ 11 - 13
libc/sysdeps/linux/mips/bits/sem.h

@@ -1,20 +1,20 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_SEM_H
 #ifndef _SYS_SEM_H
 # error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
 # error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
@@ -40,12 +40,10 @@ struct semid_ds
 {
 {
   struct ipc_perm sem_perm;		/* operation permission struct */
   struct ipc_perm sem_perm;		/* operation permission struct */
   __time_t sem_otime;			/* last semop() time */
   __time_t sem_otime;			/* last semop() time */
-  unsigned long int __unused1;
   __time_t sem_ctime;			/* last time changed by semctl() */
   __time_t sem_ctime;			/* last time changed by semctl() */
-  unsigned long int __unused2;
   unsigned long int sem_nsems;		/* number of semaphores in set */
   unsigned long int sem_nsems;		/* number of semaphores in set */
-  unsigned long int __unused3;
+  unsigned long int __unused1;
-  unsigned long int __unused4;
+  unsigned long int __unused2;
 };
 };
 
 
 /* The user should define a union like the following to use it for arguments
 /* The user should define a union like the following to use it for arguments

+ 9 - 8
libc/sysdeps/linux/mips/bits/setjmp.h

@@ -1,20 +1,21 @@
 /* Define the machine-dependent type `jmp_buf'.  MIPS version.
 /* Define the machine-dependent type `jmp_buf'.  MIPS version.
    Copyright (C) 1992,93,95,97,2000 Free Software Foundation, Inc.
    Copyright (C) 1992,93,95,97,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
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SETJMP_H
 #ifndef _SETJMP_H
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."

+ 36 - 31
libc/sysdeps/linux/mips/bits/shm.h

@@ -1,26 +1,26 @@
-/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_SHM_H
 #ifndef _SYS_SHM_H
 # error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
 # error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
 #endif
 #endif
 
 
-#include <sys/types.h>
+#include <bits/types.h>
 
 
 /* Permission flag for shmget.  */
 /* Permission flag for shmget.  */
 #define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
 #define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
@@ -35,50 +35,55 @@
 #define SHM_LOCK	11		/* lock segment (root only) */
 #define SHM_LOCK	11		/* lock segment (root only) */
 #define SHM_UNLOCK	12		/* unlock segment (root only) */
 #define SHM_UNLOCK	12		/* unlock segment (root only) */
 
 
+/* Type to count number of attaches.  */
+typedef unsigned long int shmatt_t;
 
 
 /* Data structure describing a set of semaphores.  */
 /* Data structure describing a set of semaphores.  */
 struct shmid_ds
 struct shmid_ds
   {
   {
     struct ipc_perm shm_perm;		/* operation permission struct */
     struct ipc_perm shm_perm;		/* operation permission struct */
-    int shm_segsz;			/* size of segment in bytes */
+    size_t shm_segsz;			/* size of segment in bytes */
     __time_t shm_atime;			/* time of last shmat() */
     __time_t shm_atime;			/* time of last shmat() */
     __time_t shm_dtime;			/* time of last shmdt() */
     __time_t shm_dtime;			/* time of last shmdt() */
     __time_t shm_ctime;			/* time of last change by shmctl() */
     __time_t shm_ctime;			/* time of last change by shmctl() */
-    long int shm_cpid;			/* pid of creator */
+    __pid_t shm_cpid;			/* pid of creator */
-    long int shm_lpid;			/* pid of last shmop */
+    __pid_t shm_lpid;			/* pid of last shmop */
-    unsigned short int shm_nattch;	/* number of current attaches */
+    shmatt_t shm_nattch;		/* number of current attaches */
-    unsigned short int __shm_npages;	/* size of segment (pages) */
+    unsigned long int __unused1;
-    unsigned long int *__shm_pages;	/* array of ptrs to frames -> SHMMAX */
+    unsigned long int __unused2;
-    struct vm_area_struct *__attaches; /* descriptors for attaches */
   };
   };
 
 
 #ifdef __USE_MISC
 #ifdef __USE_MISC
 
 
 /* ipcs ctl commands */
 /* ipcs ctl commands */
-# define SHM_STAT 	13
+# define SHM_STAT	13
-# define SHM_INFO 	14
+# define SHM_INFO	14
 
 
 /* shm_mode upper byte flags */
 /* shm_mode upper byte flags */
 # define SHM_DEST	01000	/* segment will be destroyed on last detach */
 # define SHM_DEST	01000	/* segment will be destroyed on last detach */
 # define SHM_LOCKED	02000   /* segment will not be swapped */
 # define SHM_LOCKED	02000   /* segment will not be swapped */
 
 
-struct	shminfo
+struct shminfo
   {
   {
-    int shmmax;
+    unsigned long int shmmax;
-    int shmmin;
+    unsigned long int shmmin;
-    int shmmni;
+    unsigned long int shmmni;
-    int shmseg;
+    unsigned long int shmseg;
-    int shmall;
+    unsigned long int shmall;
+    unsigned long int __unused1;
+    unsigned long int __unused2;
+    unsigned long int __unused3;
+    unsigned long int __unused4;
   };
   };
 
 
 struct shm_info
 struct shm_info
   {
   {
-    int   used_ids;
+    int used_ids;
-    ulong shm_tot;	/* total allocated shm */
+    unsigned long int shm_tot;  /* total allocated shm */
-    ulong shm_rss;	/* total resident shm */
+    unsigned long int shm_rss;  /* total resident shm */
-    ulong shm_swp;	/* total swapped shm */
+    unsigned long int shm_swp;  /* total swapped shm */
-    ulong swap_attempts;
+    unsigned long int swap_attempts;
-    ulong swap_successes;
+    unsigned long int swap_successes;
   };
   };
 
 
 #endif /* __USE_MISC */
 #endif /* __USE_MISC */

+ 8 - 8
libc/sysdeps/linux/mips/bits/sigaction.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SIGNAL_H
 #ifndef _SIGNAL_H
 # error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
 # error "Never include <bits/sigaction.h> directly; use <signal.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/sigcontext.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
 #if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."

+ 9 - 9
libc/sysdeps/linux/mips/bits/siginfo.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _SIGNAL_H && !defined __need_siginfo_t \
 #if !defined _SIGNAL_H && !defined __need_siginfo_t \
     && !defined __need_sigevent_t
     && !defined __need_sigevent_t
@@ -45,9 +45,9 @@ typedef union sigval
 typedef struct siginfo
 typedef struct siginfo
   {
   {
     int si_signo;		/* Signal number.  */
     int si_signo;		/* Signal number.  */
+    int si_code;		/* Signal code.  */
     int si_errno;		/* If non-zero, an errno value associated with
     int si_errno;		/* If non-zero, an errno value associated with
 				   this signal, as defined in <errno.h>.  */
 				   this signal, as defined in <errno.h>.  */
-    int si_code;		/* Signal code.  */
 
 
     union
     union
       {
       {

+ 8 - 8
libc/sysdeps/linux/mips/bits/signum.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifdef	_SIGNAL_H
 #ifdef	_SIGNAL_H
 
 

+ 8 - 11
libc/sysdeps/linux/mips/bits/sigset.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef	_SIGSET_H_types
 #ifndef	_SIGSET_H_types
 # define _SIGSET_H_types	1
 # define _SIGSET_H_types	1
@@ -97,8 +97,6 @@ typedef struct
 #  endif
 #  endif
 # endif
 # endif
 
 
-__BEGIN_DECLS
-
 /* These functions needn't check for a bogus signal number -- error
 /* These functions needn't check for a bogus signal number -- error
    checking is done in the non __ versions.  */
    checking is done in the non __ versions.  */
 
 
@@ -123,6 +121,5 @@ __SIGSETFN (__sigdelset, ((__set->__val[__word] &= ~__mask), 0), )
 #  undef __SIGSETFN
 #  undef __SIGSETFN
 # endif
 # endif
 
 
-__END_DECLS
 
 
 #endif /* ! _SIGSET_H_fns.  */
 #endif /* ! _SIGSET_H_fns.  */

+ 8 - 8
libc/sysdeps/linux/mips/bits/sigstack.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SIGNAL_H
 #ifndef _SIGNAL_H
 # error "Never include this file directly.  Use <signal.h> instead"
 # error "Never include this file directly.  Use <signal.h> instead"

+ 0 - 4
libc/sysdeps/linux/mips/bits/sigthread.h

@@ -24,8 +24,6 @@
 # error "Never include this file directly.  Use <pthread.h> instead"
 # error "Never include this file directly.  Use <pthread.h> instead"
 #endif
 #endif
 
 
-__BEGIN_DECLS
-
 /* Functions for handling signals. */
 /* Functions for handling signals. */
 
 
 /* Modify the signal mask for the calling thread.  The arguments have
 /* Modify the signal mask for the calling thread.  The arguments have
@@ -37,6 +35,4 @@ extern int pthread_sigmask (int __how,
 /* Send signal SIGNO to the given thread. */
 /* Send signal SIGNO to the given thread. */
 extern int pthread_kill (pthread_t __thread, int __signo) __THROW;
 extern int pthread_kill (pthread_t __thread, int __signo) __THROW;
 
 
-__END_DECLS
-
 #endif	/* bits/sigthread.h */
 #endif	/* bits/sigthread.h */

+ 8 - 8
libc/sysdeps/linux/mips/bits/sockaddr.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /*
 /*
  * Never include this file directly; use <sys/socket.h> instead.
  * Never include this file directly; use <sys/socket.h> instead.

+ 19 - 14
libc/sysdeps/linux/mips/bits/socket.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef __BITS_SOCKET_H
 #ifndef __BITS_SOCKET_H
 #define __BITS_SOCKET_H
 #define __BITS_SOCKET_H
@@ -87,6 +87,8 @@ enum __socket_type
 #define	PF_SNA		22	/* Linux SNA Project */
 #define	PF_SNA		22	/* Linux SNA Project */
 #define	PF_IRDA		23	/* IRDA sockets.  */
 #define	PF_IRDA		23	/* IRDA sockets.  */
 #define	PF_PPPOX	24	/* PPPoX sockets.  */
 #define	PF_PPPOX	24	/* PPPoX sockets.  */
+#define	PF_WANPIPE	25	/* Wanpipe API sockets.  */
+#define	PF_BLUETOOTH	31	/* Bluetooth sockets.  */
 #define	PF_MAX		32	/* For now..  */
 #define	PF_MAX		32	/* For now..  */
 
 
 /* Address families.  */
 /* Address families.  */
@@ -117,6 +119,8 @@ enum __socket_type
 #define	AF_SNA		PF_SNA
 #define	AF_SNA		PF_SNA
 #define	AF_IRDA		PF_IRDA
 #define	AF_IRDA		PF_IRDA
 #define	AF_PPPOX	PF_PPPOX
 #define	AF_PPPOX	PF_PPPOX
+#define	AF_WANPIPE	PF_WANPIPE
+#define	AF_BLUETOOTH	PF_BLUETOOTH
 #define	AF_MAX		PF_MAX
 #define	AF_MAX		PF_MAX
 
 
 /* Socket level values.  Others are defined in the appropriate headers.
 /* Socket level values.  Others are defined in the appropriate headers.
@@ -199,8 +203,10 @@ enum
 #define	MSG_RST		MSG_RST
 #define	MSG_RST		MSG_RST
     MSG_ERRQUEUE	= 0x2000, /* Fetch message from error queue.  */
     MSG_ERRQUEUE	= 0x2000, /* Fetch message from error queue.  */
 #define	MSG_ERRQUEUE	MSG_ERRQUEUE
 #define	MSG_ERRQUEUE	MSG_ERRQUEUE
-    MSG_NOSIGNAL	= 0x4000  /* Do not generate SIGPIPE.  */
+    MSG_NOSIGNAL	= 0x4000, /* Do not generate SIGPIPE.  */
 #define	MSG_NOSIGNAL	MSG_NOSIGNAL
 #define	MSG_NOSIGNAL	MSG_NOSIGNAL
+    MSG_MORE		= 0x8000  /* Sender will send more.  */
+#define	MSG_MORE	MSG_MORE
   };
   };
 
 
 
 
@@ -227,14 +233,13 @@ struct cmsghdr
 				   of cmsghdr structure.  */
 				   of cmsghdr structure.  */
     int cmsg_level;		/* Originating protocol.  */
     int cmsg_level;		/* Originating protocol.  */
     int cmsg_type;		/* Protocol specific type.  */
     int cmsg_type;		/* Protocol specific type.  */
-#if 0
+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
     __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data.  */
     __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data.  */
-    /* XXX Perhaps this should be removed.  */
 #endif
 #endif
   };
   };
 
 
 /* Ancillary data object manipulation macros.  */
 /* Ancillary data object manipulation macros.  */
-#if !defined __STRICT_ANSI__ && defined __GNUC__ && __GNUC__ >= 2
+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
 # define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
 # define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
 #else
 #else
 # define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
 # define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
@@ -250,13 +255,13 @@ struct cmsghdr
 #define CMSG_LEN(len)   (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
 #define CMSG_LEN(len)   (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
 
 
 extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
 extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
-				      struct cmsghdr *__cmsg);
+				      struct cmsghdr *__cmsg) __THROW;
 #ifdef __USE_EXTERN_INLINES
 #ifdef __USE_EXTERN_INLINES
 # ifndef _EXTERN_INLINE
 # ifndef _EXTERN_INLINE
 #  define _EXTERN_INLINE extern __inline
 #  define _EXTERN_INLINE extern __inline
 # endif
 # endif
 _EXTERN_INLINE struct cmsghdr *
 _EXTERN_INLINE struct cmsghdr *
-__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
+__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW
 {
 {
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
     /* The kernel header does this so there may be a reason.  */
     /* The kernel header does this so there may be a reason.  */

+ 8 - 8
libc/sysdeps/linux/mips/bits/stat.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_STAT_H
 #ifndef _SYS_STAT_H
 # error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
 # error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/statfs.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_STATFS_H
 #ifndef _SYS_STATFS_H
 # error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
 # error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/statvfs.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_STATVFS_H
 #ifndef _SYS_STATVFS_H
 # error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
 # error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."

+ 32 - 28
libc/sysdeps/linux/mips/bits/stdio-lock.h

@@ -1,44 +1,48 @@
-/* Thread package specific definitions of stream lock type.
+/* Thread package specific definitions of stream lock type.  Generic version.
-   Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
-#include <pthread.h>
+#ifndef _BITS_STDIO_LOCK_H
+#define _BITS_STDIO_LOCK_H 1
 
 
-typedef pthread_mutex_t _IO_lock_t;
+#include <bits/libc-lock.h>
+
+__libc_lock_define_recursive (typedef, _IO_lock_t)
 
 
 /* We need recursive (counting) mutexes.  */
 /* We need recursive (counting) mutexes.  */
-#define _IO_lock_initializer PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+#ifdef _LIBC_LOCK_RECURSIVE_INITIALIZER
+# define _IO_lock_initializer _LIBC_LOCK_RECURSIVE_INITIALIZER
+#elif _IO_MTSAFE_IO
+ #error libio needs recursive mutexes for _IO_MTSAFE_IO
+#endif
+
+#define _IO_lock_init(_name)	__libc_lock_init_recursive (_name)
+#define _IO_lock_fini(_name)	__libc_lock_fini_recursive (_name)
+#define _IO_lock_lock(_name)	__libc_lock_lock_recursive (_name)
+#define _IO_lock_unlock(_name)	__libc_lock_unlock_recursive (_name)
 
 
 
 
 #define _IO_cleanup_region_start(_fct, _fp) \
 #define _IO_cleanup_region_start(_fct, _fp) \
-  { struct _pthread_cleanup_buffer _buffer;				      \
+  __libc_cleanup_region_start (((_fp)->_flags & _IO_USER_LOCK) == 0, _fct, _fp)
-    int _avail = (((_fp)->_flags & _IO_USER_LOCK) == 0			      \
+#define _IO_cleanup_region_start_noarg(_fct) \
-		  && _pthread_cleanup_push_defer != NULL);		      \
+  __libc_cleanup_region_start (1, _fct, NULL)
-    if (_avail) {							      \
-      _pthread_cleanup_push_defer (&_buffer, (_fct), (_fp));		      \
-    }
 #define _IO_cleanup_region_end(_doit) \
 #define _IO_cleanup_region_end(_doit) \
-     __libc_cleanup_region_end (_doit)
+  __libc_cleanup_region_end (_doit)
-#define _IO_lock_init(_name) \
+
-     __libc_lock_init_recursive (_name)
+
-#define _IO_lock_fini(_name) \
+#endif /* bits/stdio-lock.h */
-     __libc_lock_fini_recursive (_name)
-#define _IO_lock_lock(_name) \
-     __libc_lock_lock (_name)
-#define _IO_lock_unlock(_name) \
-     __libc_lock_unlock (_name)

+ 9 - 15
libc/sysdeps/linux/mips/bits/stdio.h

@@ -1,20 +1,21 @@
 /* Optimizing macros and inline functions for stdio functions.
 /* Optimizing macros and inline functions for stdio functions.
    Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
    Copyright (C) 1998, 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
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _STDIO_H
 #ifndef _STDIO_H
 # error "Never include <bits/stdio.h> directly; use <stdio.h> instead."
 # error "Never include <bits/stdio.h> directly; use <stdio.h> instead."
@@ -28,13 +29,6 @@
 
 
 
 
 #ifdef __USE_EXTERN_INLINES
 #ifdef __USE_EXTERN_INLINES
-/* Since version 2.97 GCC knows about `fprintf' and can optimize certain
-   cases.  Help gcc to optimize more code by mapping `printf' to the known
-   `fprintf' function.  Unfortunately we have to use a macro.  */
-# if __GNUC_PREREQ (2,97)
-#  define printf(fmt, args...) fprintf (stdout, fmt, ##args)
-# endif
-
 /* Write formatted output to stdout from argument list ARG.  */
 /* Write formatted output to stdout from argument list ARG.  */
 __STDIO_INLINE int
 __STDIO_INLINE int
 vprintf (__const char *__restrict __fmt, _G_va_list __arg) __THROW
 vprintf (__const char *__restrict __fmt, _G_va_list __arg) __THROW

+ 8 - 8
libc/sysdeps/linux/mips/bits/stdio_lim.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX
 #if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX
 # error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."
 # error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."

+ 121 - 124
libc/sysdeps/linux/mips/bits/string2.h

@@ -4,19 +4,19 @@
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _STRING_H
 #ifndef _STRING_H
 # error "Never use <bits/string2.h> directly; include <string.h> instead."
 # error "Never use <bits/string2.h> directly; include <string.h> instead."
@@ -196,24 +196,28 @@ __STRING2_COPY_TYPE (8);
 /* Copy N bytes from SRC to DEST, returning pointer to byte following the
 /* Copy N bytes from SRC to DEST, returning pointer to byte following the
    last copied.  */
    last copied.  */
 #ifdef __USE_GNU
 #ifdef __USE_GNU
-# ifndef _HAVE_STRING_ARCH_mempcpy
+# if !defined _HAVE_STRING_ARCH_mempcpy || defined _FORCE_INLINES
-#  define __mempcpy(dest, src, n) \
+#  ifndef _HAVE_STRING_ARCH_mempcpy
+#   define __mempcpy(dest, src, n) \
   (__extension__ (__builtin_constant_p (src) && __builtin_constant_p (n)      \
   (__extension__ (__builtin_constant_p (src) && __builtin_constant_p (n)      \
 		  && __string2_1bptr_p (src) && n <= 8			      \
 		  && __string2_1bptr_p (src) && n <= 8			      \
 		  ? __mempcpy_small (dest, __mempcpy_args (src), n)	      \
 		  ? __mempcpy_small (dest, __mempcpy_args (src), n)	      \
 		  : __mempcpy (dest, src, n)))
 		  : __mempcpy (dest, src, n)))
 /* In glibc we use this function frequently but for namespace reasons
 /* In glibc we use this function frequently but for namespace reasons
    we have to use the name `__mempcpy'.  */
    we have to use the name `__mempcpy'.  */
-#  define mempcpy(dest, src, n) __mempcpy (dest, src, n)
+#   define mempcpy(dest, src, n) __mempcpy (dest, src, n)
+#  endif
 
 
 #  if _STRING_ARCH_unaligned
 #  if _STRING_ARCH_unaligned
-#   define __mempcpy_args(src) \
+#   ifndef _FORCE_INLINES
+#    define __mempcpy_args(src) \
      ((__const char *) (src))[0], ((__const char *) (src))[2],		      \
      ((__const char *) (src))[0], ((__const char *) (src))[2],		      \
      ((__const char *) (src))[4], ((__const char *) (src))[6],		      \
      ((__const char *) (src))[4], ((__const char *) (src))[6],		      \
      __extension__ __STRING2_SMALL_GET16 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 4),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 4),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 4)
      __extension__ __STRING2_SMALL_GET32 (src, 4)
+#   endif
 __STRING_INLINE void *__mempcpy_small (void *, char, char, char, char,
 __STRING_INLINE void *__mempcpy_small (void *, char, char, char, char,
 				       __uint16_t, __uint16_t, __uint32_t,
 				       __uint16_t, __uint16_t, __uint32_t,
 				       __uint32_t, size_t);
 				       __uint32_t, size_t);
@@ -280,7 +284,8 @@ __mempcpy_small (void *__dest1,
   return (void *) __u;
   return (void *) __u;
 }
 }
 #  else
 #  else
-#   define __mempcpy_args(src) \
+#   ifndef _FORCE_INLINES
+#    define __mempcpy_args(src) \
      ((__const char *) (src))[0],					      \
      ((__const char *) (src))[0],					      \
      __extension__ ((__STRING2_COPY_ARR2)				      \
      __extension__ ((__STRING2_COPY_ARR2)				      \
       { { ((__const char *) (src))[0], ((__const char *) (src))[1] } }),      \
       { { ((__const char *) (src))[0], ((__const char *) (src))[1] } }),      \
@@ -308,6 +313,7 @@ __mempcpy_small (void *__dest1,
 	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
 	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
 	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
 	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
 	  ((__const char *) (src))[6], ((__const char *) (src))[7] } })
 	  ((__const char *) (src))[6], ((__const char *) (src))[7] } })
+#   endif
 __STRING_INLINE void *__mempcpy_small (void *, char, __STRING2_COPY_ARR2,
 __STRING_INLINE void *__mempcpy_small (void *, char, __STRING2_COPY_ARR2,
 				       __STRING2_COPY_ARR3,
 				       __STRING2_COPY_ARR3,
 				       __STRING2_COPY_ARR4,
 				       __STRING2_COPY_ARR4,
@@ -377,21 +383,25 @@ extern void *__rawmemchr (const void *__s, int __c);
 
 
 
 
 /* Copy SRC to DEST.  */
 /* Copy SRC to DEST.  */
-#ifndef _HAVE_STRING_ARCH_strcpy
+#if !defined _HAVE_STRING_ARCH_strcpy || defined _FORCE_INLINES
-# define strcpy(dest, src) \
+# ifndef _HAVE_STRING_ARCH_strcpy
+#  define strcpy(dest, src) \
   (__extension__ (__builtin_constant_p (src)				      \
   (__extension__ (__builtin_constant_p (src)				      \
 		  ? (__string2_1bptr_p (src) && strlen (src) + 1 <= 8	      \
 		  ? (__string2_1bptr_p (src) && strlen (src) + 1 <= 8	      \
 		     ? __strcpy_small (dest, __strcpy_args (src),	      \
 		     ? __strcpy_small (dest, __strcpy_args (src),	      \
 				       strlen (src) + 1)		      \
 				       strlen (src) + 1)		      \
 		     : (char *) memcpy (dest, src, strlen (src) + 1))	      \
 		     : (char *) memcpy (dest, src, strlen (src) + 1))	      \
 		  : strcpy (dest, src)))
 		  : strcpy (dest, src)))
+# endif
 
 
 # if _STRING_ARCH_unaligned
 # if _STRING_ARCH_unaligned
-#  define __strcpy_args(src) \
+#  ifndef _FORCE_INLINES
+#   define __strcpy_args(src) \
      __extension__ __STRING2_SMALL_GET16 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 4),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 4),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 4)
      __extension__ __STRING2_SMALL_GET32 (src, 4)
+#  endif
 __STRING_INLINE char *__strcpy_small (char *, __uint16_t, __uint16_t,
 __STRING_INLINE char *__strcpy_small (char *, __uint16_t, __uint16_t,
 				      __uint32_t, __uint32_t, size_t);
 				      __uint32_t, __uint32_t, size_t);
 __STRING_INLINE char *
 __STRING_INLINE char *
@@ -447,7 +457,8 @@ __strcpy_small (char *__dest,
   return __dest;
   return __dest;
 }
 }
 # else
 # else
-#  define __strcpy_args(src) \
+#  ifndef _FORCE_INLINES
+#   define __strcpy_args(src) \
      __extension__ ((__STRING2_COPY_ARR2)				      \
      __extension__ ((__STRING2_COPY_ARR2)				      \
       { { ((__const char *) (src))[0], '\0' } }),			      \
       { { ((__const char *) (src))[0], '\0' } }),			      \
      __extension__ ((__STRING2_COPY_ARR3)				      \
      __extension__ ((__STRING2_COPY_ARR3)				      \
@@ -474,6 +485,7 @@ __strcpy_small (char *__dest,
 	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
 	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
 	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
 	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
 	  ((__const char *) (src))[6], '\0' } })
 	  ((__const char *) (src))[6], '\0' } })
+#  endif
 __STRING_INLINE char *__strcpy_small (char *, __STRING2_COPY_ARR2,
 __STRING_INLINE char *__strcpy_small (char *, __STRING2_COPY_ARR2,
 				      __STRING2_COPY_ARR3,
 				      __STRING2_COPY_ARR3,
 				      __STRING2_COPY_ARR4,
 				      __STRING2_COPY_ARR4,
@@ -533,8 +545,9 @@ __strcpy_small (char *__dest,
 
 
 /* Copy SRC to DEST, returning pointer to final NUL byte.  */
 /* Copy SRC to DEST, returning pointer to final NUL byte.  */
 #ifdef __USE_GNU
 #ifdef __USE_GNU
-# ifndef _HAVE_STRING_ARCH_stpcpy
+# if !defined _HAVE_STRING_ARCH_stpcpy || defined _FORCE_INLINES
-#  define __stpcpy(dest, src) \
+#  ifndef _HAVE_STRING_ARCH_stpcpy
+#   define __stpcpy(dest, src) \
   (__extension__ (__builtin_constant_p (src)				      \
   (__extension__ (__builtin_constant_p (src)				      \
 		  ? (__string2_1bptr_p (src) && strlen (src) + 1 <= 8	      \
 		  ? (__string2_1bptr_p (src) && strlen (src) + 1 <= 8	      \
 		     ? __stpcpy_small (dest, __stpcpy_args (src),	      \
 		     ? __stpcpy_small (dest, __stpcpy_args (src),	      \
@@ -543,14 +556,17 @@ __strcpy_small (char *__dest,
 		  : __stpcpy (dest, src)))
 		  : __stpcpy (dest, src)))
 /* In glibc we use this function frequently but for namespace reasons
 /* In glibc we use this function frequently but for namespace reasons
    we have to use the name `__stpcpy'.  */
    we have to use the name `__stpcpy'.  */
-#  define stpcpy(dest, src) __stpcpy (dest, src)
+#   define stpcpy(dest, src) __stpcpy (dest, src)
+#  endif
 
 
 #  if _STRING_ARCH_unaligned
 #  if _STRING_ARCH_unaligned
-#   define __stpcpy_args(src) \
+#   ifndef _FORCE_INLINES
+#    define __stpcpy_args(src) \
      __extension__ __STRING2_SMALL_GET16 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 4),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 4),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 4)
      __extension__ __STRING2_SMALL_GET32 (src, 4)
+#   endif
 __STRING_INLINE char *__stpcpy_small (char *, __uint16_t, __uint16_t,
 __STRING_INLINE char *__stpcpy_small (char *, __uint16_t, __uint16_t,
 				      __uint32_t, __uint32_t, size_t);
 				      __uint32_t, __uint32_t, size_t);
 __STRING_INLINE char *
 __STRING_INLINE char *
@@ -611,7 +627,8 @@ __stpcpy_small (char *__dest,
   return &__u->__c;
   return &__u->__c;
 }
 }
 #  else
 #  else
-#  define __stpcpy_args(src) \
+#   ifndef _FORCE_INLINES
+#    define __stpcpy_args(src) \
      __extension__ ((__STRING2_COPY_ARR2)				      \
      __extension__ ((__STRING2_COPY_ARR2)				      \
       { { ((__const char *) (src))[0], '\0' } }),			      \
       { { ((__const char *) (src))[0], '\0' } }),			      \
      __extension__ ((__STRING2_COPY_ARR3)				      \
      __extension__ ((__STRING2_COPY_ARR3)				      \
@@ -638,6 +655,7 @@ __stpcpy_small (char *__dest,
 	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
 	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
 	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
 	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
 	  ((__const char *) (src))[6], '\0' } })
 	  ((__const char *) (src))[6], '\0' } })
+#   endif
 __STRING_INLINE char *__stpcpy_small (char *, __STRING2_COPY_ARR2,
 __STRING_INLINE char *__stpcpy_small (char *, __STRING2_COPY_ARR2,
 				      __STRING2_COPY_ARR3,
 				      __STRING2_COPY_ARR3,
 				      __STRING2_COPY_ARR4,
 				      __STRING2_COPY_ARR4,
@@ -854,8 +872,9 @@ __stpcpy_small (char *__dest,
 
 
 /* Return the length of the initial segment of S which
 /* Return the length of the initial segment of S which
    consists entirely of characters not in REJECT.  */
    consists entirely of characters not in REJECT.  */
-#ifndef _HAVE_STRING_ARCH_strcspn
+#if !defined _HAVE_STRING_ARCH_strcspn || defined _FORCE_INLINES
-# define strcspn(s, reject) \
+# ifndef _HAVE_STRING_ARCH_strcspn
+#  define strcspn(s, reject) \
   __extension__								      \
   __extension__								      \
   ({ char __r0, __r1, __r2;						      \
   ({ char __r0, __r1, __r2;						      \
      (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \
      (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \
@@ -869,10 +888,11 @@ __stpcpy_small (char *__dest,
 		  ? __strcspn_c3 (s, __r0, __r1, __r2)			      \
 		  ? __strcspn_c3 (s, __r0, __r1, __r2)			      \
 		  : strcspn (s, reject)))))				      \
 		  : strcspn (s, reject)))))				      \
 		  : strcspn (s, reject)); })
 		  : strcspn (s, reject)); })
+# endif
 
 
-__STRING_INLINE size_t __strcspn_c1 (__const char *__s, char __reject);
+__STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject);
 __STRING_INLINE size_t
 __STRING_INLINE size_t
-__strcspn_c1 (__const char *__s, char __reject)
+__strcspn_c1 (__const char *__s, int __reject)
 {
 {
   register size_t __result = 0;
   register size_t __result = 0;
   while (__s[__result] != '\0' && __s[__result] != __reject)
   while (__s[__result] != '\0' && __s[__result] != __reject)
@@ -880,10 +900,10 @@ __strcspn_c1 (__const char *__s, char __reject)
   return __result;
   return __result;
 }
 }
 
 
-__STRING_INLINE size_t __strcspn_c2 (__const char *__s, char __reject1,
+__STRING_INLINE size_t __strcspn_c2 (__const char *__s, int __reject1,
-				     char __reject2);
+				     int __reject2);
 __STRING_INLINE size_t
 __STRING_INLINE size_t
-__strcspn_c2 (__const char *__s, char __reject1, char __reject2)
+__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
 {
 {
   register size_t __result = 0;
   register size_t __result = 0;
   while (__s[__result] != '\0' && __s[__result] != __reject1
   while (__s[__result] != '\0' && __s[__result] != __reject1
@@ -892,11 +912,11 @@ __strcspn_c2 (__const char *__s, char __reject1, char __reject2)
   return __result;
   return __result;
 }
 }
 
 
-__STRING_INLINE size_t __strcspn_c3 (__const char *__s, char __reject1,
+__STRING_INLINE size_t __strcspn_c3 (__const char *__s, int __reject1,
-				     char __reject2, char __reject3);
+				     int __reject2, int __reject3);
 __STRING_INLINE size_t
 __STRING_INLINE size_t
-__strcspn_c3 (__const char *__s, char __reject1, char __reject2,
+__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
-	      char __reject3)
+	      int __reject3)
 {
 {
   register size_t __result = 0;
   register size_t __result = 0;
   while (__s[__result] != '\0' && __s[__result] != __reject1
   while (__s[__result] != '\0' && __s[__result] != __reject1
@@ -909,8 +929,9 @@ __strcspn_c3 (__const char *__s, char __reject1, char __reject2,
 
 
 /* Return the length of the initial segment of S which
 /* Return the length of the initial segment of S which
    consists entirely of characters in ACCEPT.  */
    consists entirely of characters in ACCEPT.  */
-#ifndef _HAVE_STRING_ARCH_strspn
+#if !defined _HAVE_STRING_ARCH_strspn || defined _FORCE_INLINES
-# define strspn(s, accept) \
+# ifndef _HAVE_STRING_ARCH_strspn
+#  define strspn(s, accept) \
   __extension__								      \
   __extension__								      \
   ({ char __a0, __a1, __a2;						      \
   ({ char __a0, __a1, __a2;						      \
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
@@ -924,10 +945,11 @@ __strcspn_c3 (__const char *__s, char __reject1, char __reject2,
 		  ? __strspn_c3 (s, __a0, __a1, __a2)			      \
 		  ? __strspn_c3 (s, __a0, __a1, __a2)			      \
 		  : strspn (s, accept)))))				      \
 		  : strspn (s, accept)))))				      \
       : strspn (s, accept)); })
       : strspn (s, accept)); })
+# endif
 
 
-__STRING_INLINE size_t __strspn_c1 (__const char *__s, char __accept);
+__STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept);
 __STRING_INLINE size_t
 __STRING_INLINE size_t
-__strspn_c1 (__const char *__s, char __accept)
+__strspn_c1 (__const char *__s, int __accept)
 {
 {
   register size_t __result = 0;
   register size_t __result = 0;
   /* Please note that __accept never can be '\0'.  */
   /* Please note that __accept never can be '\0'.  */
@@ -936,10 +958,10 @@ __strspn_c1 (__const char *__s, char __accept)
   return __result;
   return __result;
 }
 }
 
 
-__STRING_INLINE size_t __strspn_c2 (__const char *__s, char __accept1,
+__STRING_INLINE size_t __strspn_c2 (__const char *__s, int __accept1,
-				    char __accept2);
+				    int __accept2);
 __STRING_INLINE size_t
 __STRING_INLINE size_t
-__strspn_c2 (__const char *__s, char __accept1, char __accept2)
+__strspn_c2 (__const char *__s, int __accept1, int __accept2)
 {
 {
   register size_t __result = 0;
   register size_t __result = 0;
   /* Please note that __accept1 and __accept2 never can be '\0'.  */
   /* Please note that __accept1 and __accept2 never can be '\0'.  */
@@ -948,10 +970,10 @@ __strspn_c2 (__const char *__s, char __accept1, char __accept2)
   return __result;
   return __result;
 }
 }
 
 
-__STRING_INLINE size_t __strspn_c3 (__const char *__s, char __accept1,
+__STRING_INLINE size_t __strspn_c3 (__const char *__s, int __accept1,
-				    char __accept2, char __accept3);
+				    int __accept2, int __accept3);
 __STRING_INLINE size_t
 __STRING_INLINE size_t
-__strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)
+__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
 {
 {
   register size_t __result = 0;
   register size_t __result = 0;
   /* Please note that __accept1 to __accept3 never can be '\0'.  */
   /* Please note that __accept1 to __accept3 never can be '\0'.  */
@@ -964,8 +986,9 @@ __strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)
 
 
 
 
 /* Find the first occurrence in S of any character in ACCEPT.  */
 /* Find the first occurrence in S of any character in ACCEPT.  */
-#ifndef _HAVE_STRING_ARCH_strpbrk
+#if !defined _HAVE_STRING_ARCH_strpbrk || defined _FORCE_INLINES
-# define strpbrk(s, accept) \
+# ifndef _HAVE_STRING_ARCH_strpbrk
+#  define strpbrk(s, accept) \
   __extension__								      \
   __extension__								      \
   ({ char __a0, __a1, __a2;						      \
   ({ char __a0, __a1, __a2;						      \
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
@@ -979,6 +1002,7 @@ __strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)
 		  ? __strpbrk_c3 (s, __a0, __a1, __a2)			      \
 		  ? __strpbrk_c3 (s, __a0, __a1, __a2)			      \
 		  : strpbrk (s, accept)))))				      \
 		  : strpbrk (s, accept)))))				      \
       : strpbrk (s, accept)); })
       : strpbrk (s, accept)); })
+# endif
 
 
 __STRING_INLINE char *__strpbrk_c2 (__const char *__s, int __accept1,
 __STRING_INLINE char *__strpbrk_c2 (__const char *__s, int __accept1,
 				     int __accept2);
 				     int __accept2);
@@ -1021,26 +1045,16 @@ __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
 #endif
 #endif
 
 
 
 
-#if defined __USE_GNU && !defined _FORCE_INLINES
+#if !defined _HAVE_STRING_ARCH_strtok_r || defined _FORCE_INLINES
-# ifndef _HAVE_STRING_ARCH_strnlen
+# ifndef _HAVE_STRING_ARCH_strtok_r
-__STRING_INLINE size_t
+#  define __strtok_r(s, sep, nextp) \
-strnlen (__const char *__string, size_t __maxlen)
-{
-  __const char *__end = (__const char *) memchr (__string, '\0', __maxlen);
-  return __end ? (size_t) (__end - __string) : __maxlen;
-}
-# endif
-#endif
-
-
-#ifndef _HAVE_STRING_ARCH_strtok_r
-# define __strtok_r(s, sep, nextp) \
   (__extension__ (__builtin_constant_p (sep) && __string2_1bptr_p (sep)	      \
   (__extension__ (__builtin_constant_p (sep) && __string2_1bptr_p (sep)	      \
 		  ? (((__const char *) (sep))[0] != '\0'		      \
 		  ? (((__const char *) (sep))[0] != '\0'		      \
 		     && ((__const char *) (sep))[1] == '\0'		      \
 		     && ((__const char *) (sep))[1] == '\0'		      \
 		     ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp)  \
 		     ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp)  \
 		     : __strtok_r (s, sep, nextp))			      \
 		     : __strtok_r (s, sep, nextp))			      \
 		  : __strtok_r (s, sep, nextp)))
 		  : __strtok_r (s, sep, nextp)))
+# endif
 
 
 __STRING_INLINE char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
 __STRING_INLINE char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
 __STRING_INLINE char *
 __STRING_INLINE char *
@@ -1051,32 +1065,31 @@ __strtok_r_1c (char *__s, char __sep, char **__nextp)
     __s = *__nextp;
     __s = *__nextp;
   while (*__s == __sep)
   while (*__s == __sep)
     ++__s;
     ++__s;
-  if (*__s == '\0')
+  __result = NULL;
-    __result = NULL;
+  if (*__s != '\0')
-  else
     {
     {
-      __result = __s;
+      __result = __s++;
-      while (*__s != '\0' && *__s != __sep)
+      while (*__s != '\0')
-	++__s;
+	if (*__s++ == __sep)
-      if (*__s == '\0')
+	  {
-	*__nextp = __s;
+	    __s[-1] = '\0';
-      else
+	    break;
-	{
+	  }
-	  *__s = '\0';
+      *__nextp = __s;
-	  *__nextp = __s + 1;
-	}
     }
     }
   return __result;
   return __result;
 }
 }
 # if defined __USE_POSIX || defined __USE_MISC
 # if defined __USE_POSIX || defined __USE_MISC
-#  define strtok_r(s, sep, nextp) __strtok_r ((s), (sep), (nextp))
+#  define strtok_r(s, sep, nextp) __strtok_r (s, sep, nextp)
 # endif
 # endif
 #endif
 #endif
 
 
 
 
-#ifndef _HAVE_STRING_ARCH_strsep
+#if !defined _HAVE_STRING_ARCH_strsep || defined _FORCE_INLINES
+# ifndef _HAVE_STRING_ARCH_strsep
 
 
-# define __strsep(s, reject) \
+extern char *__strsep_g (char **__stringp, __const char *__delim);
+#  define __strsep(s, reject) \
   __extension__								      \
   __extension__								      \
   ({ char __r0, __r1, __r2;						      \
   ({ char __r0, __r1, __r2;						      \
      (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \
      (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \
@@ -1091,21 +1104,15 @@ __strtok_r_1c (char *__s, char __sep, char **__nextp)
 	       ? __strsep_3c (s, __r0, __r1, __r2)			      \
 	       ? __strsep_3c (s, __r0, __r1, __r2)			      \
 	       : __strsep_g (s, reject))))				      \
 	       : __strsep_g (s, reject))))				      \
       : __strsep_g (s, reject)); })
       : __strsep_g (s, reject)); })
+# endif
 
 
 __STRING_INLINE char *__strsep_1c (char **__s, char __reject);
 __STRING_INLINE char *__strsep_1c (char **__s, char __reject);
 __STRING_INLINE char *
 __STRING_INLINE char *
 __strsep_1c (char **__s, char __reject)
 __strsep_1c (char **__s, char __reject)
 {
 {
   register char *__retval = *__s;
   register char *__retval = *__s;
-  if (__retval == NULL)
+  if (__retval != NULL && (*__s = strchr (__retval, __reject)) != NULL)
-    return *__s = NULL;
-  if (*__retval == __reject)
     *(*__s)++ = '\0';
     *(*__s)++ = '\0';
-  else
-    if ((*__s = strchr (__retval, __reject)) != NULL)
-      *(*__s)++ = '\0';
-    else
-      *__s = NULL;
   return __retval;
   return __retval;
 }
 }
 
 
@@ -1114,22 +1121,24 @@ __STRING_INLINE char *
 __strsep_2c (char **__s, char __reject1, char __reject2)
 __strsep_2c (char **__s, char __reject1, char __reject2)
 {
 {
   register char *__retval = *__s;
   register char *__retval = *__s;
-  if (__retval == NULL)
+  if (__retval != NULL)
-    return *__s = NULL;
-  if (*__retval == __reject1 || *__retval == __reject2)
-    *(*__s)++ = '\0';
-  else
     {
     {
       register char *__cp = __retval;
       register char *__cp = __retval;
-      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2)
+      while (1)
-	++__cp;
-      if (*__cp != '\0')
 	{
 	{
-	  *__s = __cp;
+	  if (*__cp == '\0')
-	  *(*__s)++ = '\0';
+	    {
+	      __cp = NULL;
+	  break;
+	    }
+	  if (*__cp == __reject1 || *__cp == __reject2)
+	    {
+	      *__cp++ = '\0';
+	      break;
+	    }
+	  ++__cp;
 	}
 	}
-      else
+      *__s = __cp;
-	*__s = NULL;
     }
     }
   return __retval;
   return __retval;
 }
 }
@@ -1140,41 +1149,29 @@ __STRING_INLINE char *
 __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
 __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
 {
 {
   register char *__retval = *__s;
   register char *__retval = *__s;
-  if (__retval == NULL)
+  if (__retval != NULL)
-    return *__s = NULL;
-  if (*__retval == __reject1 || *__retval == __reject2
-      || *__retval == __reject3)
-    *(*__s)++ = '\0';
-  else
     {
     {
       register char *__cp = __retval;
       register char *__cp = __retval;
-      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2
+      while (1)
-	     && *__cp != __reject3)
-	++__cp;
-      if (*__cp != '\0')
 	{
 	{
-	  *__s = __cp;
+	  if (*__cp == '\0')
-	  *(*__s)++ = '\0';
+	    {
+	      __cp = NULL;
+	  break;
+	    }
+	  if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
+	    {
+	      *__cp++ = '\0';
+	      break;
+	    }
+	  ++__cp;
 	}
 	}
-      else
+      *__s = __cp;
-	*__s = NULL;
     }
     }
   return __retval;
   return __retval;
 }
 }
-
-__STRING_INLINE char *__strsep_g (char **__s, __const char *__reject);
-__STRING_INLINE char *
-__strsep_g (char **__s, __const char *__reject)
-{
-  register char *__retval = *__s;
-  if (__retval == NULL)
-    return NULL;
-  if ((*__s = strpbrk (__retval, __reject)) != NULL)
-    *(*__s)++ = '\0';
-  return __retval;
-}
 # ifdef __USE_BSD
 # ifdef __USE_BSD
-#  define strsep(s, reject) __strsep ((s), (reject))
+#  define strsep(s, reject) __strsep (s, reject)
 # endif
 # endif
 #endif
 #endif
 
 
@@ -1228,10 +1225,10 @@ extern char *__strndup (__const char *__string, size_t __n)
 							  __len - 1);	      \
 							  __len - 1);	      \
 			    }						      \
 			    }						      \
 			  __retval; }))					      \
 			  __retval; }))					      \
-		  : __strndup ((s), (n))))
+		  : __strndup (s, n)))
 
 
 #  ifdef __USE_GNU
 #  ifdef __USE_GNU
-#   define strndup(s, n) __strndup ((s), (n))
+#   define strndup(s, n) __strndup (s, n)
 #  endif
 #  endif
 # endif
 # endif
 
 

+ 8 - 8
libc/sysdeps/linux/mips/bits/stropts.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _BITS_STROPTS_H
 #ifndef _BITS_STROPTS_H
 #define _BITS_STROPTS_H	1
 #define _BITS_STROPTS_H	1

+ 78 - 124
libc/sysdeps/linux/mips/bits/termios.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _TERMIOS_H
 #ifndef _TERMIOS_H
 # error "Never include <bits/termios.h> directly; use <termios.h> instead."
 # error "Never include <bits/termios.h> directly; use <termios.h> instead."
@@ -25,40 +25,6 @@ typedef unsigned char	cc_t;
 typedef unsigned int	speed_t;
 typedef unsigned int	speed_t;
 typedef unsigned int	tcflag_t;
 typedef unsigned int	tcflag_t;
 
 
-
-#ifdef __USE_BSD
-
-struct sgttyb
-  {
-    char sg_ispeed;
-    char sg_ospeed;
-    char sg_erase;
-    char sg_kill;
-    int	sg_flags;	/* SGI special - int, not short */
-  };
-
-struct tchars
-  {
-    char t_intrc;
-    char t_quitc;
-    char t_startc;
-    char t_stopc;
-    char t_eofc;
-    char t_brkc;
-  };
-
-struct ltchars
-  {
-    char t_suspc;		/* stop process signal */
-    char t_dsuspc;		/* delayed stop process signal */
-    char t_rprntc;		/* reprint line */
-    char t_flushc;		/* flush output (toggles) */
-    char t_werasc;		/* word erase */
-    char t_lnextc;		/* literal next character */
-  };
-
-#endif /* defined(__BSD) */
-
 #define NCCS 32
 #define NCCS 32
 struct termios
 struct termios
   {
   {
@@ -66,44 +32,31 @@ struct termios
     tcflag_t c_oflag;		/* output mode flags */
     tcflag_t c_oflag;		/* output mode flags */
     tcflag_t c_cflag;		/* control mode flags */
     tcflag_t c_cflag;		/* control mode flags */
     tcflag_t c_lflag;		/* local mode flags */
     tcflag_t c_lflag;		/* local mode flags */
-    cc_t c_line;			/* line discipline */
+    cc_t c_line;		/* line discipline */
     cc_t c_cc[NCCS];		/* control characters */
     cc_t c_cc[NCCS];		/* control characters */
   };
   };
 
 
 /* c_cc characters */
 /* c_cc characters */
-#define VINTR		 0		/* Interrupt character [ISIG].  */
+#define VINTR		0	/* Interrupt character [ISIG].  */
-#define VQUIT		 1		/* Quit character [ISIG].  */
+#define VQUIT		1	/* Quit character [ISIG].  */
-#define VERASE		 2		/* Erase character [ICANON].  */
+#define VERASE		2	/* Erase character [ICANON].  */
-#define VKILL		 3		/* Kill-line character [ICANON].  */
+#define VKILL		3	/* Kill-line character [ICANON].  */
-#define VMIN		 4		/* Minimum number of bytes read at once [!ICANON].  */
+#define VMIN		4	/* Minimum number of bytes read at once [!ICANON].  */
-#define VTIME		 5		/* Time-out value (tenths of a second) [!ICANON].  */
+#define VTIME		5	/* Time-out value (tenths of a second) [!ICANON].  */
-#ifdef __USE_BSD
+#define VEOL2		6	/* Second EOL character [ICANON].  */
-# define VEOL2		 6		/* Second EOL character [ICANON].  */
+#define VSWTC		7
-/* The next two are guesses ... */
-# define VSWTC		 7		/* ??? */
-#endif
 #define VSWTCH		VSWTC
 #define VSWTCH		VSWTC
-#define VSTART		 8		/* Start (X-ON) character [IXON, IXOFF].  */
+#define VSTART		8	/* Start (X-ON) character [IXON, IXOFF].  */
-#define VSTOP		 9		/* Stop (X-OFF) character [IXON, IXOFF].  */
+#define VSTOP		9	/* Stop (X-OFF) character [IXON, IXOFF].  */
-#define VSUSP		10		/* Suspend character [ISIG].  */
+#define VSUSP		10	/* Suspend character [ISIG].  */
-#if 0
+				/* VDSUSP is not supported on Linux. */
-/*
+/* #define VDSUSP	11	/ * Delayed suspend character [ISIG].  */
- * VDSUSP is not supported
+#define VREPRINT	12	/* Reprint-line character [ICANON].  */
- */
+#define VDISCARD	13	/* Discard character [IEXTEN].  */
-#if defined __USE_BSD
+#define VWERASE		14	/* Word-erase character [ICANON].  */
-# define VDSUSP		11		/* Delayed suspend character [ISIG].  */
+#define VLNEXT		15	/* Literal-next character [IEXTEN].  */
-#endif
+#define VEOF		16	/* End-of-file character [ICANON].  */
-#endif
+#define VEOL		17	/* End-of-line character [ICANON].  */
-#ifdef __USE_BSD
-# define VREPRINT	12		/* Reprint-line character [ICANON].  */
-#endif
-#ifdef __USE_BSD
-# define VDISCARD	13		/* Discard character [IEXTEN].  */
-# define VWERASE	14		/* Word-erase character [ICANON].  */
-# define VLNEXT		15		/* Literal-next character [IEXTEN].  */
-#endif
-#define VEOF		16		/* End-of-file character [ICANON].  */
-#define VEOL		17		/* End-of-line character [ICANON].  */
 
 
 /* c_iflag bits */
 /* c_iflag bits */
 #define IGNBRK	0000001		/* Ignore break condition.  */
 #define IGNBRK	0000001		/* Ignore break condition.  */
@@ -115,28 +68,22 @@ struct termios
 #define INLCR	0000100		/* Map NL to CR on input.  */
 #define INLCR	0000100		/* Map NL to CR on input.  */
 #define IGNCR	0000200		/* Ignore CR.  */
 #define IGNCR	0000200		/* Ignore CR.  */
 #define ICRNL	0000400		/* Map CR to NL on input.  */
 #define ICRNL	0000400		/* Map CR to NL on input.  */
-#ifdef __USE_BSD
+#define IUCLC	0001000		/* Map upper case to lower case on input.  */
-# define IUCLC	0001000		/* Map upper case to lower case on input.  */
-#endif
 #define IXON	0002000		/* Enable start/stop output control.  */
 #define IXON	0002000		/* Enable start/stop output control.  */
-#ifdef __USE_BSD
+#define IXANY	0004000		/* Any character will restart after stop.  */
-# define IXANY	0004000		/* Any character will restart after stop.  */
-#endif
 #define IXOFF	0010000		/* Enable start/stop input control.  */
 #define IXOFF	0010000		/* Enable start/stop input control.  */
-#ifdef __USE_BSD
+#define IMAXBEL 0020000		/* Ring bell when input queue is full.  */
-# define IMAXBEL 0020000	/* Ring bell when input queue is full.  */
-#endif
 
 
 /* c_oflag bits */
 /* c_oflag bits */
 #define OPOST	0000001		/* Perform output processing.  */
 #define OPOST	0000001		/* Perform output processing.  */
-#ifdef __USE_BSD
+#define OLCUC	0000002		/* Map lower case to upper case on output.  */
-# define OLCUC	0000002		/* Map lower case to upper case on output.  */
+#define ONLCR	0000004		/* Map NL to CR-NL on output.  */
-# define ONLCR	0000004		/* Map NL to CR-NL on output.  */
+#define OCRNL	0000010
-# define OCRNL	0000010
+#define ONOCR	0000020
-# define ONOCR	0000020
+#define ONLRET	0000040
-# define ONLRET	0000040
+#define OFILL	0000100
-# define OFILL	0000100
+#define OFDEL	0000200
-# define OFDEL	0000200
+#if defined __USE_MISC || defined __USE_XOPEN
 # define NLDLY	0000400
 # define NLDLY	0000400
 # define   NL0	0000000
 # define   NL0	0000000
 # define   NL1	0000400
 # define   NL1	0000400
@@ -150,24 +97,26 @@ struct termios
 # define   TAB1	0004000
 # define   TAB1	0004000
 # define   TAB2	0010000
 # define   TAB2	0010000
 # define   TAB3	0014000
 # define   TAB3	0014000
-# define  XTABS	0014000
 # define BSDLY	0020000
 # define BSDLY	0020000
 # define   BS0	0000000
 # define   BS0	0000000
 # define   BS1	0020000
 # define   BS1	0020000
-# define VTDLY	0040000
-# define   VT0	0000000
-# define   VT1	0040000
 # define FFDLY	0100000
 # define FFDLY	0100000
 # define   FF0	0000000
 # define   FF0	0000000
 # define   FF1	0100000
 # define   FF1	0100000
-/*
+#endif
-#define PAGEOUT ???
+
-#define WRAP    ???
+#define VTDLY	0040000
- */
+#define   VT0	0000000
+#define   VT1	0040000
+
+#ifdef __USE_MISC
+# define XTABS  0014000
 #endif
 #endif
 
 
 /* c_cflag bit meaning */
 /* c_cflag bit meaning */
-#define CBAUD	0010017
+#ifdef __USE_MISC
+# define CBAUD	0010017
+#endif
 #define  B0	0000000		/* hang up */
 #define  B0	0000000		/* hang up */
 #define  B50	0000001
 #define  B50	0000001
 #define  B75	0000002
 #define  B75	0000002
@@ -184,8 +133,10 @@ struct termios
 #define  B9600	0000015
 #define  B9600	0000015
 #define  B19200	0000016
 #define  B19200	0000016
 #define  B38400	0000017
 #define  B38400	0000017
-#define EXTA B19200
+#ifdef __USE_MISC
-#define EXTB B38400
+# define EXTA B19200
+# define EXTB B38400
+#endif
 #define CSIZE	0000060		/* Number of bits per byte (mask).  */
 #define CSIZE	0000060		/* Number of bits per byte (mask).  */
 #define   CS5	0000000		/* 5 bits per byte.  */
 #define   CS5	0000000		/* 5 bits per byte.  */
 #define   CS6	0000020		/* 6 bits per byte.  */
 #define   CS6	0000020		/* 6 bits per byte.  */
@@ -197,23 +148,26 @@ struct termios
 #define PARODD	0001000		/* Odd parity instead of even.  */
 #define PARODD	0001000		/* Odd parity instead of even.  */
 #define HUPCL	0002000		/* Hang up on last close.  */
 #define HUPCL	0002000		/* Hang up on last close.  */
 #define CLOCAL	0004000		/* Ignore modem status lines.  */
 #define CLOCAL	0004000		/* Ignore modem status lines.  */
-#ifdef __USE_BSD
+#ifdef __USE_MISC
 # define CBAUDEX   0010000
 # define CBAUDEX   0010000
-# define  B57600   0010001
+#endif
-# define  B115200  0010002
+#define  B57600   0010001
-# define  B230400  0010003
+#define  B115200  0010002
-# define  B460800  0010004
+#define  B230400  0010003
-# define  B500000  0010005
+#define  B460800  0010004
-# define  B576000  0010006
+#define  B500000  0010005
-# define  B921600  0010007
+#define  B576000  0010006
-# define  B1000000 0010010
+#define  B921600  0010007
-# define  B1152000 0010011
+#define  B1000000 0010010
-# define  B1500000 0010012
+#define  B1152000 0010011
-# define  B2000000 0010013
+#define  B1500000 0010012
-# define  B2500000 0010014
+#define  B2000000 0010013
-# define  B3000000 0010015
+#define  B2500000 0010014
-# define  B3500000 0010016
+#define  B3000000 0010015
-# define  B4000000 0010017
+#define  B3500000 0010016
+#define  B4000000 0010017
+#define __MAX_BAUD B4000000
+#ifdef __USE_MISC
 # define CIBAUD	  002003600000	/* input baud rate (not used) */
 # define CIBAUD	  002003600000	/* input baud rate (not used) */
 # define CRTSCTS  020000000000		/* flow control */
 # define CRTSCTS  020000000000		/* flow control */
 #endif
 #endif
@@ -221,20 +175,20 @@ struct termios
 /* c_lflag bits */
 /* c_lflag bits */
 #define ISIG	0000001		/* Enable signals.  */
 #define ISIG	0000001		/* Enable signals.  */
 #define ICANON	0000002		/* Do erase and kill processing.  */
 #define ICANON	0000002		/* Do erase and kill processing.  */
-#define XCASE	0000004
+#if defined __USE_MISC || defined __USE_XOPEN
+# define XCASE	0000004
+#endif
 #define ECHO	0000010		/* Enable echo.  */
 #define ECHO	0000010		/* Enable echo.  */
 #define ECHOE	0000020		/* Visual erase for ERASE.  */
 #define ECHOE	0000020		/* Visual erase for ERASE.  */
 #define ECHOK	0000040		/* Echo NL after KILL.  */
 #define ECHOK	0000040		/* Echo NL after KILL.  */
 #define ECHONL	0000100		/* Echo NL even if ECHO is off.  */
 #define ECHONL	0000100		/* Echo NL even if ECHO is off.  */
 #define NOFLSH	0000200		/* Disable flush after interrupt.  */
 #define NOFLSH	0000200		/* Disable flush after interrupt.  */
 #define IEXTEN	0000400		/* Enable DISCARD and LNEXT.  */
 #define IEXTEN	0000400		/* Enable DISCARD and LNEXT.  */
-#ifdef __USE_BSD
+#ifdef __USE_MISC
 # define ECHOCTL 0001000	/* Echo control characters as ^X.  */
 # define ECHOCTL 0001000	/* Echo control characters as ^X.  */
 # define ECHOPRT 0002000	/* Hardcopy visual erase.  */
 # define ECHOPRT 0002000	/* Hardcopy visual erase.  */
 # define ECHOKE	 0004000	/* Visual erase for KILL.  */
 # define ECHOKE	 0004000	/* Visual erase for KILL.  */
-#endif
+# define FLUSHO	0020000
-#define FLUSHO	0020000
-#ifdef __USE_BSD
 # define PENDIN	0040000		/* Retype pending input (state).  */
 # define PENDIN	0040000		/* Retype pending input (state).  */
 #endif
 #endif
 #define TOSTOP	0100000		/* Send SIGTTOU for background output.  */
 #define TOSTOP	0100000		/* Send SIGTTOU for background output.  */

+ 8 - 8
libc/sysdeps/linux/mips/bits/time.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /*
 /*
  * Never include this file directly; use <time.h> instead.
  * Never include this file directly; use <time.h> instead.

+ 8 - 27
libc/sysdeps/linux/mips/bits/types.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /*
 /*
  * Never include this file directly; use <sys/types.h> instead.
  * Never include this file directly; use <sys/types.h> instead.
@@ -136,25 +136,6 @@ typedef int __intptr_t;
 /* Duplicate info from sys/socket.h.  */
 /* Duplicate info from sys/socket.h.  */
 typedef unsigned int __socklen_t;
 typedef unsigned int __socklen_t;
 
 
-/* --- */
-/* Added by ds */
-/* I don't understand why these weren't here... */
-#define __NFDBITS	(8 * sizeof(__fd_mask))
-#define __FDELT(d)	((d) / __NFDBITS)
-#define __FDMASK(d)	((__fd_mask) 1 << ((d) % __NFDBITS))
-
-typedef unsigned long __fd_mask;
-typedef struct
-  {
-#ifdef __USE_XOPEN
-    __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS];
-#define __FDS_BITS(set) ((set)->fds_bits)
-#else
-    __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS];
-#define __FDS_BITS(set) ((set)->__fds_bits)
-#endif
-  } __fd_set;
-/* --- */
 
 
 /* Now add the thread types.  */
 /* Now add the thread types.  */
 #if defined __USE_POSIX199506 || defined __USE_UNIX98
 #if defined __USE_POSIX199506 || defined __USE_UNIX98

+ 8 - 8
libc/sysdeps/linux/mips/bits/uio.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_UIO_H
 #ifndef _SYS_UIO_H
 # error "Never include <bits/uio.h> directly; use <sys/uio.h> instead."
 # error "Never include <bits/uio.h> directly; use <sys/uio.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/ustat.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #include <sys/types.h>
 #include <sys/types.h>
 
 

+ 9 - 8
libc/sysdeps/linux/mips/bits/utmp.h

@@ -1,20 +1,21 @@
 /* The `struct utmp' type, describing entries in the utmp file.  GNU version.
 /* The `struct utmp' type, describing entries in the utmp file.  GNU version.
    Copyright (C) 1993, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    Copyright (C) 1993, 1996, 1997, 1998, 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
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _UTMP_H
 #ifndef _UTMP_H
 # error "Never include <bits/utmp.h> directly; use <utmp.h> instead."
 # error "Never include <bits/utmp.h> directly; use <utmp.h> instead."

+ 9 - 8
libc/sysdeps/linux/mips/bits/utmpx.h

@@ -1,20 +1,21 @@
 /* Structures and definitions for the user accounting database.  GNU version.
 /* Structures and definitions for the user accounting database.  GNU version.
    Copyright (C) 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
    Copyright (C) 1997, 1998, 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
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _UTMPX_H
 #ifndef _UTMPX_H
 # error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
 # error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/utsname.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _SYS_UTSNAME_H
 #ifndef _SYS_UTSNAME_H
 # error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead."
 # error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/waitflags.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _SYS_WAIT_H && !defined _STDLIB_H
 #if !defined _SYS_WAIT_H && !defined _STDLIB_H
 # error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
 # error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/waitstatus.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #if !defined _SYS_WAIT_H && !defined _STDLIB_H
 #if !defined _SYS_WAIT_H && !defined _STDLIB_H
 # error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead."
 # error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead."

+ 8 - 8
libc/sysdeps/linux/mips/bits/wchar.h

@@ -3,19 +3,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #ifndef _BITS_WCHAR_H
 #ifndef _BITS_WCHAR_H
 #define _BITS_WCHAR_H	1
 #define _BITS_WCHAR_H	1

+ 8 - 8
libc/sysdeps/linux/mips/bits/wordsize.h

@@ -2,18 +2,18 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 #define __WORDSIZE	32
 #define __WORDSIZE	32

+ 8 - 8
libc/sysdeps/linux/mips/bits/xopen_lim.h

@@ -2,19 +2,19 @@
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
 
 
    The GNU C Library is free software; you can redistribute it and/or
    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
+   modify it under the terms of the GNU Lesser General Public
-   published by the Free Software Foundation; either version 2 of the
+   License as published by the Free Software Foundation; either
-   License, or (at your option) any later version.
+   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,
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   License along with the GNU C Library; if not, write to the Free
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   Boston, MA 02111-1307, USA.  */
+   02111-1307 USA.  */
 
 
 /*
 /*
  * Never include this file directly; use <limits.h> instead.
  * Never include this file directly; use <limits.h> instead.