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

Re: release policy changes

Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de> writes:
> Russ Allbery <rra@stanford.edu> writes:

>> I think you're confusing the C++ ABI with the SONAME of libstdc++.
>> They're not necessarily the same thing, although right now they tend to
>> change at the same time.  Having the SONAME of libstdc++ change is
>> actually probably more likely to cause problems than a C++ ABI change
>> (since the latter is likely to be an edge case at this point), but
>> either can cause problems.

> If libstdc++ changes its ABI without its SONAME then every package
> linked against it most likely breaks. That certainly wouldn't do.

I think you're still too caught up on libstdc++, the library.  The library
is not the C++ ABI, just like how libgcc is not used by all C programs.
The C++ ABI involves things like how classes are laid out and how function
names are mangled.

While it's certainly true that changing the C++ ABI would then change the
ABI of libstdc++ and result in an SONAME change, it is quite possible to
write a library that does not use libstdc++ at all but that is still
affected by the C++ ABI.

This may be completely theoretical -- I'm not aware of such a library in
Debian at present.  I'm just saying that I see what the original poster is
getting at.

> If the ABI changes but not the SONAME then the only sane thing to do is
> to encode the ABI in the package name, e.g. libstc++-6c1002. Just like
> for any other lib doing the upcoming c++ abi transition.

We agree on this.

Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>

Reply to: