diff options
Diffstat (limited to 'sysdeps/gnu')
-rw-r--r-- | sysdeps/gnu/errlist-compat.awk | 7 | ||||
-rw-r--r-- | sysdeps/gnu/errlist.awk | 7 |
2 files changed, 8 insertions, 6 deletions
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>"; |