mirror of git://sourceware.org/git/glibc.git
2004-10-20 Roland McGrath <roland@redhat.com>
* sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count higher than ERR_MAX reports. Instead, emit a #define ERR_MAX. * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target. (generated): Add errlist-compat.h. * sysdeps/gnu/errlist.awk: Make output #include <errlist-compat.h> to define ERR_MAX and use that for table size.
This commit is contained in:
parent
13772215fc
commit
4b359a27dd
|
|
@ -49,10 +49,14 @@ endif
|
||||||
# Make it unwritable so noone will edit it by mistake.
|
# Make it unwritable so noone will edit it by mistake.
|
||||||
-chmod a-w $@T
|
-chmod a-w $@T
|
||||||
mv -f $@T $@
|
mv -f $@T $@
|
||||||
generated += errlist-compat.c
|
$(objpfx)errlist-compat.h: $(objpfx)errlist-compat.c
|
||||||
|
sed -n '1p;/ERR_MAX/p' $< > $@T
|
||||||
|
-chmod a-w $@T
|
||||||
|
mv -f $@T $@
|
||||||
|
generated += errlist-compat.c errlist-compat.h
|
||||||
|
|
||||||
# This will force the generation above to happy if need be.
|
# This will force the generation above to happy if need be.
|
||||||
$(foreach o,.d $(object-suffixes),$(objpfx)errlist$o):$(objpfx)errlist-compat.c
|
$(foreach o,.d $(object-suffixes),$(objpfx)errlist$o):$(objpfx)errlist-compat.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(subdir),login)
|
ifeq ($(subdir),login)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# awk script to generate errlist-compat.c
|
# awk script to generate errlist-compat.c
|
||||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2004 Free Software Foundation, Inc.
|
||||||
# This file is part of the GNU C Library.
|
# This file is part of the GNU C Library.
|
||||||
|
|
||||||
# The GNU C Library is free software; you can redistribute it and/or
|
# The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
|
@ -59,7 +59,7 @@ END {
|
||||||
|
|
||||||
count = maxerr + 1;
|
count = maxerr + 1;
|
||||||
|
|
||||||
if (highest != count) {
|
if (highest < count) {
|
||||||
printf "*** errlist.c count %d vs Versions sys_errlist@%s count %d\n", \
|
printf "*** errlist.c count %d vs Versions sys_errlist@%s count %d\n", \
|
||||||
count, highest_version, highest > "/dev/stderr";
|
count, highest_version, highest > "/dev/stderr";
|
||||||
exit 1;
|
exit 1;
|
||||||
|
|
@ -79,6 +79,12 @@ END {
|
||||||
print "/* This file was generated by errlist-compat.awk; DO NOT EDIT! */\n";
|
print "/* This file was generated by errlist-compat.awk; DO NOT EDIT! */\n";
|
||||||
print "#include <shlib-compat.h>\n";
|
print "#include <shlib-compat.h>\n";
|
||||||
|
|
||||||
|
if (highest > count) {
|
||||||
|
printf "*** errlist.c count %d inflated to %s count %d (old errno.h?)\n", \
|
||||||
|
count, highest_version, highest > "/dev/stderr";
|
||||||
|
printf "#define ERR_MAX %d\n\n", highest;
|
||||||
|
}
|
||||||
|
|
||||||
for (old in compat) {
|
for (old in compat) {
|
||||||
new = compat[old];
|
new = compat[old];
|
||||||
n = vcount[old];
|
n = vcount[old];
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (C) 1991-1999, 2002 Free Software Foundation, Inc.
|
# Copyright (C) 1991-1999,2002,2004 Free Software Foundation, Inc.
|
||||||
# This file is part of the GNU C Library.
|
# This file is part of the GNU C Library.
|
||||||
|
|
||||||
# The GNU C Library is free software; you can redistribute it and/or
|
# The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
|
@ -47,7 +47,16 @@ BEGIN {
|
||||||
print "#endif";
|
print "#endif";
|
||||||
print "";
|
print "";
|
||||||
|
|
||||||
print "const char *const _sys_errlist_internal[] =";
|
print "#if !defined EMIT_ERR_MAX && !defined ERRLIST_NO_COMPAT";
|
||||||
|
print "# include <errlist-compat.h>";
|
||||||
|
print "#endif";
|
||||||
|
print "#ifdef ERR_MAX";
|
||||||
|
print "# define ERRLIST_SIZE ERR_MAX + 1";
|
||||||
|
print "#else"
|
||||||
|
print "# define ERRLIST_SIZE";
|
||||||
|
print "#endif";
|
||||||
|
|
||||||
|
print "const char *const _sys_errlist_internal[ERRLIST_SIZE] =";
|
||||||
print " {";
|
print " {";
|
||||||
print " [0] = N_(\"Success\"),"
|
print " [0] = N_(\"Success\"),"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue