about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/ldsodefs.h5
-rw-r--r--sysdeps/gnu/errlist-compat.awk7
-rw-r--r--sysdeps/gnu/errlist.awk7
-rw-r--r--sysdeps/i386/Makefile2
-rwxr-xr-xsysdeps/i386/configure3
-rw-r--r--sysdeps/i386/configure.in3
6 files changed, 16 insertions, 11 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 08039e18ca..a3cef20251 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -694,10 +694,7 @@ extern char **_dl_argv_internal attribute_hidden
 
 /* The array with message we print as a last resort.  */
 extern const char _dl_out_of_memory[];
-#ifdef IS_IN_rtld
-/* XXX #ifdef should go away.  */
-extern const char _dl_out_of_memory_internal[] attribute_hidden;
-#endif
+rtld_hidden_proto (_dl_out_of_memory)
 
 /* Flag set at startup and cleared when the last initializer has run.  */
 extern int _dl_starting_up;
diff --git a/sysdeps/gnu/errlist-compat.awk b/sysdeps/gnu/errlist-compat.awk
index db827f3f70..f35723255e 100644
--- a/sysdeps/gnu/errlist-compat.awk
+++ b/sysdeps/gnu/errlist-compat.awk
@@ -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[%d];\n", old, n;
     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[%d];\n", old, n;
     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/i386/Makefile b/sysdeps/i386/Makefile
index ece94f3610..24d09c70e1 100644
--- a/sysdeps/i386/Makefile
+++ b/sysdeps/i386/Makefile
@@ -8,7 +8,7 @@ long-double-fcts = yes
 ifeq ($(subdir),csu)
 # On i686 we must avoid generating the trampoline functions generated
 # to get the GOT pointer.
-CFLAGS-initfini.s += -march=i386 -mcpu=i386
+CFLAGS-initfini.s += -march=i386 $(cc-mtune)=i386
 endif
 
 ifeq ($(subdir),gmon)
diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure
index d1d4dc15a7..ecba16645b 100755
--- a/sysdeps/i386/configure
+++ b/sysdeps/i386/configure
@@ -52,3 +52,6 @@ if test $libc_cv_cpp_asm_debuginfo = yes; then
 _ACEOF
 
 fi
+
+# Tell top-level configure to try -mtune=i386.
+libc_mtune_example=i386
diff --git a/sysdeps/i386/configure.in b/sysdeps/i386/configure.in
index 028e1ae8e1..93b62b671c 100644
--- a/sysdeps/i386/configure.in
+++ b/sysdeps/i386/configure.in
@@ -33,3 +33,6 @@ rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
 if test $libc_cv_cpp_asm_debuginfo = yes; then
   AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
 fi
+
+# Tell top-level configure to try -mtune=i386.
+libc_mtune_example=i386