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
pgpK64MKeW4Dh.pgp
Description: PGP signature