summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-04-28 04:36:51 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-28 04:36:51 -0400
commit8dbd5d7b9074b9312f68c24c12a3fae7e93111fe (patch)
tree08316040be0469ec7c5f055113bbd28a20226cfc /scripts
parent41d73a1bc002618cb42ba395018a87d72d915add (diff)
Move abilist files into sysdep dirs.
* Makerules (%.abilist): Add vpath on sysdep_dirs. (check-abi-%): Remove AWK script prerequisite and explicit abilist directory. (check-abi): Rewrite to just diff the symlist with the abilist. (config-tls, config-abi-config): Delete, no longer used. (update-abi-%): Remove AWK script and explicit abilist directory. (update-abi): Rewrite to simply compare and conditionally copy the symlist and the sysdep abilist file. Remove update-abi-config checks. * abilist/ld.abilist: Remove. * abilist/libBrokenLocale.abilist: Remove. * abilist/libanl.abilist: Remove. * abilist/libcrypt.abilist: Remove. * abilist/libdl.abilist: Remove. * abilist/librt.abilist: Remove. * abilist/libthread_db.abilist: Remove. * abilist/libutil.abilist: Remove. * scripts/extract-abilist.awk: Remove. * scripts/merge-abilist.awk: Remove. * sysdeps/generic/libcidn.abilist: New file. * sysdeps/generic/libnss_compat.abilist: New file. * sysdeps/generic/libnss_db.abilist: New file. * sysdeps/generic/libnss_dns.abilist: New file. * sysdeps/generic/libnss_files.abilist: New file. * sysdeps/generic/libnss_hesiod.abilist: New file. * sysdeps/generic/libnss_nis.abilist: New file. * sysdeps/generic/libnss_nisplus.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/i386/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/x86_64/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/sh/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libutil.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/ld.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libanl.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libBrokenLocale.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libcrypt.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libdl.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libm.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libnsl.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libpthread.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libresolv.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/librt.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libthread_db.abilist: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libutil.abilist: New file.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/extract-abilist.awk98
-rw-r--r--scripts/merge-abilist.awk156
2 files changed, 0 insertions, 254 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;
- }
-}
diff --git a/scripts/merge-abilist.awk b/scripts/merge-abilist.awk
deleted file mode 100644
index 91999d9221..0000000000
--- a/scripts/merge-abilist.awk
+++ /dev/null
@@ -1,156 +0,0 @@
-# awk script to merge a config-specific .symlist file with others.
-# The input files should be existing .abilist files, and a .symlist
-# file. This must be run with awk -v config=REGEXP to specify a
-# regexp matching configuration tuples for which the .symlist input
-# defines an ABI. The result merges all duplicate occurrences of any
-# symbol into a stanza listing the regexps matching configurations
-# that contain it and giving associated versions.
-# 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
-
-BEGIN { current = "UNSET" }
-
-/^[^| ]/ {
- if (NF < 2 && config == "") {
- print FILENAME ":" FNR ": BAD SET LINE:", $0 > "/dev/stderr";
- exit 2;
- }
-
- if (NF < 2) {
- current = $1 ":" config;
- }
- else {
- # Filter out the old stanzas from the config we are merging in.
- # That way, if a set disappears from the .symlist file for this
- # config, the old stanza doesn't stay in the merged output tagged
- # for this config. (Disappearing sets might happen during development,
- # and between releases could happen on a soname change).
- nc = 0;
- for (i = 2; i <= NF; ++i)
- if ($i != config)
- c[nc++] = $i;
- if (nc == 0)
- current = "";
- else {
- current = $1 ":" c[0];
- for (i = 1; i < nc; ++i)
- current = current "," $1 ":" c[i];
- }
- }
-
- next;
-}
-
-/^\| / {
- if (NF < 3 || current == "UNSET") {
- print FILENAME ":" FNR ": BAD | LINE:", $0 > "/dev/stderr";
- exit 2;
- }
-
- nc = 0;
- for (i = 3; i <= NF; ++i)
- if ($i != config)
- c[nc++] = $i;
- for (i = 0; i < nc; ++i)
- current = current "," $2 ":" c[i];
-
- next;
-}
-
-{
- if (current == "") next;
- if (current == "UNSET") {
- print FILENAME ":" FNR ": IGNORED LINE:", $0 > "/dev/stderr";
- next;
- }
-
- ns = split(seen[$0], s, ",");
- nc = split(current, c, ",");
- for (i = 1; i <= nc; ++i) {
- if (c[i] == "")
- continue;
- # Sorted insert.
- for (j = 1; j <= ns; ++j) {
- if (c[i] == s[j])
- break;
- if (c[i] < s[j]) {
- for (k = ns; k >= j; --k)
- s[k + 1] = s[k];
- s[j] = c[i];
- ++ns;
- break;
- }
- }
- if (j > ns)
- s[++ns] = c[i];
- }
-
- seen[$0] = s[1];
- for (i = 2; i <= ns; ++i)
- seen[$0] = seen[$0] "," s[i];
-
- next;
-}
-
-END {
- for (line in seen) {
- if (seen[line] in stanzas)
- stanzas[seen[line]] = stanzas[seen[line]] "\n" line;
- else
- stanzas[seen[line]] = line;
- }
-
- ns = split("", s);
- for (configs in stanzas) {
- # Sorted insert.
- for (j = 1; j <= ns; ++j) {
- if (configs == s[j])
- break;
- if (configs < s[j]) {
- for (k = ns; k >= j; --k)
- s[k + 1] = s[k];
- s[j] = configs;
- ++ns;
- break;
- }
- }
- if (j > ns)
- s[++ns] = configs;
- }
-
- # S[1..NS] is now a sorted list of stanza identifiers.
- # STANZAS[ID] contains the lines for that stanza.
- # All we have to do is pretty-print the stanza ID,
- # and then print the sorted list.
-
- for (i = 1; i <= ns; ++i) {
- # 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 = 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";
- print stanzas[s[i]] | outpipe;
- close(outpipe);
- }
-}