[committed 03/12] libstdc++: Add macros for the inline namespace std::_V2
François Dumont
frs.dumont@gmail.com
Mon May 16 16:59:55 GMT 2022
Great, thanks for explaining what compatibility files are for.
I can't wait to see the impact of this patch on the abi tests.
Especially for my patch to use cxx11 abi std::string for the version
namespace mode.
François
On 16/05/22 18:13, Jonathan Wakely wrote:
> On Sat, 14 May 2022 at 16:36, François Dumont via Libstdc++
> <libstdc++@gcc.gnu.org> wrote:
>> Versioned namespace does not compile after this patch. With this patch
>> it compiles but does not link because of:
>>
>> /usr/bin/ld: /usr/bin/ld: DWARF error: can't find .debug_ranges section.
>> ../src/c++11/.libs/libc++11convenience.a(chrono.o): in function
>> `std::__8::chrono::system_clock::now()':
>> chrono.cc:(.text._ZNSt3__86chrono12system_clock3nowEv+0x0): multiple
>> definition of `std::__8::chrono::system_clock::now()'; /usr/bin/ld:
>> DWARF error: can't find .debug_ranges section.
>> .libs/compatibility-chrono.o:compatibility-chrono.cc:(.text._ZNSt3__86chrono12system_clock3nowEv+0x0):
>> first defined here
> Oops, I knew I'd forgotten to check something!
>
> I think the attached patch would be better. This stops defining the
> C++0x compat symbols for the versioned namespace. Those symbols only
> exist for backwards compatibility with ancient versions of
> libstdc++.so.6 (from GCC 4.6 and similar vintages). We don't need
> those symbols in libstdc++.so.8 at all.
>
> This fixes the versioned namespace build, I'm running the tests now.
More information about the Libstdc++
mailing list