diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Versions.def | 2 | ||||
-rw-r--r-- | scripts/versions.awk | 22 |
3 files changed, 24 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index 01c6821ba3..44cd4de081 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-03-22 Roland McGrath <roland@redhat.com> + + * Versions.def (libdl, librt): Add GLIBC_2.3.4 version. + + * scripts/versions.awk: Print all errors and die at the end. + Use library name in versions array keys. + 2005-03-22 Daniel Jacobowitz <dan@codesourcery.com> * elf/elf.h (PT_ARM_EXIDX): New macro. diff --git a/Versions.def b/Versions.def index 45b2127914..81b31386bd 100644 --- a/Versions.def +++ b/Versions.def @@ -36,6 +36,7 @@ libdl { GLIBC_2.0 GLIBC_2.1 GLIBC_2.3.3 + GLIBC_2.3.4 } libm { GLIBC_2.0 @@ -91,6 +92,7 @@ librt { GLIBC_2.2 GLIBC_2.3 GLIBC_2.3.3 + GLIBC_2.3.4 } libutil { GLIBC_2.0 diff --git a/scripts/versions.awk b/scripts/versions.awk index 7e33387d41..c71eda587a 100644 --- a/scripts/versions.awk +++ b/scripts/versions.awk @@ -1,5 +1,5 @@ # Combine version map fragments into version scripts for our shared objects. -# Copyright (C) 1998,99,2000,02 Free Software Foundation, Inc. +# Copyright (C) 1998,99,2000,2002,2005 Free Software Foundation, Inc. # Written by Ulrich Drepper <drepper@cygnus.com>, 1998. # This script expects the following variables to be defined: @@ -9,17 +9,19 @@ # Read definitions for the versions. BEGIN { + lossage = 0; + nlibs=0; while (getline < defsfile) { if (/^[a-zA-Z0-9_.]+ \{/) { libs[$1] = 1; curlib = $1; while (getline < defsfile && ! /^}/) { - if ($2 == "=") { + if ($2 == "=") { renamed[curlib "::" $1] = $3; - } + } else - versions[$1] = 1; + versions[curlib "::" $1] = 1; } } } @@ -42,7 +44,7 @@ BEGIN { actlib = $1; if (!libs[$1]) { printf("no versions defined for %s\n", $1) > "/dev/stderr"; - exit 1; + ++lossage; } next; } @@ -51,9 +53,9 @@ BEGIN { /^ [A-Za-z_]/ { if (renamed[actlib "::" $1]) actver = renamed[actlib "::" $1]; - else if (!versions[$1]) { + else if (!versions[actlib "::" $1]) { printf("version %s not defined for %s\n", $1, actlib) > "/dev/stderr"; - exit 1; + ++lossage; } else actver = $1; @@ -93,6 +95,12 @@ function close_and_move(name, real_name) { # Now print the accumulated information. END { close(sort); + + if (lossage) { + system("rm -f " tmpfile); + exit 1; + } + oldlib = ""; oldver = ""; printf("version-maps ="); |