This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ 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 23:54:05 +0200
- Subject: Re: [patch] Default to --enable-libstdcxx-time=auto
- References: <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> <ydd7gipwh3a dot fsf at CeBiTec dot Uni-Bielefeld dot DE> <20130523210611 dot GH1377 at tucnak dot redhat dot com> <ydd38tdwgis dot fsf at CeBiTec dot Uni-Bielefeld dot DE>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
> Jakub Jelinek <jakub@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