mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-05 21:00:05 +00:00
* scripts/versions.awk: Improve error message for missing version.
Each version inherits from the last one only if they have the same nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z or FOO_x and FOO_y but not GLIBC_x and FOO_y. * scripts/firstversions.awk: Handle libraries that don't have each particular version named in the third column of shlib-versions.
This commit is contained in:
parent
9813e10395
commit
48a5e01019
@ -1,5 +1,13 @@
|
|||||||
2002-02-06 Roland McGrath <roland@frob.com>
|
2002-02-06 Roland McGrath <roland@frob.com>
|
||||||
|
|
||||||
|
* scripts/versions.awk: Improve error message for missing version.
|
||||||
|
Each version inherits from the last one only if they have the same
|
||||||
|
nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z or FOO_x and FOO_y
|
||||||
|
but not GLIBC_x and FOO_y.
|
||||||
|
|
||||||
|
* 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.
|
* scripts/firstversions.awk: Don't mess with GLIBC_PRIVATE.
|
||||||
|
|
||||||
2002-02-06 Ulrich Drepper <drepper@redhat.com>
|
2002-02-06 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
@ -11,7 +11,7 @@ NF > 2 && $2 == ":" {
|
|||||||
NF == 2 && $2 == "{" { thislib = $1; print; next }
|
NF == 2 && $2 == "{" { thislib = $1; print; next }
|
||||||
|
|
||||||
$1 == "}" {
|
$1 == "}" {
|
||||||
if (firstversion[thislib, idx[thislib]]) {
|
if ((thislib, idx[thislib]) in firstversion) {
|
||||||
# We haven't seen the stated version, but have produced
|
# We haven't seen the stated version, but have produced
|
||||||
# others pointing to it, so we synthesize it now.
|
# others pointing to it, so we synthesize it now.
|
||||||
printf " %s\n", firstversion[thislib, idx[thislib]];
|
printf " %s\n", firstversion[thislib, idx[thislib]];
|
||||||
@ -25,12 +25,19 @@ $1 == "}" {
|
|||||||
|
|
||||||
{
|
{
|
||||||
if ((thislib, idx[thislib]) in firstversion) {
|
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.
|
||||||
v = firstversion[thislib, idx[thislib]];
|
v = firstversion[thislib, idx[thislib]];
|
||||||
if ($1 == v) {
|
while ($1 >= v) {
|
||||||
print;
|
|
||||||
firstversion[thislib, idx[thislib]] = 0;
|
firstversion[thislib, idx[thislib]] = 0;
|
||||||
idx[thislib]++;
|
idx[thislib]++;
|
||||||
|
if ((thislib, idx[thislib]) in firstversion)
|
||||||
|
v = firstversion[thislib, idx[thislib]];
|
||||||
|
else
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
if ($1 >= v)
|
||||||
|
print;
|
||||||
else
|
else
|
||||||
print $1, "=", v;
|
print $1, "=", v;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Combine version map fragments into version scripts for our shared objects.
|
# Combine version map fragments into version scripts for our shared objects.
|
||||||
# Copyright (C) 1998,99,2000 Free Software Foundation, Inc.
|
# Copyright (C) 1998,99,2000,02 Free Software Foundation, Inc.
|
||||||
# Written by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
# Written by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
||||||
|
|
||||||
# This script expects the following variables to be defined:
|
# This script expects the following variables to be defined:
|
||||||
@ -49,7 +49,7 @@ BEGIN {
|
|||||||
if (renamed[actlib "::" $1])
|
if (renamed[actlib "::" $1])
|
||||||
actver = renamed[actlib "::" $1];
|
actver = renamed[actlib "::" $1];
|
||||||
else if (!versions[$1]) {
|
else if (!versions[$1]) {
|
||||||
printf("version %s not defined\n", $1) > "/dev/stderr";
|
printf("version %s not defined for %s\n", $1, actlib) > "/dev/stderr";
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -73,7 +73,13 @@ function closeversion(name, oldname) {
|
|||||||
printf(" local:\n *;\n") > outfile;
|
printf(" local:\n *;\n") > outfile;
|
||||||
firstinfile = 0;
|
firstinfile = 0;
|
||||||
}
|
}
|
||||||
printf("}%s;\n", oldname) > outfile;
|
# This version inherits from the last one only if they
|
||||||
|
# have the same nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z
|
||||||
|
# or FOO_x and FOO_y but not GLIBC_x and FOO_y.
|
||||||
|
pfx = oldname;
|
||||||
|
sub(/[0-9.]+/,".+",pfx);
|
||||||
|
if (oldname == "" || name !~ pfx) print "};" > outfile;
|
||||||
|
else printf("} %s;\n", oldname) > outfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
function close_and_move(name, real_name) {
|
function close_and_move(name, real_name) {
|
||||||
@ -87,7 +93,7 @@ END {
|
|||||||
oldlib = "";
|
oldlib = "";
|
||||||
oldver = "";
|
oldver = "";
|
||||||
printf("version-maps =");
|
printf("version-maps =");
|
||||||
while(getline < tmpfile) {
|
while (getline < tmpfile) {
|
||||||
if ($1 != oldlib) {
|
if ($1 != oldlib) {
|
||||||
if (oldlib != "") {
|
if (oldlib != "") {
|
||||||
closeversion(oldver, veryoldver);
|
closeversion(oldver, veryoldver);
|
||||||
|
Loading…
Reference in New Issue
Block a user