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

Re: preparing for GCC 5, especially libstdc++6

On 16/06/15 23:37, Matthias Klose wrote:
> Hi,
> it's time to prepare for GCC 5 as the default compiler in unstable.  Compared to
> earlier version bumps, the switch to GCC 5 is a bit more complicated because
> libstdc++6 sees a few ABI incompatibilities, partially depending on the C++
> standard version used for the builds.  libstdc++6 will support two ABI's, the
> classic cxx98 ABI (currently in testing/unstable) and the new cxx11 ABI
> (currently enabled in experimental as the default ABI).
>  - the majority of packages using c++98 or earlier c++ standards
>    should just continue to work.
>  - In GCC 4.9 and earlier versions the libstdc++6 C++11 support was
>    still marked as experimental, and upstream doesn't (and didn't in the past)
>    guarantee c++11 ABI compatibility across major GCC versions.
>    It worked somehow ok in the past, however it won't this time.
>  - some c++98 code won't work when parts are built using GCC 4.9, and some
>    parts with GCC 5 (see PR66145 upstream).
> Unfortunately due to PR66145 we already have an incompatible libstdc++6 (at
> least for some packages) in testing/unstable, which was only seen after the
> first packages were rebuilt and issues like #784655 were reported.
> My goal is to make the GCC version bump in early July, and use the time until
> then to prepare libstdc++6 depending packages to get ready for GCC 5, and
> avoiding version bumps for C++ libraries until this time.
> Details for the whole transition are outlined in
>   https://wiki.debian.org/GCC5
> I'd appreciate feedback for this plan, clarify the wiki page, and would like to
> post a finalized plan next week to d-d-a, and file appropriate transition bugs
> next week.

Hi Matthias,

Thanks for the report. I have looked at the wiki page, but it's not entirely
clear to me how the libstdc++ transition will go, so I have a few questions to
better understand it.

- You suggest that some libraries may need to be renamed due to the ABI breaks.
Do you have a list of affected libraries?

- Will those libraries need to migrate all at the same time with libstdc++, or
could libstdc++/gcc-5 migrate first, and then the libraries can slowly migrate

My main concern with all this is if we'll have a huge transition with lots of
libraries been renamed and having to migrate at the same time with their rdeps.


Reply to: