This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Default to --enable-libstdcxx-time=auto
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Jonathan Wakely <jwakely dot gcc at gmail dot com>, Benjamin Kosnik <bkoz at redhat dot com>, Paolo Carlini <paolo dot carlini at oracle dot com>, libstdc++ <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 23 May 2013 22:56:25 +0200
- Subject: Re: [patch] Default to --enable-libstdcxx-time=auto
- References: <CAH6eHdRXAK1r0g7u+50RobAxTo=6DJsvRZzo75m7x+5ir3opKQ at mail dot gmail dot com> <CAH6eHdS5gqa2nfNJfC0zy9FJq4amgjJbtUuEASM_Qw0GZ8-9aA at mail dot gmail dot com> <20130522111543 dot GG1377 at tucnak dot redhat dot com> <CAH6eHdR0MocSNhvD_xRfhcYiaGugs8P++oJnTyy5DSAiDh=hPg at mail dot gmail dot com> <20130522123540 dot GH1377 at tucnak dot redhat dot com> <20130523102827 dot GV1377 at tucnak dot redhat dot com> <CAH6eHdStnqrmWiWBioQLe53VCjMN-AC_56RW+Xnm=z0=pEDtxQ at mail dot gmail dot com> <20130523140218 dot GW1377 at tucnak dot redhat dot com> <20130523162611 dot GA1377 at tucnak dot redhat dot com> <yddbo81whlf dot fsf at CeBiTec dot Uni-Bielefeld dot DE> <20130523205022 dot GF1377 at tucnak dot redhat dot com>
Jakub Jelinek <jakub@redhat.com> writes:
> On Thu, May 23, 2013 at 10:45:32PM +0200, Rainer Orth wrote:
>> Jakub Jelinek <jakub@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?
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.
> 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.
Right, it only got enable by defaulting --enable-libstdcxx-time to auto.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University