[v3] Introduce separate baselines for Solaris 10 and 11+ (PR libstdc++/66006)

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Thu Jan 7 13:54:00 GMT 2016


As described in the PR, libstdc++-abi/abi_check is FAILing on Solaris
11+ and Solaris 10 with gld.  Two symbols have been added compared to
the baseline:

 incompatible symbols
0
_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev
std::__cxx11::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_stringbuf()
version status: incompatible
GLIBCXX_3.4.21
type: function
status: added


1
_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev
std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()
version status: incompatible
GLIBCXX_3.4.21
type: function
status: added

They are already present in GCC 5.1.0 in those configurations, but
didn't cause check failures back then.  I'm pretty sure they show up
because gld and Solaris 11+ ld have COMDAT group support, while Solaris
10 ld has not.  This wasn't a problem on the gcc-5 branch, but of course
now symbols being added to an old version cause the test failure
observed.  It seems the only solution is to introduce two different
sets of baselines, one without COMDAT group support (solaris2.10) and
another one with (solaris2.11).  The current patch does just that.  I'm
using with_gnu_ld to check if GNU ld is in use, which can be a bit
involved since in the Solaris ld case it can either be empty (the
default) ot "no" (with --without-gnu-ld).

Bootstrapped without regressions on i386-pc-solaris2.10 and
i386-pc-solaris2.12 with as/ld and gas/gld respectively.

Ok for mainline?

	Rainer


2015-12-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/66006
	* configure.host (abi_baseline_pair): Use separate baseline for
	Solaris 11+ and Solaris 10 with gld.
	* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
	* config/abi/post/solaris2.11/baseline_symbols.txt: New file.
	* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sol2-libstdc++-baseline-s10-s11.patch.gz
Type: application/octet-stream
Size: 88464 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20160107/d99a4f4a/attachment.obj>
-------------- next part --------------

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


More information about the Libstdc++ mailing list