Following up on the Linaro Toolchain list[1], I found out a few facts:

1. This feature was implemented in GCC and libstdc++ in 2012, after
discussions on the cauldron with distro representatives.

2. The feature is poorly documented, and may have changed behaviour
until recently. I have no evidence of changes, is anyone does, please
update.

3. The problem only started because distros have chosen GCC 5 as their
default compilers for the current releases, which defaults to C++11.

4. The fact that GCC developers didn't liaise with Clang developers is a
shame, but understandable. The real issue here is the fact that distro
representatives took an executive decision to change the object layout
of core C++ classes in libstdc++ and to change the ABI without worrying
about other compilers.

If they has asked Clang folks about the ABI change, (and they did, see
this thread), they would have known that the ABI behaviour was poorly
documented and a moving target (as they did, look at this bug), and
should have taken the decision to mitigate the problems.

In this case, I'd expect distro folks to be the middle-men between GCC
and Clang and to make sure that both compilers work well on their new
releases. If you look at this bug and all of those that were marked as
duplicate, you'll see that both Debian and RedHat based distros knew
that Clang still didn't have the feature they needed and why.

True, we could have been more informative and made explicit every detail
on why it was hard to know what to implement, but as middle-men, I
expected distros to be more pro-active towards unification and less pro-
active towards changing the ABI.

[1] https://lists.linaro.org/pipermail/linaro-
toolchain/2016-January/005457.html

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1488254

Title:
  clang++ no longer ABI-compatible with g++

To manage notifications about this bug go to:
https://bugs.launchpad.net/llvm/+bug/1488254/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to