[v3] Fix Solaris symbol versioning (PR libstdc++/54872)

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Wed Oct 10 14:05:00 GMT 2012


As reported in the PR, abi_check fails on Solaris 10 and 11 since about
20120817.  On Solaris 10, I get

1 incompatible symbols 
0
_ZNSt12system_errorC1ESt10error_codeRKSs
std::system_error::system_error(std::error_code, std::string const&)
version status: incompatible
GLIBCXX_3.4.11
type: function
status: added

On Solaris 11, there's also

0
_ZNSt12system_errorC2ESt10error_codeRKSs
std::system_error::system_error(std::error_code, std::string const&)
version status: incompatible
GLIBCXX_3.4.11
type: function
status: added

This is in

libstdc++.a[thread.o]: [59]     |         0|       418|FUNC |WEAK |0    |12     |_ZNSt12system_errorC1ESt10error_codeRKSs
libstdc++convenience.a[thread.o]: [59]  |         0|       418|FUNC |WEAK |0    |12     |_ZNSt12system_errorC1ESt10error_codeRKSs

A reghunt revealed that this was introduced by

2012-08-12  Jonathan Wakely  <jwakely.gcc@gmail.com>

       PR libstdc++/52681
       * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
       when threads are not enabled.

The issue seems to be the same as in PR libstdc++/52188, so I'm applying
the same solution.

Bootstrapped without regressions on i386-pc-solaris2.10 and
x86_64-unknown-linux-gnu, ok for mainline?

	Rainer


2012-10-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/54872
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
	Don't export _ZNSt12system_errorC*.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sol2-libstdc++-symver48.patch
Type: text/x-patch
Size: 722 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20121010/a85eba71/attachment.bin>
-------------- next part --------------

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


More information about the Libstdc++ mailing list