This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[tile] bug fix for firstversions.awk
- From: Chris Metcalf <cmetcalf at tilera dot com>
- To: libc-alpha at sourceware dot org
- Date: Wed, 25 Jan 2012 16:27:46 -0500
- Subject: [tile] bug fix for firstversions.awk
- References: <201111100054.pAA0sf6u025585@farm-0002.internal.tilera.com>
This change didn't rouse any discussion when I posted it the first
time, but it is required to be able to build the tile architecture
libc properly, due to the relatively novel use of "GLIBC_2.12
GLIBC_2.15" in the shlib-versions file.
2012-01-25 Chris Metcalf <cmetcalf@tilera.com>
* scripts/firstversions.awk: Fix bug in script that caused a version
not to be emitted (libm's 2.12) when the actual versions mentioned
in the Versions files don't include the architecture's first
default (tile requests "GLIBC_2.12 GLIBC_2.15").
diff --git a/scripts/firstversions.awk b/scripts/firstversions.awk
index 4a20fc0..ccde4b5 100644
--- a/scripts/firstversions.awk
+++ b/scripts/firstversions.awk
@@ -54,9 +54,13 @@ $1 == "}" {
while (vers_compare($1, v) >= 0) {
delete firstversion[thislib, idx[thislib]];
idx[thislib]++;
- if ((thislib, idx[thislib]) in firstversion)
+ if ((thislib, idx[thislib]) in firstversion) {
+ # If we're skipping a referenced version to jump ahead to a
+ # later version, synthesize the earlier referenced version now.
+ if (v != $1 && (thislib, v) in usedversion)
+ print " " v;
v = firstversion[thislib, idx[thislib]];
- else
+ } else
break;
}
if ($1 == v || $1 == f)