From b25ae9c6a41d91a57379c223420b6b8a05940ff2 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 4 Jun 1996 01:41:11 +0000 Subject: Tue Jun 4 00:16:03 1996 Roland McGrath * sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("..."). * intl: Updated from gettext-0.10.13. * intl/localealias.c intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA. * signal/siggetmask.c: New file. Wrapper around sigblock with link_warning about obsolescence. * signal/Makefile (routines): Add siggetmask. * sysdeps/gnu/errlist.awk: New file, adapted from ... * sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it. * sysdeps/mach/hurd/Makefile (errlist.c): Target removed. * sysdeps/gnu/Makefile: New file. (sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this. * manual/errno.texi (Error Codes): Add placeholder items for missing Linux/i386 errno codes, with perror text but no documentation. Some existing perror texts changed. --- ChangeLog | 21 +++ intl/dcgettext.c | 4 + intl/localealias.c | 4 + manual/errno.texi | 306 +++++++++++++++++++++++++++++- signal/Makefile | 4 +- signal/siggetmask.c | 29 +++ sysdeps/gnu/Makefile | 28 +++ sysdeps/gnu/errlist.awk | 65 +++++++ sysdeps/gnu/errlist.c | 423 ++++++++++++++++++++++++++++++++++++++++++ sysdeps/mach/hurd/Makefile | 11 +- sysdeps/mach/hurd/errlist.awk | 77 -------- 11 files changed, 876 insertions(+), 96 deletions(-) create mode 100644 signal/siggetmask.c create mode 100644 sysdeps/gnu/Makefile create mode 100644 sysdeps/gnu/errlist.awk create mode 100644 sysdeps/gnu/errlist.c delete mode 100644 sysdeps/mach/hurd/errlist.awk diff --git a/ChangeLog b/ChangeLog index 77bfb70..eaf157e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,26 @@ +Tue Jun 4 00:16:03 1996 Roland McGrath + + * sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("..."). + + * intl: Updated from gettext-0.10.13. + * intl/localealias.c intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA. + + * signal/siggetmask.c: New file. Wrapper around sigblock with + link_warning about obsolescence. + * signal/Makefile (routines): Add siggetmask. + + * sysdeps/gnu/errlist.awk: New file, adapted from ... + * sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it. + * sysdeps/mach/hurd/Makefile (errlist.c): Target removed. + * sysdeps/gnu/Makefile: New file. + (sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this. + Mon Jun 3 21:03:54 1996 Roland McGrath + * manual/errno.texi (Error Codes): Add placeholder items for missing + Linux/i386 errno codes, with perror text but no documentation. + Some existing perror texts changed. + * malloc/mcheck.c (freehook, reallochook): Handle null pointer args. * hurd/hurdsig.c (_hurd_internal_post_signal): When setting ACT to diff --git a/intl/dcgettext.c b/intl/dcgettext.c index 5c14dca..743c85b 100644 --- a/intl/dcgettext.c +++ b/intl/dcgettext.c @@ -162,6 +162,10 @@ static const char *guess_category_value PARAMS ((int category, const char *categoryname)); +#ifdef _LIBC +#define HAVE_ALLOCA 1 +#endif + /* For those loosing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA diff --git a/intl/localealias.c b/intl/localealias.c index 57c4a01..8ecbfcb 100644 --- a/intl/localealias.c +++ b/intl/localealias.c @@ -78,6 +78,10 @@ void free (); #endif +#ifdef _LIBC +#define HAVE_ALLOCA 1 +#endif + /* For those loosing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA diff --git a/manual/errno.texi b/manual/errno.texi index 6b8b983..09c6ac6 100644 --- a/manual/errno.texi +++ b/manual/errno.texi @@ -250,7 +250,7 @@ system in Unix gives this error. @end deftypevr @comment errno.h -@comment POSIX.1: Device busy +@comment POSIX.1: Device or resource busy @deftypevr Macro int EBUSY @comment errno 16 @c DO NOT REMOVE Resource busy; a system resource that can't be shared is already in use. @@ -546,7 +546,7 @@ The socket communications protocol family you requested is not supported. @end deftypevr @comment errno.h -@comment BSD: Address family not supported by protocol family +@comment BSD: Address family not supported by protocol @deftypevr Macro int EAFNOSUPPORT @comment errno 47 @c DO NOT REMOVE The address family specified for a socket is not supported; it is @@ -561,7 +561,7 @@ The requested socket address is already in use. @xref{Socket Addresses}. @end deftypevr @comment errno.h -@comment BSD: Can't assign requested address +@comment BSD: Cannot assign requested address @deftypevr Macro int EADDRNOTAVAIL @comment errno 49 @c DO NOT REMOVE The requested socket address is not available; for example, you tried @@ -617,7 +617,7 @@ other from network operations. @end deftypevr @comment errno.h -@comment BSD: Socket is already connected +@comment BSD: Transport endpoint is already connected @deftypevr Macro int EISCONN @comment errno 56 @c DO NOT REMOVE You tried to connect a socket that is already connected. @@ -625,7 +625,7 @@ You tried to connect a socket that is already connected. @end deftypevr @comment errno.h -@comment BSD: Socket is not connected +@comment BSD: Transport endpoint is not connected @deftypevr Macro int ENOTCONN @comment errno 57 @c DO NOT REMOVE The socket is not connected to anything. You get this error when you @@ -644,14 +644,14 @@ without first specifying a destination for the data with @code{connect}. @end deftypevr @comment errno.h -@comment BSD: Can't send after socket shutdown +@comment BSD: Cannot send after transport endpoint shutdown @deftypevr Macro int ESHUTDOWN @comment errno 58 @c DO NOT REMOVE The socket has already been shut down. @end deftypevr @comment errno.h -@comment BSD: Too many references: can't splice +@comment BSD: Too many references: cannot splice @deftypevr Macro int ETOOMANYREFS @comment errno 59 @c DO NOT REMOVE ??? @@ -747,7 +747,7 @@ the NFS file system on the local host. @end deftypevr @comment errno.h -@comment BSD: Too many levels of remote in path +@comment BSD: Object is remote @deftypevr Macro int EREMOTE @comment errno 71 @c DO NOT REMOVE An attempt was made to NFS-mount a remote file system with a file name that @@ -892,6 +892,296 @@ Go home and have a glass of warm, dairy-fresh milk. This error code has no purpose. @end deftypevr +@emph{The following error codes are defined by the Linux/i386 kernel. +They are not yet documented.} + +@comment errno.h +@comment Linux???: Interrupted system call should be restarted +@deftypevr Macro int ERESTART +@comment errno ???/85 +@end deftypevr + +@comment errno.h +@comment Linux???: No message of desired type +@deftypevr Macro int ENOMSG +@comment errno ???/42 +@end deftypevr + +@comment errno.h +@comment Linux???: Identifier removed +@deftypevr Macro int EIDRM +@comment errno ???/43 +@end deftypevr + +@comment errno.h +@comment Linux???: Channel number out of range +@deftypevr Macro int ECHRNG +@comment errno ???/44 +@end deftypevr + +@comment errno.h +@comment Linux???: Level 2 not synchronized +@deftypevr Macro int EL2NSYNC +@comment errno ???/45 +@end deftypevr + +@comment errno.h +@comment Linux???: Level 3 halted +@deftypevr Macro int EL3HLT +@comment errno ???/46 +@end deftypevr + +@comment errno.h +@comment Linux???: Level 3 reset +@deftypevr Macro int EL3RST +@comment errno ???/47 +@end deftypevr + +@comment errno.h +@comment Linux???: Link number out of range +@deftypevr Macro int ELNRNG +@comment errno ???/48 +@end deftypevr + +@comment errno.h +@comment Linux???: Protocol driver not attached +@deftypevr Macro int EUNATCH +@comment errno ???/49 +@end deftypevr + +@comment errno.h +@comment Linux???: No CSI structure available +@deftypevr Macro int ENOCSI +@comment errno ???/50 +@end deftypevr + +@comment errno.h +@comment Linux???: Level 2 halted +@deftypevr Macro int EL2HLT +@comment errno ???/51 +@end deftypevr + +@comment errno.h +@comment Linux???: Invalid exchange +@deftypevr Macro int EBADE +@comment errno ???/52 +@end deftypevr + +@comment errno.h +@comment Linux???: Invalid request descriptor +@deftypevr Macro int EBADR +@comment errno ???/53 +@end deftypevr + +@comment errno.h +@comment Linux???: Exchange full +@deftypevr Macro int EXFULL +@comment errno ???/54 +@end deftypevr + +@comment errno.h +@comment Linux???: No anode +@deftypevr Macro int ENOANO +@comment errno ???/55 +@end deftypevr + +@comment errno.h +@comment Linux???: Invalid request code +@deftypevr Macro int EBADRQC +@comment errno ???/56 +@end deftypevr + +@comment errno.h +@comment Linux???: Invalid slot +@deftypevr Macro int EBADSLT +@comment errno ???/57 +@end deftypevr + +@comment errno.h +@comment Linux???: File locking deadlock error +@deftypevr Macro int EDEADLOCK +@comment errno ???/58 +@end deftypevr + +@comment errno.h +@comment Linux???: Bad font file format +@deftypevr Macro int EBFONT +@comment errno ???/59 +@end deftypevr + +@comment errno.h +@comment Linux???: Device not a stream +@deftypevr Macro int ENOSTR +@comment errno ???/60 +@end deftypevr + +@comment errno.h +@comment Linux???: No data available +@deftypevr Macro int ENODATA +@comment errno ???/61 +@end deftypevr + +@comment errno.h +@comment Linux???: Timer expired +@deftypevr Macro int ETIME +@comment errno ???/62 +@end deftypevr + +@comment errno.h +@comment Linux???: Out of streams resources +@deftypevr Macro int ENOSR +@comment errno ???/63 +@end deftypevr + +@comment errno.h +@comment Linux???: Machine is not on the network +@deftypevr Macro int ENONET +@comment errno ???/64 +@end deftypevr + +@comment errno.h +@comment Linux???: Package not installed +@deftypevr Macro int ENOPKG +@comment errno ???/65 +@end deftypevr + +@comment errno.h +@comment Linux???: Link has been severed +@deftypevr Macro int ENOLINK +@comment errno ???/67 +@end deftypevr + +@comment errno.h +@comment Linux???: Advertise error +@deftypevr Macro int EADV +@comment errno ???/68 +@end deftypevr + +@comment errno.h +@comment Linux???: Srmount error +@deftypevr Macro int ESRMNT +@comment errno ???/69 +@end deftypevr + +@comment errno.h +@comment Linux???: Communication error on send +@deftypevr Macro int ECOMM +@comment errno ???/70 +@end deftypevr + +@comment errno.h +@comment Linux???: Protocol error +@deftypevr Macro int EPROTO +@comment errno ???/71 +@end deftypevr + +@comment errno.h +@comment Linux???: Multihop attempted +@deftypevr Macro int EMULTIHOP +@comment errno ???/72 +@end deftypevr + +@comment errno.h +@comment Linux???: RFS specific error +@deftypevr Macro int EDOTDOT +@comment errno ???/73 +@end deftypevr + +@comment errno.h +@comment Linux???: Not a data message +@deftypevr Macro int EBADMSG +@comment errno ???/74 +@end deftypevr + +@comment errno.h +@comment Linux???: Value too large for defined data type +@deftypevr Macro int EOVERFLOW +@comment errno ???/75 +@end deftypevr + +@comment errno.h +@comment Linux???: Name not unique on network +@deftypevr Macro int ENOTUNIQ +@comment errno ???/76 +@end deftypevr + +@comment errno.h +@comment Linux???: File descriptor in bad state +@deftypevr Macro int EBADFD +@comment errno ???/77 +@end deftypevr + +@comment errno.h +@comment Linux???: Remote address changed +@deftypevr Macro int EREMCHG +@comment errno ???/78 +@end deftypevr + +@comment errno.h +@comment Linux???: Can not access a needed shared library +@deftypevr Macro int ELIBACC +@comment errno ???/79 +@end deftypevr + +@comment errno.h +@comment Linux???: Accessing a corrupted shared library +@deftypevr Macro int ELIBBAD +@comment errno ???/80 +@end deftypevr + +@comment errno.h +@comment Linux???: .lib section in a.out corrupted +@deftypevr Macro int ELIBSCN +@comment errno ???/81 +@end deftypevr + +@comment errno.h +@comment Linux???: Attempting to link in too many shared libraries +@deftypevr Macro int ELIBMAX +@comment errno ???/82 +@end deftypevr + +@comment errno.h +@comment Linux???: Cannot exec a shared library directly +@deftypevr Macro int ELIBEXEC +@comment errno ???/83 +@end deftypevr + +@comment errno.h +@comment Linux???: Streams pipe error +@deftypevr Macro int ESTRPIPE +@comment errno ???/86 +@end deftypevr + +@comment errno.h +@comment Linux???: Structure needs cleaning +@deftypevr Macro int EUCLEAN +@comment errno ???/117 +@end deftypevr + +@comment errno.h +@comment Linux???: Not a XENIX named type file +@deftypevr Macro int ENOTNAM +@comment errno ???/118 +@end deftypevr + +@comment errno.h +@comment Linux???: No XENIX semaphores available +@deftypevr Macro int ENAVAIL +@comment errno ???/119 +@end deftypevr + +@comment errno.h +@comment Linux???: Is a named type file +@deftypevr Macro int EISNAM +@comment errno ???/120 +@end deftypevr + +@comment errno.h +@comment Linux???: Remote I/O error +@deftypevr Macro int EREMOTEIO +@comment errno ???/121 +@end deftypevr @node Error Messages, , Error Codes, Error Reporting @section Error Messages diff --git a/signal/Makefile b/signal/Makefile index a6e89ad..6957953 100644 --- a/signal/Makefile +++ b/signal/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -30,7 +30,7 @@ routines := signal raise killpg \ sigstack sigaltstack sigintr \ sigsetops sigempty sigfillset sigaddset sigdelset sigismem \ sigreturn \ - gsignal ssignal + gsignal ssignal siggetmask tests := tst-signal diff --git a/signal/siggetmask.c b/signal/siggetmask.c new file mode 100644 index 0000000..348fe9a --- /dev/null +++ b/signal/siggetmask.c @@ -0,0 +1,29 @@ +/* siggetmask -- useless alias for `sigblock (0)' for old Linux compatibility. +Copyright (C) 1996 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include + +int +siggetmask (void) +{ + return __sigblock (0); +} + +link_warning (siggetmask, + "warning: `siggetmask' is obsolete; `sigprocmask' is best") diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile new file mode 100644 index 0000000..45c6313 --- /dev/null +++ b/sysdeps/gnu/Makefile @@ -0,0 +1,28 @@ +# Copyright (C) 1996 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License +# as published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# Generate the list of strings for errno codes from the section of the +# manual which documents the codes. + +$(..)sysdeps/gnu/errlist.c: $(..)sysdeps/gnu/errlist.awk \ + $(..)manual/errno.texi + awk -f $^ > $@-tmp +# Make it unwritable so noone will edit it by mistake. + -chmod a-w $@-tmp + mv -f $@-tmp $@ + test ! -d CVS || cvs commit -m'Regenerated from $^' $@ diff --git a/sysdeps/gnu/errlist.awk b/sysdeps/gnu/errlist.awk new file mode 100644 index 0000000..d14348f0 --- /dev/null +++ b/sysdeps/gnu/errlist.awk @@ -0,0 +1,65 @@ +# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License +# as published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# errno.texinfo contains lines like: +# @comment errno.h +# @comment POSIX.1: Function not implemented +# @deftypevr Macro int ENOSYS +# @comment errno 78 + +BEGIN { + print "/* This file is generated from errno.texi by errlist.awk. */" + print ""; + print "#include "; + print ""; + print "const char *_sys_errlist[] ="; + print " {"; + print " [0] = N_(\"Success\")," + } +$1 == "@comment" && $2 == "errno.h" { errnoh=1; next } +errnoh == 1 && $1 == "@comment" \ + { + ++errnoh; + etext = $3; + for (i = 4; i <= NF; ++i) + etext = etext " " $i; + next; + } +errnoh == 2 && $1 == "@deftypevr" && $2 == "Macro" && $3 == "int" \ + { + e = $4; errnoh++; next; + } +errnoh == 3 && $1 == "@comment" && $2 == "errno" \ + { + errno = $3 + 0; + if (e == "EWOULDBLOCK") + print "#if defined (EWOULDBLOCK) && EWOULDBLOCK != EAGAIN"; + else + printf "#ifdef %s\n", e; + printf " [%s] = N_(\"%s\"),\n", e, etext; + print "#endif"; + next; + } +{ errnoh=0 } +END { + print " };"; + print ""; + print "const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0];"; + print "weak_alias (_sys_errlist, sys_errlist)"; + print "weak_alias (_sys_nerr, sys_nerr)"; + } diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c new file mode 100644 index 0000000..59e7f52 --- /dev/null +++ b/sysdeps/gnu/errlist.c @@ -0,0 +1,423 @@ +/* This file is generated from errno.texi by errlist.awk. */ + +#include + +const char *_sys_errlist[] = + { + [0] = N_("Success"), +#ifdef EPERM + [EPERM] = N_("Operation not permitted"), +#endif +#ifdef ENOENT + [ENOENT] = N_("No such file or directory"), +#endif +#ifdef ESRCH + [ESRCH] = N_("No such process"), +#endif +#ifdef EINTR + [EINTR] = N_("Interrupted system call"), +#endif +#ifdef EIO + [EIO] = N_("Input/output error"), +#endif +#ifdef ENXIO + [ENXIO] = N_("Device not configured"), +#endif +#ifdef E2BIG + [E2BIG] = N_("Argument list too long"), +#endif +#ifdef ENOEXEC + [ENOEXEC] = N_("Exec format error"), +#endif +#ifdef EBADF + [EBADF] = N_("Bad file descriptor"), +#endif +#ifdef ECHILD + [ECHILD] = N_("No child processes"), +#endif +#ifdef EDEADLK + [EDEADLK] = N_("Resource deadlock avoided"), +#endif +#ifdef ENOMEM + [ENOMEM] = N_("Cannot allocate memory"), +#endif +#ifdef EACCES + [EACCES] = N_("Permission denied"), +#endif +#ifdef EFAULT + [EFAULT] = N_("Bad address"), +#endif +#ifdef ENOTBLK + [ENOTBLK] = N_("Block device required"), +#endif +#ifdef EBUSY + [EBUSY] = N_("Device or resource busy"), +#endif +#ifdef EEXIST + [EEXIST] = N_("File exists"), +#endif +#ifdef EXDEV + [EXDEV] = N_("Invalid cross-device link"), +#endif +#ifdef ENODEV + [ENODEV] = N_("Operation not supported by device"), +#endif +#ifdef ENOTDIR + [ENOTDIR] = N_("Not a directory"), +#endif +#ifdef EISDIR + [EISDIR] = N_("Is a directory"), +#endif +#ifdef EINVAL + [EINVAL] = N_("Invalid argument"), +#endif +#ifdef EMFILE + [EMFILE] = N_("Too many open files"), +#endif +#ifdef ENFILE + [ENFILE] = N_("Too many open files in system"), +#endif +#ifdef ENOTTY + [ENOTTY] = N_("Inappropriate ioctl for device"), +#endif +#ifdef ETXTBSY + [ETXTBSY] = N_("Text file busy"), +#endif +#ifdef EFBIG + [EFBIG] = N_("File too large"), +#endif +#ifdef ENOSPC + [ENOSPC] = N_("No space left on device"), +#endif +#ifdef ESPIPE + [ESPIPE] = N_("Illegal seek"), +#endif +#ifdef EROFS + [EROFS] = N_("Read-only file system"), +#endif +#ifdef EMLINK + [EMLINK] = N_("Too many links"), +#endif +#ifdef EPIPE + [EPIPE] = N_("Broken pipe"), +#endif +#ifdef EDOM + [EDOM] = N_("Numerical argument out of domain"), +#endif +#ifdef ERANGE + [ERANGE] = N_("Numerical result out of range"), +#endif +#ifdef EAGAIN + [EAGAIN] = N_("Resource temporarily unavailable"), +#endif +#if defined (EWOULDBLOCK) && EWOULDBLOCK != EAGAIN + [EWOULDBLOCK] = N_("Operation would block"), +#endif +#ifdef EINPROGRESS + [EINPROGRESS] = N_("Operation now in progress"), +#endif +#ifdef EALREADY + [EALREADY] = N_("Operation already in progress"), +#endif +#ifdef ENOTSOCK + [ENOTSOCK] = N_("Socket operation on non-socket"), +#endif +#ifdef EMSGSIZE + [EMSGSIZE] = N_("Message too long"), +#endif +#ifdef EPROTOTYPE + [EPROTOTYPE] = N_("Protocol wrong type for socket"), +#endif +#ifdef ENOPROTOOPT + [ENOPROTOOPT] = N_("Protocol not available"), +#endif +#ifdef EPROTONOSUPPORT + [EPROTONOSUPPORT] = N_("Protocol not supported"), +#endif +#ifdef ESOCKTNOSUPPORT + [ESOCKTNOSUPPORT] = N_("Socket type not supported"), +#endif +#ifdef EOPNOTSUPP + [EOPNOTSUPP] = N_("Operation not supported"), +#endif +#ifdef EPFNOSUPPORT + [EPFNOSUPPORT] = N_("Protocol family not supported"), +#endif +#ifdef EAFNOSUPPORT + [EAFNOSUPPORT] = N_("Address family not supported by protocol"), +#endif +#ifdef EADDRINUSE + [EADDRINUSE] = N_("Address already in use"), +#endif +#ifdef EADDRNOTAVAIL + [EADDRNOTAVAIL] = N_("Cannot assign requested address"), +#endif +#ifdef ENETDOWN + [ENETDOWN] = N_("Network is down"), +#endif +#ifdef ENETUNREACH + [ENETUNREACH] = N_("Network is unreachable"), +#endif +#ifdef ENETRESET + [ENETRESET] = N_("Network dropped connection on reset"), +#endif +#ifdef ECONNABORTED + [ECONNABORTED] = N_("Software caused connection abort"), +#endif +#ifdef ECONNRESET + [ECONNRESET] = N_("Connection reset by peer"), +#endif +#ifdef ENOBUFS + [ENOBUFS] = N_("No buffer space available"), +#endif +#ifdef EISCONN + [EISCONN] = N_("Transport endpoint is already connected"), +#endif +#ifdef ENOTCONN + [ENOTCONN] = N_("Transport endpoint is not connected"), +#endif +#ifdef EDESTADDRREQ + [EDESTADDRREQ] = N_("Destination address required"), +#endif +#ifdef ESHUTDOWN + [ESHUTDOWN] = N_("Cannot send after transport endpoint shutdown"), +#endif +#ifdef ETOOMANYREFS + [ETOOMANYREFS] = N_("Too many references: cannot splice"), +#endif +#ifdef ETIMEDOUT + [ETIMEDOUT] = N_("Connection timed out"), +#endif +#ifdef ECONNREFUSED + [ECONNREFUSED] = N_("Connection refused"), +#endif +#ifdef ELOOP + [ELOOP] = N_("Too many levels of symbolic links"), +#endif +#ifdef ENAMETOOLONG + [ENAMETOOLONG] = N_("File name too long"), +#endif +#ifdef EHOSTDOWN + [EHOSTDOWN] = N_("Host is down"), +#endif +#ifdef EHOSTUNREACH + [EHOSTUNREACH] = N_("No route to host"), +#endif +#ifdef ENOTEMPTY + [ENOTEMPTY] = N_("Directory not empty"), +#endif +#ifdef EPROCLIM + [EPROCLIM] = N_("Too many processes"), +#endif +#ifdef EUSERS + [EUSERS] = N_("Too many users"), +#endif +#ifdef EDQUOT + [EDQUOT] = N_("Disc quota exceeded"), +#endif +#ifdef ESTALE + [ESTALE] = N_("Stale NFS file handle"), +#endif +#ifdef EREMOTE + [EREMOTE] = N_("Object is remote"), +#endif +#ifdef EBADRPC + [EBADRPC] = N_("RPC struct is bad"), +#endif +#ifdef ERPCMISMATCH + [ERPCMISMATCH] = N_("RPC version wrong"), +#endif +#ifdef EPROGUNAVAIL + [EPROGUNAVAIL] = N_("RPC program not available"), +#endif +#ifdef EPROGMISMATCH + [EPROGMISMATCH] = N_("RPC program version wrong"), +#endif +#ifdef EPROCUNAVAIL + [EPROCUNAVAIL] = N_("RPC bad procedure for program"), +#endif +#ifdef ENOLCK + [ENOLCK] = N_("No locks available"), +#endif +#ifdef EFTYPE + [EFTYPE] = N_("Inappropriate file type or format"), +#endif +#ifdef EAUTH + [EAUTH] = N_("Authentication error"), +#endif +#ifdef ENEEDAUTH + [ENEEDAUTH] = N_("Need authenticator"), +#endif +#ifdef ENOSYS + [ENOSYS] = N_("Function not implemented"), +#endif +#ifdef EILSEQ + [EILSEQ] = N_("Invalid or incomplete multibyte or wide character"), +#endif +#ifdef EBACKGROUND + [EBACKGROUND] = N_("Inappropriate operation for background process"), +#endif +#ifdef EDIED + [EDIED] = N_("Translator died"), +#endif +#ifdef ED + [ED] = N_("?"), +#endif +#ifdef EGREGIOUS + [EGREGIOUS] = N_("You really blew it this time"), +#endif +#ifdef EIEIO + [EIEIO] = N_("Computer bought the farm"), +#endif +#ifdef EGRATUITOUS + [EGRATUITOUS] = N_("Gratuitous error"), +#endif +#ifdef ERESTART + [ERESTART] = N_("Interrupted system call should be restarted"), +#endif +#ifdef ENOMSG + [ENOMSG] = N_("No message of desired type"), +#endif +#ifdef EIDRM + [EIDRM] = N_("Identifier removed"), +#endif +#ifdef ECHRNG + [ECHRNG] = N_("Channel number out of range"), +#endif +#ifdef EL2NSYNC + [EL2NSYNC] = N_("Level 2 not synchronized"), +#endif +#ifdef EL3HLT + [EL3HLT] = N_("Level 3 halted"), +#endif +#ifdef EL3RST + [EL3RST] = N_("Level 3 reset"), +#endif +#ifdef ELNRNG + [ELNRNG] = N_("Link number out of range"), +#endif +#ifdef EUNATCH + [EUNATCH] = N_("Protocol driver not attached"), +#endif +#ifdef ENOCSI + [ENOCSI] = N_("No CSI structure available"), +#endif +#ifdef EL2HLT + [EL2HLT] = N_("Level 2 halted"), +#endif +#ifdef EBADE + [EBADE] = N_("Invalid exchange"), +#endif +#ifdef EBADR + [EBADR] = N_("Invalid request descriptor"), +#endif +#ifdef EXFULL + [EXFULL] = N_("Exchange full"), +#endif +#ifdef ENOANO + [ENOANO] = N_("No anode"), +#endif +#ifdef EBADRQC + [EBADRQC] = N_("Invalid request code"), +#endif +#ifdef EBADSLT + [EBADSLT] = N_("Invalid slot"), +#endif +#ifdef EDEADLOCK + [EDEADLOCK] = N_("File locking deadlock error"), +#endif +#ifdef EBFONT + [EBFONT] = N_("Bad font file format"), +#endif +#ifdef ENOSTR + [ENOSTR] = N_("Device not a stream"), +#endif +#ifdef ENODATA + [ENODATA] = N_("No data available"), +#endif +#ifdef ETIME + [ETIME] = N_("Timer expired"), +#endif +#ifdef ENOSR + [ENOSR] = N_("Out of streams resources"), +#endif +#ifdef ENONET + [ENONET] = N_("Machine is not on the network"), +#endif +#ifdef ENOPKG + [ENOPKG] = N_("Package not installed"), +#endif +#ifdef ENOLINK + [ENOLINK] = N_("Link has been severed"), +#endif +#ifdef EADV + [EADV] = N_("Advertise error"), +#endif +#ifdef ESRMNT + [ESRMNT] = N_("Srmount error"), +#endif +#ifdef ECOMM + [ECOMM] = N_("Communication error on send"), +#endif +#ifdef EPROTO + [EPROTO] = N_("Protocol error"), +#endif +#ifdef EMULTIHOP + [EMULTIHOP] = N_("Multihop attempted"), +#endif +#ifdef EDOTDOT + [EDOTDOT] = N_("RFS specific error"), +#endif +#ifdef EBADMSG + [EBADMSG] = N_("Not a data message"), +#endif +#ifdef EOVERFLOW + [EOVERFLOW] = N_("Value too large for defined data type"), +#endif +#ifdef ENOTUNIQ + [ENOTUNIQ] = N_("Name not unique on network"), +#endif +#ifdef EBADFD + [EBADFD] = N_("File descriptor in bad state"), +#endif +#ifdef EREMCHG + [EREMCHG] = N_("Remote address changed"), +#endif +#ifdef ELIBACC + [ELIBACC] = N_("Can not access a needed shared library"), +#endif +#ifdef ELIBBAD + [ELIBBAD] = N_("Accessing a corrupted shared library"), +#endif +#ifdef ELIBSCN + [ELIBSCN] = N_(".lib section in a.out corrupted"), +#endif +#ifdef ELIBMAX + [ELIBMAX] = N_("Attempting to link in too many shared libraries"), +#endif +#ifdef ELIBEXEC + [ELIBEXEC] = N_("Cannot exec a shared library directly"), +#endif +#ifdef ESTRPIPE + [ESTRPIPE] = N_("Streams pipe error"), +#endif +#ifdef EUCLEAN + [EUCLEAN] = N_("Structure needs cleaning"), +#endif +#ifdef ENOTNAM + [ENOTNAM] = N_("Not a XENIX named type file"), +#endif +#ifdef ENAVAIL + [ENAVAIL] = N_("No XENIX semaphores available"), +#endif +#ifdef EISNAM + [EISNAM] = N_("Is a named type file"), +#endif +#ifdef EREMOTEIO + [EREMOTEIO] = N_("Remote I/O error"), +#endif + }; + +const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0]; +weak_alias (_sys_errlist, sys_errlist) +weak_alias (_sys_nerr, sys_nerr) diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile index 298cd5f..f4b590a 100644 --- a/sysdeps/mach/hurd/Makefile +++ b/sysdeps/mach/hurd/Makefile @@ -53,8 +53,8 @@ $(patsubst %,$(hurd-objpfx)hurd/%.%,io fs process): $(MAKE) -C $(..)hurd generated no_deps=t endif -# Generate errnos.h and sys_errlist.c from the section of the manual that -# lists all the errno codes. +# Generate errnos.h from the section of the manual that lists all the errno +# codes. errno.texinfo = $(..)manual/errno.texi @@ -90,13 +90,6 @@ $(common-objpfx)stamp-errnos: $(hurd)/errnos.awk $(errno.texinfo) \ # (cd $(hurd); cvs commit -m'Regenerated from $^' errnos.h) touch $@ generated += errnos.d stamp-errnos - -$(hurd)/errlist.c: $(hurd)/errlist.awk $(errno.texinfo) - gawk -f $^ > $@-tmp -# Make it unwritable so noone will edit it by mistake. - -chmod a-w $@-tmp - mv -f $@-tmp $@ - test ! -d CVS || cvs commit -m'Regenerated from $^' $@ # We install the real libc.a as libcrt.a and as libc.a we install a linker # script which does -( -lcrt -lmachuser -lhurduser -). diff --git a/sysdeps/mach/hurd/errlist.awk b/sysdeps/mach/hurd/errlist.awk deleted file mode 100644 index a06ec88..0000000 --- a/sysdeps/mach/hurd/errlist.awk +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public License -# as published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public -# License along with the GNU C Library; see the file COPYING.LIB. If -# not, write to the Free Software Foundation, Inc., 675 Mass Ave, -# Cambridge, MA 02139, USA. - -# errno.texinfo contains lines like: -# @comment errno.h -# @comment POSIX.1: Function not implemented -# @deftypevr Macro int ENOSYS -# @comment errno 78 - -BEGIN { - print "/* This file is generated from errno.texi by errlist.awk. */" - print ""; - print "#ifndef HAVE_GNU_LD" - print "#define _sys_nerr sys_nerr" - print "#define _sys_errlist sys_errlist" - print "#endif" - print "" - print "const char *_sys_errlist[] ="; - print " {"; - maxerrno = 0; - print " \"Success\"," - } -$1 == "@comment" && $2 == "errno.h" { errnoh=1; next } -errnoh == 1 && $1 == "@comment" \ - { - ++errnoh; - etext = $3; - for (i = 4; i <= NF; ++i) - etext = etext " " $i; - next; - } -errnoh == 2 && $1 == "@deftypevr" && $2 == "Macro" && $3 == "int" \ - { - e = $4; errnoh++; next; - } -errnoh == 3 && $1 == "@comment" && $2 == "errno" \ - { - errno = $3 + 0; - msgs[errno] = etext; - names[errno] = e; - if (errno > maxerrno) maxerrno = errno; - next; - } -{ errnoh=0 } -END { - for (i = 1; i <= maxerrno; ++i) - { - if (names[i] == "") - print " \"Reserved error " i "\","; - else - printf "%-40s/* %d = %s */\n", " \"" msgs[i] "\",", i, names[i]; - } - print " };"; - print ""; - print "#include "; - printf "#if _HURD_ERRNOS != %d\n", maxerrno+1; - print "#error errlist/errnos generation bug"; - print "#endif" - printf "const int _sys_nerr = %d;\n", maxerrno+1; - print "weak_alias (_sys_errlist, sys_errlist)" - print "weak_alias (_sys_nerr, sys_nerr)" - } -- cgit v1.1