summary refs log tree commit diff
path: root/scripts/versions.awk
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-03-24 08:19:18 +0000
committerJakub Jelinek <jakub@redhat.com>2005-03-24 08:19:18 +0000
commit55a24b753a4f6e03ed23e16b2be847bd5c5642a7 (patch)
treec72d70578f8305f1cfedc9a24507d12c45a5ff1c /scripts/versions.awk
parentdfaef65dcfc165ef88957b7b4633499cbf612299 (diff)
downloadglibc-55a24b753a4f6e03ed23e16b2be847bd5c5642a7.tar.gz
glibc-55a24b753a4f6e03ed23e16b2be847bd5c5642a7.tar.xz
glibc-55a24b753a4f6e03ed23e16b2be847bd5c5642a7.zip
Updated to fedora-glibc-20050324T0715 cvs/fedora-glibc-2_3_4-17
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 7e33387d41..e642b3d16e 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 =");