What is ABI, and What Should WG21 Do About It? [pdf]
open-std.org
open-std.org
Mangling is a buggy, half-assed mess.
Essentially, I think that over the next decade the desire to maintain C++ relevant will eventually win out and there will be several breaking language releases (or perhaps a very big one) where C++ will correct itself. Stroustroup's comment about how there is a "smaller, safer" language inside C++ waiting to break out come to mind. However, the impact on the ecosystem will be large, as it was with the std::string breakage, but probably worse.
If it turns out that I am wrong then I think that C++ will just eventually fade out, crippled by its own weight and internal inconsistencies. It will always be there because of how much software is written with it, but "I'll be the next COBOL" is not really a great life insurance policy.
This is about whether C++ should guarantee explicitly ABI compatibility till the end of time or should attempt to break the ABI more aggressively.
I think there are many compelling arguments to "living at head" and committing to breaking backwards compatibility. If it means making many base constructs of the language as performant as expected.