about summary refs log tree commit diff
path: root/scripts/extract-abilist.awk
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/extract-abilist.awk')
-rw-r--r--scripts/extract-abilist.awk98
1 files changed, 0 insertions, 98 deletions
diff --git a/scripts/extract-abilist.awk b/scripts/extract-abilist.awk
deleted file mode 100644
index c9adec4359..0000000000
--- a/scripts/extract-abilist.awk
+++ /dev/null
@@ -1,98 +0,0 @@
-# awk script to extract a config-specific .symlist file from a merged file.
-# This must be passed run with awk -v config=TUPLE to specify the configuration
-# tuple we will match.  The merged file contains stanzas in the form:
-#	GLIBC_x.y regexp...
-#	| GLIBC_x.y.z regexp...
-#	| GLIBC_m.n regexp...
-#	 function F
-#	 variable D 0x4
-# Each regexp is matched against TUPLE, and only matching stanzas go
-# into the output, with the regexp list removed.  Multiple version lines
-# can match with the same regexp, meaning the stanza is duplicated in
-# multiple version sets.  The result matches the original .symlist file
-# from abilist.awk that was fed into merge-abilist.awk.
-
-BEGIN {
-  inside = 0;
-}
-
-/^ / {
-  inside = 1;
-  if (!ignore) {
-    for (version in current) {
-      if (version in versions)
-	versions[version] = versions[version] "\n" $0;
-      else
-	versions[version] = $0;
-    }
-  }
-  next;
-}
-
-{
-  second = ($1 == "|");
-  if (second && inside) {
-    printf "%s:%d: bad input line inside stanza: %s\n", FILENAME, FNR, $0;
-    exit 1;
-  }
-  inside = 0;
-
-  for (i = second ? 3 : 2; i <= NF; ++i) {
-    regex = "^" $i "$";
-    if (match(config, regex) != 0) {
-      if (!second || ignore)
-        # Clear old array.
-        split("", current);
-      current[second ? $2 : $1] = 1;
-      ignore = 0;
-      next;
-    }
-  }
-
-  if (!second)
-    ignore = 1;
-  next;
-}
-
-END {
-  nverlist = 0;
-  for (version in versions) {
-    if (nverslist == 0) {
-      verslist = version;
-      nverslist = 1;
-      continue;
-    }
-    split(verslist, s, "\n");
-    if (version < s[1]) {
-      verslist = version;
-      for (i = 1; i <= nverslist; ++i) {
-	verslist = verslist "\n" s[i];
-      }
-    }
-    else {
-      verslist = s[1];
-      for (i = 2; i <= nverslist; ++i) {
-	if (version < s[i]) break;
-	verslist = verslist "\n" s[i];
-      }
-      verslist = verslist "\n" version;
-      for (; i <= nverslist; ++i) {
-	verslist = verslist "\n" s[i];
-      }
-    }
-    ++nverslist;
-  }
-
-  split(verslist, order, "\n");
-  for (i = 1; i <= nverslist; ++i) {
-    version = order[i];
-
-    print version;
-    outpipe = "sort";
-    print versions[version] | outpipe;
-    close(outpipe);
-
-    if (version == lastversion)
-      break;
-  }
-}