diff mbox

[v3] Regenerate Solaris 2 baselines for GCC 4.6.0 release

Message ID yddlj0gpqt3.fsf@manam.CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth March 15, 2011, 11:27 a.m. UTC
I think we agreed that it would be useful to regenerate the Solaris 2
libstdc++ baselines close to the GCC 4.6.0 release, especially given
that symbol versioning on Solaris appears in 4.6.0 for the first time
and several symbols have been added to the libstdc++.so ABI since the
last update.

This patch does exactly that.  It is based on make new-abi-baseline
output across all of Solaris 8 to 11,  both SPARC and x86.  I'm
currently re-running bootstraps on all of them on both mainline and the
4.6 branch.

I'm only including one diff below, the others are identical (modulo
object sizes for the 64-bit ABIs).

The following functions/variables were added since the last update:

FUNC:std::regex_error::~regex_error()@@GLIBCXX_3.4.15
FUNC:std::regex_error::~regex_error()@@GLIBCXX_3.4.15
FUNC:std::regex_error::~regex_error()@@GLIBCXX_3.4.15
FUNC:std::bad_function_call::~bad_function_call()@@CXXABI_1.3.5
FUNC:std::bad_function_call::~bad_function_call()@@CXXABI_1.3.5
FUNC:std::__detail::_List_node_base::_M_reverse()@@GLIBCXX_3.4.15
FUNC:std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)@@GLIBCXX_3.4.15
FUNC:std::__detail::_List_node_base::swap(std::__detail::_List_node_base&, std::__detail::_List_node_base&)@@GLIBCXX_3.4.15
FUNC:std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@@GLIBCXX_3.4.15
FUNC:std::__detail::_List_node_base::_M_unhook()@@GLIBCXX_3.4.15
FUNC:std::__throw_regex_error(std::regex_constants::error_type)@@GLIBCXX_3.4.15
OBJECT:12:typeinfo for std::regex_error@@GLIBCXX_3.4.15
OBJECT:12:typeinfo for std::bad_function_call@@CXXABI_1.3.5
OBJECT:16:typeinfo name for std::regex_error@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_1@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_2@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_3@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_4@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_5@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_6@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_7@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_8@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_9@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_10@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_11@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_12@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_13@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_14@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_15@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_16@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_17@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_18@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_19@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_20@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_21@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_22@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_23@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_24@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_25@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_26@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_27@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_28@@GLIBCXX_3.4.15
OBJECT:1:std::placeholders::_29@@GLIBCXX_3.4.15
OBJECT:20:vtable for std::regex_error@@GLIBCXX_3.4.15
OBJECT:20:vtable for std::bad_function_call@@CXXABI_1.3.5
OBJECT:22:typeinfo name for std::bad_function_call@@CXXABI_1.3.5

Ok for both if the bootstraps pass?

Thanks.

	Rainer


2011-03-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	libstdc++-v3:
	* config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
	* config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.

Comments

Rainer Orth March 15, 2011, 4:12 p.m. UTC | #1
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> I think we agreed that it would be useful to regenerate the Solaris 2
> libstdc++ baselines close to the GCC 4.6.0 release, especially given
> that symbol versioning on Solaris appears in 4.6.0 for the first time
> and several symbols have been added to the libstdc++.so ABI since the
> last update.
>
> This patch does exactly that.  It is based on make new-abi-baseline
> output across all of Solaris 8 to 11,  both SPARC and x86.  I'm
> currently re-running bootstraps on all of them on both mainline and the
> 4.6 branch.
[...]
> Ok for both if the bootstraps pass?

While 4.6 bootstrap has completed without regressions on Solaris 10 and
11/x86 and Solaris 10/SPARC, mainline bootstrap is broken by Benjamin's
recent patch

2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>
[...]
	* libsupc++/nested_exception.cc: New. Add dtor for nested_exception.
	* libsupc++/nested_exception.h: Adjust.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* config/abi/pre/gnu.ver: Add new exports.

 when using the Sun linker:

ld: fatal: libstdc++-symbols.ver-sun: 5130: symbol 'typeinfo for std::nested_exception' is already defined in file: libstdc++-symbols.ver-sun: symbol version conflict
ld: fatal: libstdc++-symbols.ver-sun: 5132: symbol 'typeinfo name for std::nested_exception' is already defined in file: libstdc++-symbols.ver-sun: symbol version conflict
ld: fatal: libstdc++-symbols.ver-sun: 5134: symbol 'vtable for std::nested_exception' is already defined in file: libstdc++-symbols.ver-sun: symbol version conflict
collect2: ld returned 1 exit status

The lines in question are

    ##_ZTISt16nested_exception (glob)
    _ZTISt16nested_exception;
    ##_ZTSSt16nested_exception (glob)
    _ZTSSt16nested_exception;
    ##_ZTVSt16nested_exception (glob)
    _ZTVSt16nested_exception;

in CXXABI_1.3.5, but the same symbols are also matched by

    ##_ZTISt[0-9][0-9][m-q]* (glob)
    ##_ZTSSt[0-9][0-9][m-q]* (glob)
    ##_ZTVSt[0-9][0-9][m-q]* (glob)

in GLIBCXX_3.4.  I fear that I need to update contrib/make_sunver.pl to
handle this, but would need to know the exact semantics of such a
version script first.

	Rainer
Benjamin Kosnik March 15, 2011, 7 p.m. UTC | #2
> I think we agreed that it would be useful to regenerate the Solaris 2
> libstdc++ baselines close to the GCC 4.6.0 release, especially given
> that symbol versioning on Solaris appears in 4.6.0 for the first time
> and several symbols have been added to the libstdc++.so ABI since the
> last update.

I agree we should do this for 4.6.0, but I disagree as to what the
exact exports should be.

-benjamin
diff mbox

Patch

diff -r 217519b21f20 libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt
--- a/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt	Fri Mar 11 18:03:34 2011 +0100
+++ b/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt	Tue Mar 15 11:21:07 2011 +0100
@@ -1162,6 +1162,9 @@ 
 FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
 FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11regex_errorD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15
 FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
 FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
 FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
@@ -1712,6 +1715,8 @@ 
 FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17bad_function_callD0Ev@@CXXABI_1.3.5
+FUNC:_ZNSt17bad_function_callD1Ev@@CXXABI_1.3.5
 FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
 FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
 FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
@@ -1920,6 +1925,11 @@ 
 FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8__detail15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
 FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -2121,6 +2131,7 @@ 
 FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
 FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
 FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@@GLIBCXX_3.4.15
 FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
 FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
 FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
@@ -2463,6 +2474,7 @@ 
 OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
 OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt11regex_error@@GLIBCXX_3.4.15
 OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
@@ -2498,6 +2510,7 @@ 
 OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
 OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
+OBJECT:12:_ZTISt17bad_function_call@@CXXABI_1.3.5
 OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
@@ -2608,6 +2621,7 @@ 
 OBJECT:16:_ZTIPy@@CXXABI_1.3
 OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
 OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
+OBJECT:16:_ZTSSt11regex_error@@GLIBCXX_3.4.15
 OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
 OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
 OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
@@ -2644,6 +2658,35 @@ 
 OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt12placeholders2_1E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_2E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_3E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_4E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_5E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_6E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_7E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_8E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_9E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_10E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_11E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_12E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_13E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_14E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_15E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_16E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_17E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_18E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_19E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_20E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_21E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_22E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_23E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_24E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_25E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_26E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_27E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_28E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_29E@@GLIBCXX_3.4.15
 OBJECT:1:_ZNSt14numeric_limitsIDiE10is_boundedE@@GLIBCXX_3.4.11
 OBJECT:1:_ZNSt14numeric_limitsIDiE10is_integerE@@GLIBCXX_3.4.11
 OBJECT:1:_ZNSt14numeric_limitsIDiE12has_infinityE@@GLIBCXX_3.4.11
@@ -2904,6 +2947,7 @@ 
 OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt11regex_error@@GLIBCXX_3.4.15
 OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt12future_error@@GLIBCXX_3.4.14
 OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
@@ -2916,6 +2960,7 @@ 
 OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt17bad_function_call@@CXXABI_1.3.5
 OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
@@ -2929,6 +2974,7 @@ 
 OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
 OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
 OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt17bad_function_call@@CXXABI_1.3.5
 OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
 OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
 OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4