mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
2003-01-14 Roland McGrath <roland@redhat.com>
* scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged config list when it already contains cpu-.*-os.* without / part.
This commit is contained in:
@ -15,9 +15,21 @@
|
|||||||
current = $1 ":" config;
|
current = $1 ":" config;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
current = $1 ":" $2;
|
# Filter out the old stanzas from the config we are merging in.
|
||||||
for (i = 3; i <= NF; ++i) {
|
# That way, if a set disappears from the .symlist file for this
|
||||||
current = current "," $1 ":" $i;
|
# 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];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,6 +37,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
if (current == "") next;
|
||||||
|
|
||||||
if ($0 in seen) {
|
if ($0 in seen) {
|
||||||
seen[$0] = seen[$0] "\n" current;
|
seen[$0] = seen[$0] "\n" current;
|
||||||
}
|
}
|
||||||
@ -78,7 +92,26 @@ END {
|
|||||||
for (idx in have) delete have[idx];
|
for (idx in have) delete have[idx];
|
||||||
|
|
||||||
for (version in confs) {
|
for (version in confs) {
|
||||||
idx = version " " confs[version];
|
|
||||||
|
# Hack: if an element is foo.*/bar and there is also a foo.*,
|
||||||
|
# then we can omit the foo.*/bar since foo.* matches already.
|
||||||
|
nc = split(confs[version], c, " ");
|
||||||
|
for (i = 1; i <= nc; ++i) {
|
||||||
|
slash = index(c[i], ".*/");
|
||||||
|
if (slash > 0) {
|
||||||
|
beforeslash = substr(c[i], 1, slash + 2 - 1);
|
||||||
|
for (j = 1; j <= nc; ++j)
|
||||||
|
if (j != i && c[j] == beforeslash) {
|
||||||
|
c[i] = c[nc--];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
idx = version;
|
||||||
|
for (i = 1; i <= nc; ++i)
|
||||||
|
idx = idx " " c[i];
|
||||||
|
|
||||||
if (idx in final) {
|
if (idx in final) {
|
||||||
final[idx] = final[idx] "\n" line;
|
final[idx] = final[idx] "\n" line;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user