Rainer Orth <r...@cebitec.uni-bielefeld.de> writes: > Jakub Jelinek <ja...@redhat.com> writes: > >> On Thu, May 23, 2013 at 10:56:25PM +0200, Rainer Orth wrote: >>> >> 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? >>> >>> If I do so, I would probably get an abi_check failure: with your patch, >>> std::chrono::steady_clock::now() ends up in GLIBCXX_3.4.19 while it >>> should appear in GLIBCXX_3.4.20 since this is new in GCC 4.9. >> >> In that case, either the --enable-libstdcxx-time=auto patch needs to be >> backported to 4.8.1, or at least a small portion of it (do that auto thing >> on Solaris only)? >> Have steady_clock::now() as @GLIBCXX_3.4.17 + @@GLIBCXX_3.4.19 on Linux, >> @@GLIBCXX_3.4.20 on Solaris, something else on other OSes would be quite >> confusing. > > Agreed, that seems the best course of action if that's an option.
I just remembered that we aren't there yet even on mainline: * This snippet http://gcc.gnu.org/ml/gcc-patches/2013-05/msg01255.html is necessary to avoid bootstrap failure on Solaris 9. * We'll need to link every C++ program with -lrt on Solaris, as mentioned in the same message. I suppose the best way to do this is along the lines of libgfortran.spec, rather than duplicate the necessary configury between g++ and libstdc++. This might prove pretty invasive for the testsuite, though, and delay the 4.8.1 release quite a bit. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University