Why does -Wabi-tag complain when -std=c++03?

Jeffrey Walton noloader@gmail.com
Thu Mar 24 17:29:00 GMT 2016


On Thu, Mar 24, 2016 at 1:02 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On 24 March 2016 at 16:43, Jeffrey Walton wrote:
>> There are lots of folks who have experienced the issue; check out
>> http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=libstdc%2B%2B-cxx11;users=debian-gcc@lists.debian.org.
>> Debian happened to say "f**k it, we'll just recompile everything under
>> the new ABI and be done with it". But they experienced the corner-case
>> issues too. I don't know why they did not consult with the GCC folks.
>
> They did. Rebuilding everything is the right choice.

It was an incomplete remediation. Debian still has open bugs because
of it, and we are fielding reports because of it.

>> This step was not obvious to me at all. I don't ever recall having to
>> define a library macro for a library:
>>
>>     $ g++ -D_GLIBCXX_USE_CXX11_ABI=0 -c test.cxx -o test-v1.o
>>     $ g++ -D_GLIBCXX_USE_CXX11_ABI=1 -c test.cxx -o test-v2.o
>>
>> Naively, because of the blog post on the coexistent implementations, I
>> was looking for an option like -dual-abi to do it for me.
>
> Which is a leap that doesn't in any way follow from a literal reading
> of the blog post!

Right. We've had similar on other platforms for years and even on
Linux. For example, with Apple, we can build fat binaries. Even the
kernel has FatELF (http://lwn.net/Articles/359070/).

This situation seems like a perfect application of the technologies,
but it seems to be missing from the solution. Hence the reason I
refrained from the leap, and asked what to do/how do I do it.

Jeff



More information about the Gcc-help mailing list