On Thu, May 23, 2013 at 10:45:32PM +0200, Rainer Orth wrote: > Jakub Jelinek <ja...@redhat.com> writes: > > > On Thu, May 23, 2013 at 04:02:18PM +0200, Jakub Jelinek wrote: > >> So, here is an untested 4.8 branch patch. The @GLIBCXX_3.4.17 + > >> @@GLIBCXX_3.4.19 stuff gets ugly, I admit, but don't have other solution. > >> Tested just that it compiles/links, abi list looks good and abi.exp > >> testing, > >> haven't actually tried to test it more than that. > > > > Now fully bootstrapped/regtested on x86_64-linux and i686-linux. > > This patch breaks Solaris bootstrap: > > ld: fatal: libstdc++-symbols.ver-sun: 4423: symbol > 'std::chrono::steady_clock::now()' is already defined in file: > libstdc++-symbols.ver-sun: symbol version conflict > collect2: error: ld returned 1 exit status > make[6]: *** [libstdc++.la] Error 1 > > I think std::chrono::steady_clock::now() needs to be protected with > !(__sun__ && __svr4__) in GLIBCXX_3.4.17 since it only became available > by default with Jonathan's patch.
Ah, I see, gnu.ver has some #ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT #endif guards there, does it work if you add it around the GLIBCXX_3.4.17 std::chrono::steady_clock::now() definition? Seems the solaris baseline_symbols.txt files don't meantion this symbol, thus it wasn't exported before and thus the compat definition there isn't really needed for Solaris. Jakub