about summary refs log tree commit diff
path: root/scripts/merge-abilist.awk
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-03-03 07:11:46 +0000
committerRoland McGrath <roland@gnu.org>2003-03-03 07:11:46 +0000
commitf5d31593775dc42b5e7e8db6de8502332659e7f8 (patch)
treef83fd11938b5f4b6bc3fb84844609d4965cefbf6 /scripts/merge-abilist.awk
parent620656a3ff90804807b74c208ca69a4a254b4f07 (diff)
downloadglibc-f5d31593775dc42b5e7e8db6de8502332659e7f8.tar.gz
glibc-f5d31593775dc42b5e7e8db6de8502332659e7f8.tar.xz
glibc-f5d31593775dc42b5e7e8db6de8502332659e7f8.zip
2003-03-02 Roland McGrath <roland@redhat.com>
	* sysdeps/unix/sysv/linux/ia64/brk.S: Add .type and .size for __curbrk.
Diffstat (limited to 'scripts/merge-abilist.awk')
-rw-r--r--scripts/merge-abilist.awk9
1 files changed, 8 insertions, 1 deletions
diff --git a/scripts/merge-abilist.awk b/scripts/merge-abilist.awk
index 88ca0b08ea..91999d9221 100644
--- a/scripts/merge-abilist.awk
+++ b/scripts/merge-abilist.awk
@@ -131,15 +131,22 @@ END {
     # S[I] is a sorted, comma-separated list of SET:CONFIG pairs.
     # All we have to do is pretty-print them.
     nc = split(s[i], c, ",");
-    lastvers = "";
+    lastvers = lastconf = "";
     for (j = 1; j <= nc; ++j) {
       split(c[j], temp, ":");
       version = temp[1];
       conf = temp[2];
       if (version != lastvers)
 	printf "%s%s", (lastvers != "" ? "\n| " : ""), version;
+      # Hack: if CONF is foo.*/bar and LASTCONF was foo.*,
+      # then we can omit the foo.*/bar since foo.* matches already.
+      # Note we don't update LASTCONF, so foo.*/baz next time will match too.
+      else if ((slash = index(conf, ".*/")) > 0 && \
+	       substr(conf, 1, slash + 2 - 1) == lastconf)
+        continue;
       printf " %s", conf;
       lastvers = version;
+      lastconf = conf;
     }
     print "";
     outpipe = "sort";