[v3] Update Solaris baselines for GCC 4.7

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Mon Jan 23 18:32:00 GMT 2012


Just as for the GCC 4.6 release, I plan to update the Solaris baselines
before 4.7.0 ships.  The following untested patch (simply created with
make new-abi-baseline) would do so, but I don't propose installing it
yet for several reasons:

* I'd like the baselines to be identical to the release, and there may
  well be more changes between now and then.

* I already noticed several errors that need to be fixed for the
  release.

* For the first time, there are differences between the baselines with
  Sun as (which doesn't support TLS before Solaris 10) and GNU as (which
  does), so we get different libstdc++.so interfaces depending on the
  toolset used.

On to the errors:

* I noticed several new symbols being placed into GLIBCXX_3.4.5, which
  also happens with gld and thus isn't an issue with Sun ld versioning
  support.  Adding to an old version is not supposed to happen and must
  be fixed.

+FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5

* There's quite a number of additions to 3.4.11:

+FUNC:_ZNKSt10lock_error4whatEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
+FUNC:__once_proxy@@GLIBCXX_3.4.11
+OBJECT:12:_ZTISt10lock_error@@GLIBCXX_3.4.11
+OBJECT:15:_ZTSSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:20:_ZTVSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:24:_ZTISt10lock_error@@GLIBCXX_3.4.11
+OBJECT:40:_ZTVSt10lock_error@@GLIBCXX_3.4.11

* I'm also getting additions to 3.4.15, which should be fixed by now:

+FUNC:_ZNSt13__future_base11_State_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD2Ev@@GLIBCXX_3.4.15
+OBJECT:16:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:16:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:16:__emutls_v._ZSt11__once_call@@GLIBCXX_3.4.15
+OBJECT:16:__emutls_v._ZSt15__once_callable@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:32:__emutls_v._ZSt11__once_call@@GLIBCXX_3.4.15
+OBJECT:32:__emutls_v._ZSt15__once_callable@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:8:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:8:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15

Apart from that, baselines with Sun as (emutls) and GNU as (native TLS)
differ on Solaris 8:

--- baseline_symbols.txt        2012-01-23 19:01:03.590486000 +0100
+++ baseline_symbols.txt.s8g    2012-01-23 19:03:38.063402000 +0100
@@ -2176,0 +2177 @@
+FUNC:_ZSt16__get_once_mutexv@@GLIBCXX_3.4.12
@@ -2209,0 +2211 @@
+FUNC:_ZSt23__get_once_functor_lockv@@GLIBCXX_3.4.11
@@ -2212,0 +2215 @@
+FUNC:_ZSt27__set_once_functor_lock_ptrPSt11unique_lockISt5mutexE@@GLIBCXX_3.4.12
@@ -2649,0 +2653 @@
+OBJECT:16:_ZSt14__once_functor@@GLIBCXX_3.4.11
@@ -2715,2 +2718,0 @@
-OBJECT:16:__emutls_v._ZSt11__once_call@@GLIBCXX_3.4.15
-OBJECT:16:__emutls_v._ZSt15__once_callable@@GLIBCXX_3.4.15

This hasn't happened before.  While the additions with gas are ok, the
removals are not.

Thoughts?

	Rainer


2012-01-23  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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sol2-libstdc++-baseline-gcc470.patch
Type: text/x-patch
Size: 62884 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20120123/286425c9/attachment.bin>
-------------- next part --------------


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


More information about the Libstdc++ mailing list