This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: The glibc ABI is badly broken.
- From: "H . J . Lu" <hjl at lucon dot org>
- To: roland at frob dot com
- Cc: GNU C Library <libc-alpha at sources dot redhat dot com>
- Date: Fri, 22 Mar 2002 18:50:07 -0800
- Subject: Re: The glibc ABI is badly broken.
- References: <20020322181337.A20057@lucon.org>
On Fri, Mar 22, 2002 at 06:13:37PM -0800, H . J . Lu wrote:
> Hi Roland,
>
> Your changes to scripts/versions.awk and scripts/firstversions.awk
> break Linux/mips and maybe other targets. Now many generated version
> files are now incompatible with the previous versions. For example,
> I got
>
> GLIBC_2.2 {
> global:
> __sigaction;
> _Exit;
> _IO_2_1_stdin_; _IO_2_1_stdout_; _IO_2_1_stderr_;
>
> in libcc.map on Linux/mips.
>
>
Here is a patch.
H.J.
----
2002-03-22 H.J. Lu <hjl@gnu.org>
* scripts/firstversions.awk: Check the first version.
--- scripts/firstversions.awk.abi Thu Feb 7 08:49:19 2002
+++ scripts/firstversions.awk Fri Mar 22 18:43:34 2002
@@ -27,7 +27,8 @@ $1 == "}" {
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]];
+ f = firstversion[thislib, idx[thislib]];
+ v = f;
while ($1 >= v) {
firstversion[thislib, idx[thislib]] = 0;
idx[thislib]++;
@@ -36,7 +37,7 @@ $1 == "}" {
else
break;
}
- if ($1 >= v)
+ if ($1 >= v || $1 == f)
print;
else
print $1, "=", v;