about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Versions.def40
-rw-r--r--scripts/versions.awk18
3 files changed, 34 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index 4744086f2a..8abb6718c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,17 @@
 1999-11-14  Ulrich Drepper  <drepper@cygnus.com>
 
+	* scripts/versions.awk: Don't expect to read predecessor versions,
+	compute them.
+	* Versions.def: Remove predecessors.  They get now computed.
+
+1999-11-14  Ulrich Drepper  <drepper@cygnus.com>
+
 	* sysdeps/unix/sysv/linux/execve.c: Add __syscall_execve prototype.
 	* sysdeps/unix/sysv/linux/setrlimit.c: Add __syscall_setrlimit
 	prototype.
 	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add setrlimit.
 	* sysdeps/powerpc/stackinfo.h: New file.
-	Patches by Franz Sirl <Franz.Sirl@lauterback.com>.
+	Patches by Franz Sirl <Franz.Sirl@lauterbach.com>.
 
 1999-11-13  Roland McGrath  <roland@baalperazim.frob.com>
 
diff --git a/Versions.def b/Versions.def
index d4673915e7..0a34a50c1d 100644
--- a/Versions.def
+++ b/Versions.def
@@ -3,40 +3,40 @@ libBrokenLocale {
 }
 libc {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
-  GLIBC_2.1.1 GLIBC_2.1
-  GLIBC_2.1.2 GLIBC_2.1.1
-  GLIBC_2.1.3 GLIBC_2.1.2
-  GLIBC_2.2 GLIBC_2.1.3
+  GLIBC_2.1
+  GLIBC_2.1.1
+  GLIBC_2.1.2
+  GLIBC_2.1.3
+  GLIBC_2.2
 }
 libcrypt {
   GLIBC_2.0
 }
 libdb {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
-  GLIBC_2.2 GLIBC_2.1
+  GLIBC_2.1
+  GLIBC_2.2
 }
 libdl {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
+  GLIBC_2.1
 }
 libhurduser {
   GLIBC_2.0
 }
 libm {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
-  GLIBC_2.1.3 GLIBC_2.1
-  GLIBC_2.2 GLIBC_2.1.3
+  GLIBC_2.1
+  GLIBC_2.1.3
+  GLIBC_2.2
 }
 libmachuser {
   GLIBC_2.0
 }
 libnsl {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
-  GLIBC_2.2 GLIBC_2.1
+  GLIBC_2.1
+  GLIBC_2.2
 }
 libnss_compat {
   GLIBC_2.0
@@ -49,11 +49,11 @@ libnss_dns {
 }
 libnss_files {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
+  GLIBC_2.1
 }
 libnss_hesiod {
   GLIBC_2.1
-  GLIBC_2.2 GLIBC_2.1
+  GLIBC_2.2
 }
 libnss_nis {
   GLIBC_2.0
@@ -63,9 +63,9 @@ libnss_nisplus {
 }
 libpthread {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
-  GLIBC_2.1.1 GLIBC_2.1
-  GLIBC_2.1.2 GLIBC_2.1.1
+  GLIBC_2.1
+  GLIBC_2.1.1
+  GLIBC_2.1.2
 }
 libresolv {
   GLIBC_2.0
@@ -81,8 +81,8 @@ libdb1 {
 }
 ld.so {
   GLIBC_2.0
-  GLIBC_2.1 GLIBC_2.0
-  GLIBC_2.1.1 GLIBC_2.1
+  GLIBC_2.1
+  GLIBC_2.1.1
 }
 libthread_db {
   GLIBC_2.1.3
diff --git a/scripts/versions.awk b/scripts/versions.awk
index 49f449cdea..78ed73914b 100644
--- a/scripts/versions.awk
+++ b/scripts/versions.awk
@@ -17,12 +17,6 @@ BEGIN {
       curlib = $1;
       while (getline < defsfile && ! /^}/) {
 	versions[$1] = 1;
-	if (NF > 1) {
-	  derived[curlib, $1] = " " $2;
-	  for (n = 3; n <= NF; ++n) {
-	    derived[curlib, $1] = derived[curlib, $1] ", " $n;
-	  }
-	}
       }
     }
   }
@@ -65,12 +59,12 @@ BEGIN {
 }
 
 
-function closeversion(name) {
+function closeversion(name, oldname) {
   if (firstinfile) {
     printf("  local:\n    *;\n") > outfile;
     firstinfile = 0;
   }
-  printf("}%s;\n", derived[oldlib, name]) > outfile;
+  printf("}%s;\n", oldname) > outfile;
 }
 
 function close_and_move(name, real_name) {
@@ -87,7 +81,7 @@ END {
   while(getline < tmpfile) {
     if ($1 != oldlib) {
       if (oldlib != "") {
-	closeversion(oldver);
+	closeversion(oldver, veryoldver);
 	oldver = "";
 	close_and_move(outfile, real_outfile);
       }
@@ -95,11 +89,13 @@ END {
       real_outfile = buildroot oldlib ".map";
       outfile = real_outfile "T";
       firstinfile = 1;
+      veryoldver = "";
       printf(" %s.map", oldlib);
     }
     if ($2 != oldver) {
       if (oldver != "") {
-	closeversion(oldver);
+	closeversion(oldver, veryoldver);
+	veryoldver = oldver;
       }
       printf("%s {\n  global:\n", $2) > outfile;
       oldver = $2;
@@ -111,7 +107,7 @@ END {
     printf("\n") > outfile;
   }
   printf("\n");
-  closeversion(oldver);
+  closeversion(oldver, veryoldver);
   close_and_move(outfile, real_outfile);
   system("rm -f " tmpfile);
 }