about summary refs log tree commit diff
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)
downloadglibc-b25ae9c6a41d91a57379c223420b6b8a05940ff2.tar.gz
glibc-b25ae9c6a41d91a57379c223420b6b8a05940ff2.tar.xz
glibc-b25ae9c6a41d91a57379c223420b6b8a05940ff2.zip
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 -).