On Thu, May 23, 2013 at 10:45:32PM +0200, Rainer Orth wrote:
> Jakub Jelinek <[email protected]> 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