On Sat, 14 May 2022 at 16:36, François Dumont via Libstdc++ 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.