[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Extra version stuff in glibc?
From: |
Marcus Brinkmann |
Subject: |
Re: Extra version stuff in glibc? |
Date: |
Sat, 23 Mar 2002 04:58:16 +0100 |
User-agent: |
Mutt/1.3.27i |
Hi,
here is a fix for the below problem.
2002-03-23 Marcus Brinkmann <address@hidden>
* Makeconfig ($(common-objpfx)soversions.i): If there is no
standard version, apply $(oldest-abi) if it is set.
--- /mnt/marcus/gnu/cvs/libc/Makeconfig Mon Mar 18 01:42:51 2002
+++ ./Makeconfig Sat Mar 23 04:42:42 2002
@@ -772,7 +772,7 @@
if eval test -z "\$${versioned_$${lib}}"; then \
eval versioned_$${lib}=yes; \
number=`echo $$version | sed "s/^.*=//"`; \
- echo $$lib $$number $${setname:-$${default_setname}}; \
+ echo $$lib $$number $${setname:-$${default_setname:-$(if $(filter
default,$(oldest-abi)),,GLIBC_$(oldest-abi))}}; \
fi; \
fi; \
done < $< > address@hidden; exit 0
On Sat, Mar 23, 2002 at 04:32:42AM +0100, Marcus Brinkmann wrote:
> The generation of the maps is fine, what doesn't work is generation of the
> soversions. The rules for soversions.i don't take into account the
> oldest-abi value at all, only the information in shlib-versions. But
> shlib-versions doesn't say alot about Hurd requirements, only in the one
> case:
>
> %if defined(USE_IN_LIBIO) && !defined(GLIBC_OLDEST_ABI)
> // If you use configure --enable-libio --enable-oldest-abi=2.0 then we
> // won't rename the old version sets and all the libraries except libc
> // itself ought to be binary compatible with the libc.so.0.2 ABI.
> .*-.*-gnu-gnu.* DEFAULT GLIBC_2.2.5
> %endif
>
> So the only case where the soversions.i file is correct is in the case:
> without libio, no (or the default) oldest abi specified and with libio, and
> _no_ oldest abi specified (any oldest-abi option will make it drop back to
> the default, which is 2.0).
>
> Note the utter lack of mentioning the oldest abi in the rules for
> soversions.i. This is how soversions.i looks in a build with libio and no
> oldest abi specified:
>
> address@hidden:/tmp/libc$ less build-libio/soversions.i
> libm 6 GLIBC_2.2.5
> libmachuser 1 GLIBC_2.2.5
> libhurduser 0.0 GLIBC_2.2.5
> libc 0.3 GLIBC_2.2.5
> ld ld.so.1 GLIBC_2.2.5
> ...
>
> And like this in any other configuration:
> libm 6
> libmachuser 1
> libhurduser 0.0
> libc 0.3
> ld ld.so.1
> libdl 2
>
> Which is of course only right for the stdio, no (or default == 2.0) oldest abi
> version.
>
> The rules for soversions.i in Makeconfig needs fixing.
>
> Thanks,
> Marcus
>
> --
> `Rhubarb is no Egyptian god.' Debian http://www.debian.org address@hidden
> Marcus Brinkmann GNU http://www.gnu.org address@hidden
> address@hidden
> http://www.marcus-brinkmann.de
>
>
--
`Rhubarb is no Egyptian god.' Debian http://www.debian.org address@hidden
Marcus Brinkmann GNU http://www.gnu.org address@hidden
address@hidden
http://www.marcus-brinkmann.de