summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-04 01:41:11 +0000
committerRoland McGrath <roland@gnu.org>1996-06-04 01:41:11 +0000
commitb25ae9c6a41d91a57379c223420b6b8a05940ff2 (patch)
treece9cb6b04e32db5e93477f9e51c0ee3169acad36 /sysdeps
parent5f2eab4263a916625b42d6ad6990ca0f658bca88 (diff)
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. * 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.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/gnu/Makefile28
-rw-r--r--sysdeps/gnu/errlist.awk (renamed from sysdeps/mach/hurd/errlist.awk)38
-rw-r--r--sysdeps/gnu/errlist.c423
-rw-r--r--sysdeps/mach/hurd/Makefile11
4 files changed, 466 insertions, 34 deletions
diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile
new file mode 100644
index 0000000000..45c63136f8
--- /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/mach/hurd/errlist.awk b/sysdeps/gnu/errlist.awk
index a06ec88af7..d14348f0b9 100644
--- a/sysdeps/mach/hurd/errlist.awk
+++ b/sysdeps/gnu/errlist.awk
@@ -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
@@ -25,15 +25,11 @@
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" \
@@ -51,27 +47,19 @@ errnoh == 2 && $1 == "@deftypevr" && $2 == "Macro" && $3 == "int" \
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)";
}
diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c
new file mode 100644
index 0000000000..59e7f52b97
--- /dev/null
+++ b/sysdeps/gnu/errlist.c
@@ -0,0 +1,423 @@
+/* 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)
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index 298cd5f71a..f4b590a06b 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 -).