mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-26 23:10:06 +00:00
733af7d6c3
* scripts/firstversions.awk: Allow multiple version sets in the "earliest version" specification, meaning that version sets in the gaps between listed versions should be folded into the earliest later version that is explicitly listed. * shlib-versions (mips.*-.*-linux.*): Use that syntax for to say we support GLIBC_2.0 and GLIBC_2.2 but not the intervening sets.
37 lines
758 B
Awk
37 lines
758 B
Awk
# Script to preprocess Versions.all lists based on "earliest version"
|
|
# specifications in the shlib-versions file.
|
|
|
|
NF > 2 && $2 == ":" {
|
|
for (i = 0; i <= NF - 3; ++i)
|
|
firstversion[$1, i] = $(3 + i);
|
|
idx[$1] = 0;
|
|
next;
|
|
}
|
|
|
|
NF == 2 && $2 == "{" { thislib = $1; print; next }
|
|
|
|
$1 == "}" {
|
|
if (firstversion[thislib, idx[thislib]]) {
|
|
# We haven't seen the stated version, but have produced
|
|
# others pointing to it, so we synthesize it now.
|
|
printf " %s\n", firstversion[thislib, idx[thislib]];
|
|
idx[thislib]++;
|
|
}
|
|
print;
|
|
next;
|
|
}
|
|
|
|
{
|
|
v = firstversion[thislib, idx[thislib]];
|
|
|
|
if (! v)
|
|
print;
|
|
else if ($1 == v) {
|
|
print;
|
|
firstversion[thislib, idx[thislib]] = 0;
|
|
idx[thislib]++;
|
|
}
|
|
else
|
|
print $1, "=", v;
|
|
}
|