This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Why does -Wabi-tag complain when -std=c++03?
- From: Jeffrey Walton <noloader at gmail dot com>
- To: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Thu, 24 Mar 2016 13:29:04 -0400
- Subject: Re: Why does -Wabi-tag complain when -std=c++03?
- Authentication-results: sourceware.org; auth=none
- References: <CAH8yC8kYCmJqN4E5s9KQP1sH+PdV0axg9GuEf8MPeMQs0ede_w at mail dot gmail dot com> <CAH6eHdQYuMxhEJFD_P7GD1UgTy+oL4d_To9zwY8SJ1VRAD7J=w at mail dot gmail dot com> <CAH8yC8=SPMAapcOLo1=z5VpBnF3icoSzOjYZvNqZvkzuJeYYUA at mail dot gmail dot com> <CAH6eHdSSFOqHkpYBDn-GCE_U=hyZjJ0_-aXxENeRwQ=EHm6S0g at mail dot gmail dot com> <CAH8yC8k0m7c8deWa9GomCrCkLdAocwtqWJy7hvWJtgriKVsm7w at mail dot gmail dot com> <CAH6eHdQmQM_vw70aVgo_qdsXsahNWtGwEne=TxtAK4K1bHX9+w at mail dot gmail dot com> <CAH8yC8=TB=BSxKA1rPSU5xbOyoRGdhtZH60uwss23dXtqPHiZA at mail dot gmail dot com> <CAH6eHdRwhF__1uiL00RXqa8obhRaPN0=OFtW82hTT9O2sc2C_w at mail dot gmail dot com> <CAH8yC8=D2G_k2ByDi=M1g899i9wk=aayfrQA8B_pke8BR3MaEQ at mail dot gmail dot com> <CAH6eHdReZhZ8z8Snw_GgZ2w4PZa3_tmaRYCHS8q7oR8Z9uhhKQ at mail dot gmail dot com> <CAH8yC8mfVBJvVUPJwAt-Foo9w1e+Jz6GU_E5qYUZ3yF07nyJQQ at mail dot gmail dot com> <CAH8yC8nbADMw9v9maSWc74u7b2mo4459Oz36wij7dtBNi5TX_g at mail dot gmail dot com> <CAH6eHdTt=UeOMOm1t27sME7GJzwT5CBNV2E6ZaA65FcP=Ou26w at mail dot gmail dot com> <CAH8yC8=npuGBe+hGWi=mSAKHpP__Yr7SzVNRpmiK_aYV-F2z6w at mail dot gmail dot com> <CAH6eHdTT=GnFFYRKvF1Lb1xL25uGYsabNxXoGNiLjKNiLTW+fQ at mail dot gmail dot com> <CAH8yC8kxPmxp8w6eENOcAon9Ku3rJKKUkTt4b_QM5KdMyeYhdg at mail dot gmail dot com> <CAH6eHdRKhesALn5TYaqhYZMRfpBS3f6MBgvavJMVJeJMy7j3Nw at mail dot gmail dot com>
- Reply-to: noloader at gmail dot com
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