mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-13 14:50:17 +00:00
2002-08-22 Roland McGrath <roland@redhat.com>
* scripts/firstversions.awk: When encountering a version newer than the specified earliest version, be sure to emit the specified earliest version first if any renaming of an older version to that has been. 2002-03-22 H.J. Lu <hjl@gnu.org> * scripts/firstversions.awk: Check the first version. 2002-02-06 Roland McGrath <roland@frob.com> * scripts/firstversions.awk: Handle libraries that don't have each particular version named in the third column of shlib-versions. * scripts/firstversions.awk: Don't mess with GLIBC_PRIVATE.
This commit is contained in:
parent
b5e987d473
commit
89f08aa950
@ -11,7 +11,7 @@ NF > 2 && $2 == ":" {
|
||||
NF == 2 && $2 == "{" { thislib = $1; print; next }
|
||||
|
||||
$1 == "}" {
|
||||
if (firstversion[thislib, idx[thislib]]) {
|
||||
if ((thislib, idx[thislib]) in firstversion) {
|
||||
# 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]];
|
||||
@ -21,16 +21,42 @@ $1 == "}" {
|
||||
next;
|
||||
}
|
||||
|
||||
{
|
||||
v = firstversion[thislib, idx[thislib]];
|
||||
/GLIBC_PRIVATE/ { print; next }
|
||||
|
||||
if (! v)
|
||||
print;
|
||||
else if ($1 == v) {
|
||||
print;
|
||||
firstversion[thislib, idx[thislib]] = 0;
|
||||
idx[thislib]++;
|
||||
{
|
||||
if ((thislib, idx[thislib]) in firstversion) {
|
||||
# XXX relative string comparison loses if we ever have multiple digits
|
||||
# between dots in GLIBC_x.y[.z] names.
|
||||
f = v = firstversion[thislib, idx[thislib]];
|
||||
while ($1 >= v) {
|
||||
delete firstversion[thislib, idx[thislib]];
|
||||
idx[thislib]++;
|
||||
if ((thislib, idx[thislib]) in firstversion)
|
||||
v = firstversion[thislib, idx[thislib]];
|
||||
else
|
||||
break;
|
||||
}
|
||||
if ($1 == v || $1 == f)
|
||||
# This version was the specified earliest version itself.
|
||||
print;
|
||||
else if ($1 < v) {
|
||||
# This version is older than the specified earliest version.
|
||||
print " " $1, "=", v;
|
||||
# Record that V has been referred to, so we will be sure to emit it
|
||||
# if we hit a later one without hitting V itself.
|
||||
usedversion[thislib, v] = 1;
|
||||
}
|
||||
else {
|
||||
# This version is newer than the specified earliest version.
|
||||
# We haven't seen that version itself or else we wouldn't be here
|
||||
# because we would have removed it from the firstversion array.
|
||||
# If there were any earlier versions that used that one, emit it now.
|
||||
if ((thislib, v) in usedversion) {
|
||||
print " " v;
|
||||
}
|
||||
print " " $1;
|
||||
}
|
||||
}
|
||||
else
|
||||
print $1, "=", v;
|
||||
print;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user