about summary refs log tree commit diff
path: root/sysdeps/gnu
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
commit0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (patch)
tree2ea1f8305970753e4a657acb2ccc15ca3eec8e2c /sysdeps/gnu
parent7d58530341304d403a6626d7f7a1913165fe2f32 (diff)
downloadglibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.gz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.xz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.zip
2.5-18.1
Diffstat (limited to 'sysdeps/gnu')
-rw-r--r--sysdeps/gnu/Dist8
-rw-r--r--sysdeps/gnu/Makefile15
-rw-r--r--sysdeps/gnu/errlist-compat.awk9
-rw-r--r--sysdeps/gnu/errlist.awk7
-rw-r--r--sysdeps/gnu/errlist.c53
-rw-r--r--sysdeps/gnu/glob64.c2
-rw-r--r--sysdeps/gnu/net/if.h4
-rw-r--r--sysdeps/gnu/updwtmp.c4
-rw-r--r--sysdeps/gnu/utmp_file.c4
9 files changed, 76 insertions, 30 deletions
diff --git a/sysdeps/gnu/Dist b/sysdeps/gnu/Dist
deleted file mode 100644
index 526c79b838..0000000000
--- a/sysdeps/gnu/Dist
+++ /dev/null
@@ -1,8 +0,0 @@
-errlist.awk
-errlist-compat.awk
-utmpx.h
-bits/utmpx.h
-netinet/tcp.h
-netinet/udp.h
-netinet/ip_icmp.h
-sys/mtio.h
diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile
index a0b3e6e420..5b9a0a56ed 100644
--- a/sysdeps/gnu/Makefile
+++ b/sysdeps/gnu/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996,1997,1998,1999,2001,2002,2003,2004
+# Copyright (C) 1996,1997,1998,1999,2001,2002,2003,2004,2005,2006
 #	Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -32,12 +32,13 @@ endif
 
 ifeq ($(subdir),stdio-common)
 
-vpath errlist.c $(full_config_sysdirs)
+errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c,$(sysdirs) .)))
+
 ifeq ($(versioning),yes)
-$(objpfx)errlist-compat.c: errlist.c $(..)sysdeps/gnu/errlist-compat.awk \
+$(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
 			   $(common-objpfx)Versions.v.i $(before-compile)
 else
-$(objpfx)errlist-compat.c: errlist.c $(..)sysdeps/gnu/errlist-compat.awk \
+$(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
 			   $(before-compile)
 endif
 	$(make-target-directory)
@@ -45,8 +46,7 @@ endif
 	  $(CC) -S $(CPPFLAGS) $(CFLAGS) -DNOT_IN_libc -DEMIT_ERR_MAX $< -o - \
 	  | sed -n 's/^.*@@@[^0-9]*\([0-9]*\)[^0-9]*@@@.*$$/\1/p'` \
 	       -f $(..)sysdeps/gnu/errlist-compat.awk \
-	       $(wildcard $(patsubst %,$(..)%/Versions,\
-		 $(config-sysdirs) $(add-ons))) > $@T
+	       $(wildcard $(sysdirs:=/Versions)) > $@T
 # Make it unwritable so noone will edit it by mistake.
 	-chmod a-w $@T
 	mv -f $@T $@
@@ -57,7 +57,8 @@ $(objpfx)errlist-compat.h: $(objpfx)errlist-compat.c
 generated += errlist-compat.c errlist-compat.h
 
 # This will force the generation above to happy if need be.
-$(foreach o,.d $(object-suffixes),$(objpfx)errlist$o):$(objpfx)errlist-compat.h
+$(foreach o,$(object-suffixes) $(object-suffixes:=.d),\
+	  $(objpfx)errlist$o): $(objpfx)errlist-compat.h
 endif
 
 ifeq ($(subdir),login)
diff --git a/sysdeps/gnu/errlist-compat.awk b/sysdeps/gnu/errlist-compat.awk
index db827f3f70..ab67a18f64 100644
--- a/sysdeps/gnu/errlist-compat.awk
+++ b/sysdeps/gnu/errlist-compat.awk
@@ -35,7 +35,7 @@ $1 == "#errlist-compat" {
   # Don't process any further Versions files
   ARGC = ARGIND + 1;
   cnt = $2 + 0;
-  if (cnt < 100) {
+  if (cnt < 80) {
     print "*** this line seems bogus:", $0 > "/dev/stderr";
     exit 1;
   }
@@ -90,7 +90,7 @@ END {
     n = vcount[old];
     printf "#if SHLIB_COMPAT (libc, %s, %s)\n", old, new;
     printf "# include <bits/wordsize.h>\n";
-    printf "extern const char *const __sys_errlist_%s[];\n", old;
+    printf "extern const char *const __sys_errlist_%s[NERR];\n", old;
     printf "const int __sys_nerr_%s = %d;\n", old, n;
     printf "strong_alias (_sys_errlist_internal, __sys_errlist_%s)\n", old;
     printf "declare_symbol (__sys_errlist_%s, object, __WORDSIZE/8*%d)\n", \
@@ -99,7 +99,7 @@ END {
       old, old;
     printf "compat_symbol (libc, __sys_nerr_%s, sys_nerr, %s);\n", old, old;
 
-    printf "extern const char *const ___sys_errlist_%s[];\n", old;
+    printf "extern const char *const ___sys_errlist_%s[NERR];\n", old;
     printf "extern const int __sys_nerr_%s;\n", old;
     printf "strong_alias (__sys_errlist_%s, ___sys_errlist_%s)\n", old, old;
     printf "strong_alias (__sys_nerr_%s, ___sys_nerr_%s)\n", old, old;
@@ -110,10 +110,11 @@ END {
   }
 
   printf "\
-extern const char *const __sys_errlist_internal[];\n\
+extern const char *const __sys_errlist_internal[NERR];\n\
 extern const int __sys_nerr_internal;\n\
 strong_alias (_sys_errlist_internal, __sys_errlist_internal)\n\
 strong_alias (_sys_nerr_internal, __sys_nerr_internal)\n\
+extern const char *const sys_errlist[NERR];\n\
 versioned_symbol (libc, _sys_errlist_internal, sys_errlist, %s);\n\
 versioned_symbol (libc, __sys_errlist_internal, _sys_errlist, %s);\n\
 versioned_symbol (libc, _sys_nerr_internal, sys_nerr, %s);\n\
diff --git a/sysdeps/gnu/errlist.awk b/sysdeps/gnu/errlist.awk
index 3f074ed482..365ac817c7 100644
--- a/sysdeps/gnu/errlist.awk
+++ b/sysdeps/gnu/errlist.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-1999,2002,2004 Free Software Foundation, Inc.
+# Copyright (C) 1991-1999,2002,2004,2005 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
@@ -106,8 +106,9 @@ errnoh == 4 \
 END {
   print "  };";
   print "";
-  print "const int _sys_nerr_internal";
-  print "  = sizeof _sys_errlist_internal / sizeof _sys_errlist_internal [0];";
+  print "#define NERR \\";
+  print "  (sizeof _sys_errlist_internal / sizeof _sys_errlist_internal [0])";
+  print "const int _sys_nerr_internal = NERR;"
   print "";
   print "#if !defined NOT_IN_libc && !ERRLIST_NO_COMPAT";
   print "# include <errlist-compat.c>";
diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c
index 9ae6ec3c1d..56da01756d 100644
--- a/sysdeps/gnu/errlist.c
+++ b/sysdeps/gnu/errlist.c
@@ -1408,10 +1408,59 @@ TRANS error; @pxref{Cancel AIO Operations}. */
 # define ERR_MAX EMEDIUMTYPE
 # endif
 #endif
+#ifdef ENOKEY
+/* */
+    [ERR_REMAP (ENOKEY)] = N_("Required key not available"),
+# if ENOKEY > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX ENOKEY
+# endif
+#endif
+#ifdef EKEYEXPIRED
+/* */
+    [ERR_REMAP (EKEYEXPIRED)] = N_("Key has expired"),
+# if EKEYEXPIRED > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EKEYEXPIRED
+# endif
+#endif
+#ifdef EKEYREVOKED
+/* */
+    [ERR_REMAP (EKEYREVOKED)] = N_("Key has been revoked"),
+# if EKEYREVOKED > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EKEYREVOKED
+# endif
+#endif
+#ifdef EKEYREJECTED
+/* */
+    [ERR_REMAP (EKEYREJECTED)] = N_("Key was rejected by service"),
+# if EKEYREJECTED > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EKEYREJECTED
+# endif
+#endif
+#ifdef EOWNERDEAD
+/* */
+    [ERR_REMAP (EOWNERDEAD)] = N_("Owner died"),
+# if EOWNERDEAD > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EOWNERDEAD
+# endif
+#endif
+#ifdef ENOTRECOVERABLE
+/* */
+    [ERR_REMAP (ENOTRECOVERABLE)] = N_("State not recoverable"),
+# if ENOTRECOVERABLE > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX ENOTRECOVERABLE
+# endif
+#endif
   };
 
-const int _sys_nerr_internal
-  = sizeof _sys_errlist_internal / sizeof _sys_errlist_internal [0];
+#define NERR \
+  (sizeof _sys_errlist_internal / sizeof _sys_errlist_internal [0])
+const int _sys_nerr_internal = NERR;
 
 #if !defined NOT_IN_libc && !ERRLIST_NO_COMPAT
 # include <errlist-compat.c>
diff --git a/sysdeps/gnu/glob64.c b/sysdeps/gnu/glob64.c
index 210c9c2553..d1e4e6f0d5 100644
--- a/sysdeps/gnu/glob64.c
+++ b/sysdeps/gnu/glob64.c
@@ -19,7 +19,7 @@
 
 #define COMPILE_GLOB64	1
 
-#include <sysdeps/generic/glob.c>
+#include <posix/glob.c>
 
 libc_hidden_def (glob64)
 libc_hidden_def (globfree64)
diff --git a/sysdeps/gnu/net/if.h b/sysdeps/gnu/net/if.h
index b10245f455..ebb3e9f306 100644
--- a/sysdeps/gnu/net/if.h
+++ b/sysdeps/gnu/net/if.h
@@ -75,8 +75,10 @@ enum
 
     IFF_PORTSEL = 0x2000,	/* Can set media type.  */
 # define IFF_PORTSEL	IFF_PORTSEL
-    IFF_AUTOMEDIA = 0x4000	/* Auto media select active.  */
+    IFF_AUTOMEDIA = 0x4000,	/* Auto media select active.  */
 # define IFF_AUTOMEDIA	IFF_AUTOMEDIA
+    IFF_DYNAMIC = 0x8000	/* Dialup device with changing addresses.  */
+# define IFF_DYNAMIC	IFF_DYNAMIC
   };
 
 /* The ifaddr structure contains information about one address of an
diff --git a/sysdeps/gnu/updwtmp.c b/sysdeps/gnu/updwtmp.c
index 71a3003c96..e4f63088a9 100644
--- a/sysdeps/gnu/updwtmp.c
+++ b/sysdeps/gnu/updwtmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1998.
 
@@ -27,4 +27,4 @@
        && __access (_PATH_WTMP "x", F_OK) != 0) ? _PATH_WTMP : \
       file_name))
 
-#include <sysdeps/generic/updwtmp.c>
+#include <login/updwtmp.c>
diff --git a/sysdeps/gnu/utmp_file.c b/sysdeps/gnu/utmp_file.c
index 2fc925017c..5ef6f306cd 100644
--- a/sysdeps/gnu/utmp_file.c
+++ b/sysdeps/gnu/utmp_file.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1998.
 
@@ -27,4 +27,4 @@
        && __access (_PATH_WTMP "x", F_OK) != 0) ? _PATH_WTMP : \
       file_name))
 
-#include <sysdeps/generic/utmp_file.c>
+#include <login/utmp_file.c>