aboutsummaryrefslogtreecommitdiff
path: root/scripts/versions.awk
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 /scripts/versions.awk
parent7d58530341304d403a6626d7f7a1913165fe2f32 (diff)
downloadglibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.zip
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.gz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.bz2
2.5-18.1
Diffstat (limited to 'scripts/versions.awk')
-rw-r--r--scripts/versions.awk22
1 files changed, 15 insertions, 7 deletions
diff --git a/scripts/versions.awk b/scripts/versions.awk
index 7e33387..e642b3d 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] && $1 != "GLIBC_PRIVATE") {
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 =");