* 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.
+Tue Jun 4 00:16:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * 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 <roland@delasyd.gnu.ai.mit.edu>
+ * 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
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
#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
@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.
@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
@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
@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.
@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
@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
???
@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
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
-# 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
sigstack sigaltstack sigintr \
sigsetops sigempty sigfillset sigaddset sigdelset sigismem \
sigreturn \
- gsignal ssignal
+ gsignal ssignal siggetmask
tests := tst-signal
--- /dev/null
+/* 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 <signal.h>
+
+int
+siggetmask (void)
+{
+ return __sigblock (0);
+}
+
+link_warning (siggetmask,
+ "warning: `siggetmask' is obsolete; `sigprocmask' is best")
--- /dev/null
+# 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 $^' $@
-# 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
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 "#include <errno.h>";
+ print "";
print "const char *_sys_errlist[] =";
print " {";
- maxerrno = 0;
- print " \"Success\","
+ print " [0] = N_(\"Success\"),"
}
$1 == "@comment" && $2 == "errno.h" { errnoh=1; next }
errnoh == 1 && $1 == "@comment" \
errnoh == 3 && $1 == "@comment" && $2 == "errno" \
{
errno = $3 + 0;
- msgs[errno] = etext;
- names[errno] = e;
- if (errno > maxerrno) maxerrno = errno;
+ 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 {
- 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 <errno.h>";
- 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)"
+ 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)";
}
--- /dev/null
+/* This file is generated from errno.texi by errlist.awk. */
+
+#include <errno.h>
+
+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)
$(MAKE) -C $(..)hurd generated no_deps=t
endif
\f
-# 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
# (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 $^' $@
\f
# We install the real libc.a as libcrt.a and as libc.a we install a linker
# script which does -( -lcrt -lmachuser -lhurduser -).