[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC 3.2 transition



On Fri, Aug 16, 2002 at 02:51:34PM +0100, Matthew Wilcox wrote:

> This is a proposal. You will be notified when this is a real plan

>    Why don't we just change the sonames?

>    Because upstream chooses the soname to match their API. If we change
>    the soname then we render ourselves binary-incompatible with other
>    distros and vendor-supplied binaries. This is important because the
>    LSB intend to standardise the GCC 3.2 ABI; for Debian to become
>    binary-incompatible at this point would be the height of perversity.

No, not at all.  The soname is an assurance that the library's *ABI* is
constant.  An ABI can change with no changes to the API, and when it
does, the soname must be changed.  This is why we have at least 5
versions of libstdc++ in the archive right now (4 in woody alone).

I sincerely hope that g++ 3.2 applications will be allowed to coexist on
the system with g++ 2.95.x applications.  And really, there is no reason
to not allow this: because of the nature of the ABI breakage, you will
never be able to accidentally mix-and-match g++ 3.2 binaries with g++
2.95.x binaries, because they will not be able to resolve each other's
symbols at the linker level.  It is precisely because the symbol name
mangling has changed with each revision of gcc that we need to worry
about this transition in the first place.

If other distributions are planning to move from 2.95.x to 3.2 without
changing sonames, then we need to start talking to them /now/, and make
sure we aren't all stuck with this terrible mistake.

Steve Langasek
postmodern programmer

Attachment: pgpY_JSqWBDry.pgp
Description: PGP signature


Reply to: