diff mbox

[v3] Update Solaris baselines for GCC 4.7

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

Commit Message

Rainer Orth Jan. 23, 2012, 6:31 p.m. UTC
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:


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.

Comments

Rainer Orth Jan. 27, 2012, 3:44 p.m. UTC | #1
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> 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.

Unfortunately, I haven't seen any response to this patch and the issues
raised in a week.

Anyone?

	Rainer
Paolo Carlini Jan. 27, 2012, 4:05 p.m. UTC | #2
On 01/23/2012 07:31 PM, Rainer Orth wrote:
> * 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
I don't think this is a new issue, I see it in 4.6 branch and even in 
4.5 branch. At some point we had a problem which Jakub patched (thus the 
*XX variants), the actual story is longish but is not new, I'm not sure 
you are interested in thegory details.

> * 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
This, I don't see why you considered it some sort of "problem"?!? Yes we 
started exporting some additional symbols, in 3.4.11, I can confirm that.

Paolo.
Rainer Orth Jan. 27, 2012, 4:18 p.m. UTC | #3
Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 01/23/2012 07:31 PM, Rainer Orth wrote:
>> * 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
> I don't think this is a new issue, I see it in 4.6 branch and even in 4.5
> branch. At some point we had a problem which Jakub patched (thus the *XX
> variants), the actual story is longish but is not new, I'm not sure you are
> interested in thegory details.

Perhaps you have a pointer?

>> * 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
> This, I don't see why you considered it some sort of "problem"?!? Yes we
> started exporting some additional symbols, in 3.4.11, I can confirm that.

Adding new symbols to an old version is fundamentally wrong IMO:
consider you have some libstdc++.so from some older gcc release that
includes anything up to GLIBCXX_3.4.11.  Now you compile and link some
new executable with g++ 4.7.0 and the new libstdc++.so which contains
those new symbols in GLIBCXX_3.4.11.  That executable only uses symbols
from that version, including some of those added after GLIBCXX_3.4.11
originally shipped, nothing newer.  When you try to run it on the older
system, ld.so.1 detects that the libstdc++.so there provides all
versions required by the executable, concludes that it is safe to run
it, starts it, and later there's a reference to those new symbols which
of course aren't present: crash/bang!  This is exactly what symbol
versioning is supposed to avoid.  It is intended to allow the runtime
linker to detect up front if it is safe to run an executable because
its dependencies are present.

Old versions *must* be frozen once they have been released, otherwise
this whole symbol versioning stuff is moot.

	Rainer
Paolo Carlini Jan. 27, 2012, 4:22 p.m. UTC | #4
On 01/27/2012 05:18 PM, Rainer Orth wrote:
> Paolo Carlini<paolo.carlini@oracle.com>  writes:
>
>> On 01/23/2012 07:31 PM, Rainer Orth wrote:
>>> * 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
>> I don't think this is a new issue, I see it in 4.6 branch and even in 4.5
>> branch. At some point we had a problem which Jakub patched (thus the *XX
>> variants), the actual story is longish but is not new, I'm not sure you are
>> interested in thegory details.
> Perhaps you have a pointer?
I can search, but really the issue is very, very old and we already 
released *many* GCCs "affected".
>>> * 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
>> This, I don't see why you considered it some sort of "problem"?!? Yes we
>> started exporting some additional symbols, in 3.4.11, I can confirm that.
> Adding new symbols to an old version is fundamentally wrong IMO:
Totally agreed, but who did that? Those symbols are exported @3.4.11. I 
still don't understand.

Paolo.
Rainer Orth Jan. 27, 2012, 4:27 p.m. UTC | #5
Paolo Carlini <paolo.carlini@oracle.com> writes:

>>>> +FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
>>>> +FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
>>> I don't think this is a new issue, I see it in 4.6 branch and even in 4.5
>>> branch. At some point we had a problem which Jakub patched (thus the *XX
>>> variants), the actual story is longish but is not new, I'm not sure you are
>>> interested in thegory details.
>> Perhaps you have a pointer?
> I can search, but really the issue is very, very old and we already
> released *many* GCCs "affected".

For the case at hand, I doubt that: those are additions between the gcc
4.6.0 and 4.7.0 Solaris baselines.  They have not been present in
Solaris libstdc++.so on 4.6.

>>>> * 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
>>> This, I don't see why you considered it some sort of "problem"?!? Yes we
>>> started exporting some additional symbols, in 3.4.11, I can confirm that.
>> Adding new symbols to an old version is fundamentally wrong IMO:
> Totally agreed, but who did that? Those symbols are exported @3.4.11. I
> still don't understand.

They would be exported @3.4.11 if they had been present before.  On
Solaris before 4.7, there were not.

	Rainer
Paolo Carlini Jan. 27, 2012, 4:28 p.m. UTC | #6
On 01/27/2012 05:27 PM, Rainer Orth wrote:
> They would be exported @3.4.11 if they had been present before. On 
> Solaris before 4.7, there were not. Rainer 
Ah, Ok, now I see, you are talking about *Solaris-specific* issues. 
Because Linux is fine (or that old small glitch with istreambuf_iterator 
is very well known). I don't think I can help clarifying these matters, 
sorry.

Paolo.
Paolo Carlini Jan. 27, 2012, 4:41 p.m. UTC | #7
On 01/27/2012 05:22 PM, Paolo Carlini wrote:
>> Perhaps you have a pointer?
> .
> I can search, but really the issue is very, very old and we already 
> released *many* GCCs "affected".
This one:

2005-06-23  Jakub Jelinek <jakub@redhat.com>

     PR libstdc++/22109
     * src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.

...

Paolo.
Rainer Orth Jan. 27, 2012, 4:46 p.m. UTC | #8
Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 01/27/2012 05:27 PM, Rainer Orth wrote:
>> They would be exported @3.4.11 if they had been present before. On
>> Solaris before 4.7, there were not. Rainer 
> Ah, Ok, now I see, you are talking about *Solaris-specific* issues. Because

Perhaps partially, but ...

> Linux is fine (or that old small glitch with istreambuf_iterator is very
> well known). I don't think I can help clarifying these matters, sorry.

... even on x86_64-unknown-linux-gnu (CentOS 5.6), I see additions to
3.4.11 (at least beyond the current baselines).  I cannot tell when
those were updated, but the problem goes beyond Solaris.

I'd even argue that abi_check should flag all additions to released
versions as a hard error.

	Rainer
Paolo Carlini Jan. 27, 2012, 4:48 p.m. UTC | #9
On 01/27/2012 05:46 PM, Rainer Orth wrote:
> ... even on x86_64-unknown-linux-gnu (CentOS 5.6), I see additions to 
> 3.4.11 (at least beyond the current baselines).
Sure there are additions at 3.4.11, regularly explicitly exported 
@3.4.11 in the linker script. Everything went as planned, I repeat. The 
baselines are old, are always old, didn't we discuss that already? 
Normally, Jakub from time to time takes care of moving forward the 
baselines, if you are interested in the baselines specifically, you 
should ask him.

Paolo.
Paolo Carlini Jan. 27, 2012, 4:51 p.m. UTC | #10
On 01/27/2012 05:46 PM, Rainer Orth wrote:
> I'd even argue that abi_check should flag all additions to released 
> versions as a hard error.
Again, agreed. As a matter of fact, I'm pretty sure we do that already, 
I'm pretty sure Benjamin tightened abi_check in the light of that 
problem we had in 2005.

Paolo.
Rainer Orth Jan. 27, 2012, 4:53 p.m. UTC | #11
Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 01/27/2012 05:46 PM, Rainer Orth wrote:
>> ... even on x86_64-unknown-linux-gnu (CentOS 5.6), I see additions to 
>> 3.4.11 (at least beyond the current baselines).
> Sure there are additions at 3.4.11, regularly explicitly exported 
> @3.4.11 in the linker script. Everything went as planned, I repeat. The 
> baselines are old, are always old, didn't we discuss that already? 

That's not the issue here: those additions are symbols that were added
recently, it seems, way after 3.4.11 was released.  If this is `as
planned', I give up on libstdc++.so symbol versioning since it servers
no useful purpose.

I fear this is another case of the version maps using wildcards that are
way too permissive.

> Normally, Jakub from time to time takes care of moving forward the 
> baselines, if you are interested in the baselines specifically, you 
> should ask him.

Hopefully he can clarify.

	Rainer
Rainer Orth Jan. 27, 2012, 4:54 p.m. UTC | #12
Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 01/27/2012 05:46 PM, Rainer Orth wrote:
>> I'd even argue that abi_check should flag all additions to released
>> versions as a hard error.
> Again, agreed. As a matter of fact, I'm pretty sure we do that already, I'm
> pretty sure Benjamin tightened abi_check in the light of that problem we
> had in 2005.

I doubt that, otherwise the additions to versions already released
should have been flagged as such on Solaris, but abi_check suggests they
are benign.

	Rainer
Michael Matz Jan. 27, 2012, 5:07 p.m. UTC | #13
Hi,

On Fri, 27 Jan 2012, Rainer Orth wrote:

> Paolo Carlini <paolo.carlini@oracle.com> writes:
> 
> > On 01/27/2012 05:27 PM, Rainer Orth wrote:
> >> They would be exported @3.4.11 if they had been present before. On
> >> Solaris before 4.7, there were not. Rainer 
> > Ah, Ok, now I see, you are talking about *Solaris-specific* issues. Because
> 
> Perhaps partially, but ...
> 
> > Linux is fine (or that old small glitch with istreambuf_iterator is very
> > well known). I don't think I can help clarifying these matters, sorry.
> 
> ... even on x86_64-unknown-linux-gnu (CentOS 5.6), I see additions to
> 3.4.11 (at least beyond the current baselines).

Which ones for instance?  I have checked a couple of symbols of your 
3.4.11 list and found them all also in my system (4.6 based) libstdc++.  
I've also checked some history of config/abi/pre/gnu.ver, and the only 
meddling with 3.4.11 symbols after version 3.4.12 was added (at r147137) 
is r157067 in 2010, that tightened some exports for numeric_limits:: .


Ciao,
Michael.
Jakub Jelinek Jan. 27, 2012, 5:08 p.m. UTC | #14
On Fri, Jan 27, 2012 at 05:54:56PM +0100, Rainer Orth wrote:
> Paolo Carlini <paolo.carlini@oracle.com> writes:
> 
> > On 01/27/2012 05:46 PM, Rainer Orth wrote:
> >> I'd even argue that abi_check should flag all additions to released
> >> versions as a hard error.
> > Again, agreed. As a matter of fact, I'm pretty sure we do that already, I'm
> > pretty sure Benjamin tightened abi_check in the light of that problem we
> > had in 2005.
> 
> I doubt that, otherwise the additions to versions already released
> should have been flagged as such on Solaris, but abi_check suggests they
> are benign.

If you mean
TLS:8:_ZSt11__once_call@@GLIBCXX_3.4.11                                                                                                            
TLS:8:_ZSt15__once_callable@@GLIBCXX_3.4.11                                                                                                        
then those symbols were really added in 3.4.11, but I haven't added them
(intentionally) to the baseline symbols, since then anybody configuring
without working TLS would get hard make check failures.

	Jakub
Paolo Carlini Jan. 27, 2012, 5:13 p.m. UTC | #15
On 01/27/2012 05:53 PM, Rainer Orth wrote:
> Paolo Carlini<paolo.carlini@oracle.com>  writes:
>
>> On 01/27/2012 05:46 PM, Rainer Orth wrote:
>>> ... even on x86_64-unknown-linux-gnu (CentOS 5.6), I see additions to
>>> 3.4.11 (at least beyond the current baselines).
>> Sure there are additions at 3.4.11, regularly explicitly exported
>> @3.4.11 in the linker script. Everything went as planned, I repeat. The
>> baselines are old, are always old, didn't we discuss that already?
> That's not the issue here: those additions are symbols that were added
> recently, it seems, way after 3.4.11 was released.
I fiddled a bit with svn blame and I have been able to find only two 
changes to those lines, svn versions 135007 and 139943. At that time for 
sure the linker script did *not* have a 3.4.12 open, thus in any case 
can't possibly be *way after*. If you can find evidence that we did that 
when a 3.4.11 was already out, then we (me; Chris Fairles via Benjamin) 
did something badly wrong. But I seriously doubt that, because 3.4.11 
appeared for the first time in gcc4.4.0 which was released 2009-04-21, 
thus many months after those commits.

Paolo.
Rainer Orth Jan. 27, 2012, 5:17 p.m. UTC | #16
Jakub Jelinek <jakub@redhat.com> writes:

> On Fri, Jan 27, 2012 at 05:54:56PM +0100, Rainer Orth wrote:
>> Paolo Carlini <paolo.carlini@oracle.com> writes:
>> 
>> > On 01/27/2012 05:46 PM, Rainer Orth wrote:
>> >> I'd even argue that abi_check should flag all additions to released
>> >> versions as a hard error.
>> > Again, agreed. As a matter of fact, I'm pretty sure we do that already, I'm
>> > pretty sure Benjamin tightened abi_check in the light of that problem we
>> > had in 2005.
>> 
>> I doubt that, otherwise the additions to versions already released
>> should have been flagged as such on Solaris, but abi_check suggests they
>> are benign.
>
> If you mean
> TLS:8:_ZSt11__once_call@@GLIBCXX_3.4.11                                                                                                            
> TLS:8:_ZSt15__once_callable@@GLIBCXX_3.4.11                                                                                                        
> then those symbols were really added in 3.4.11, but I haven't added them
> (intentionally) to the baseline symbols, since then anybody configuring
> without working TLS would get hard make check failures.

Those were among them, but I can't currently check the full list since a
build is just running.  I have a similar issue on Solaris 8 and 9,
already mentioned in my (tentative) patch submission:

	http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01163.html

Depending on the toolchain used (Sun as which doesn't support TLS, or
GNU as which does), you get either emutls or native TLS related symbol.
Omitting either from the baselines is certainly an option, as would be
having separate baselines, though certainly ugly.

Could you please also have a look at the questions raised in the patch
submission?  

I think we should avoid adding to GLIBCXX_3.4.5, 3.4.11, and 3.4.15 on
Solaris, avoiding the old mistake on the Linux side, even if that means
having a separate (or preprocessed) gnu.ver for that purpose.

Thanks.
	Rainer
Rainer Orth Jan. 27, 2012, 5:45 p.m. UTC | #17
Jakub Jelinek <jakub@redhat.com> writes:

>> I doubt that, otherwise the additions to versions already released
>> should have been flagged as such on Solaris, but abi_check suggests they
>> are benign.
>
> If you mean
> TLS:8:_ZSt11__once_call@@GLIBCXX_3.4.11                                                                                                            
> TLS:8:_ZSt15__once_callable@@GLIBCXX_3.4.11                                                                                                        
> then those symbols were really added in 3.4.11, but I haven't added them
> (intentionally) to the baseline symbols, since then anybody configuring
> without working TLS would get hard make check failures.

Yep, those to are the only ones, everything else is in
GLIBCXX_3.4.1[67], CXXABI_1.3.6, or CXXABI_TM_1.

	Rainer
Jakub Jelinek Jan. 27, 2012, 5:50 p.m. UTC | #18
On Mon, Jan 23, 2012 at 07:31:55PM +0100, Rainer Orth wrote:
> * There's quite a number of additions to 3.4.11:

Probably Solaris didn't have _GLIBCXX_HAS_GTHREADS support
before and now does?
config/abi/pre/*.ver isn't currently conditionalized in any way,
so I don't see an easy way to move these to GLIBCXX_3.4.17 just
for Solaris and not for others.

> +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
> 
> 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.

libstdc++ with and without TLS support are simply not ABI compatible.

	Jakub
Rainer Orth Jan. 27, 2012, 6:09 p.m. UTC | #19
Jakub Jelinek <jakub@redhat.com> writes:

> On Mon, Jan 23, 2012 at 07:31:55PM +0100, Rainer Orth wrote:
>> * There's quite a number of additions to 3.4.11:
>
> Probably Solaris didn't have _GLIBCXX_HAS_GTHREADS support
> before and now does?

Right, it didn't on Solaris 8 and 9 in 4.6, but does now.  It seems the
test has changed, but I didn't yet investigate in detail.

> config/abi/pre/*.ver isn't currently conditionalized in any way,
> so I don't see an easy way to move these to GLIBCXX_3.4.17 just
> for Solaris and not for others.

It could be done along the same line as

#ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT

is used.  gnu.ver is already preprocessed for Solaris, so one could add
to that.  Ugly but certainly better than breaking versioning.  OTOH,
that would mean that the symbols are in 3.4.11 in a Solaris 10+-built
libstdc++, but in 3.4.17 on a Solaris 8-built one...

>> 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.
>
> libstdc++ with and without TLS support are simply not ABI compatible.

Obviously.  Given that the only Solaris configurations lacking native
TLS support are old Solaris 8 and 9 toolchains with Sun as, one could
omit the TLS related in those baselines, just as you did for Linux.
Adding a second set of baselines (and the infrastructure to deal with
them) is probably not worth the effort.

	Rainer
Rainer Orth Jan. 30, 2012, 4:55 p.m. UTC | #20
Jonathan Wakely <jwakely.gcc@gmail.com> writes:

> The change is probably pr 50196
>
> (Sent offlist because the android gmail app refuses to send plain text
> mails)

Right.  I think about disabling _GLIBCXX_HAS_GTHREADS on Solaris 8 and 9
per default, with the option of enabling it knowing that it breaks
symbol versioning.

	Rainer
Rainer Orth Jan. 30, 2012, 5:11 p.m. UTC | #21
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> Paolo Carlini <paolo.carlini@oracle.com> writes:
>
>>>>> +FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
>>>>> +FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
>>>> I don't think this is a new issue, I see it in 4.6 branch and even in 4.5
>>>> branch. At some point we had a problem which Jakub patched (thus the *XX
>>>> variants), the actual story is longish but is not new, I'm not sure you are
>>>> interested in thegory details.
>>> Perhaps you have a pointer?
>> I can search, but really the issue is very, very old and we already
>> released *many* GCCs "affected".
>
> For the case at hand, I doubt that: those are additions between the gcc
> 4.6.0 and 4.7.0 Solaris baselines.  They have not been present in
> Solaris libstdc++.so on 4.6.

I've actually done a reghunt, which revealed that those symbols (in
src/c++98/locale-inst.o, src/c++98/wlocale-inst.o) were introduced by
this patch:

2011-07-18  Martin Jambor  <mjambor@suse.cz>

        * ipa-prop.h: Include alloc-pool.h, all sorts of updates to general
        comments.
        (ipcp_values_pool): Declare.
        (ipcp_sources_pool): Likewise.

I.e. there are *no* libstdc++ or C++ changes involved at all.  IMO this
is a bug, plain and simple.

	Rainer
Paolo Carlini Jan. 30, 2012, 5:58 p.m. UTC | #22
On 01/30/2012 06:11 PM, Rainer Orth wrote:
> I.e. there are *no* libstdc++ or C++ changes involved at all. IMO this 
> is a bug, plain and simple.
Just to avoid all the pointless discussions we had last time: *on 
Solaris*. Because if you look at gnu.ver it's obvious that those symbols 
*on Linux* were normally exported in 3.4.5. Nothing new.

Paolo.
Rainer Orth Jan. 30, 2012, 6:06 p.m. UTC | #23
Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 01/30/2012 06:11 PM, Rainer Orth wrote:
>> I.e. there are *no* libstdc++ or C++ changes involved at all. IMO this is
>> a bug, plain and simple.
> Just to avoid all the pointless discussions we had last time: *on
> Solaris*. Because if you look at gnu.ver it's obvious that those symbols
> *on Linux* were normally exported in 3.4.5. Nothing new.

A non-C++ change suddenly causing new C++ functions to be emitted that
are not present without that change would be a bug on Linux, too!

	Rainer
Paolo Carlini Jan. 30, 2012, 6:14 p.m. UTC | #24
On 01/30/2012 07:06 PM, Rainer Orth wrote:
> A non-C++ change suddenly causing new C++ functions to be emitted that
> are not present without that change would be a bug on Linux, too!
I should have been more clear: it's *not* a versioning bug on Linux. 
Maybe what is happening on Solaris is that those functions were inlined, 
thus not exported, and now aren't anymore. This kind of unpredictability 
in the inlining choices would not be a compiler bug, or at least not an 
easy one...

Not sure why abi_check didn't complain before on Solaris, because the 
linker script etc, are meant to export those operators @3.4.5 (and also 
@3.4 because of an old mistake). This is what happens on Linux since the 
very old 3.4.5 times.

Paolo.
Rainer Orth Jan. 30, 2012, 6:25 p.m. UTC | #25
Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 01/30/2012 07:06 PM, Rainer Orth wrote:
>> A non-C++ change suddenly causing new C++ functions to be emitted that
>> are not present without that change would be a bug on Linux, too!
> I should have been more clear: it's *not* a versioning bug on Linux. Maybe

I never claimed that.

> what is happening on Solaris is that those functions were inlined, thus not
> exported, and now aren't anymore. This kind of unpredictability in the
> inlining choices would not be a compiler bug, or at least not an easy
> one...

Whatever, if that were the case, this *must be avoided*.  You couldn't
remove an exported interface because the compiler suddently decided to
inline it, otherwise the whole versioning business became just a joke.

> Not sure why abi_check didn't complain before on Solaris, because the
> linker script etc, are meant to export those operators @3.4.5 (and also
> @3.4 because of an old mistake). This is what happens on Linux since the
> very old 3.4.5 times.

That's due to the way gld linker scripts work: every entry there just
works like sort of a wildcard: if the symbol is present in the input
objects, it is bound to the respective symbol, if it's missing, this is
silently ignored.  I observe the introduction of those two symbols with
both Sun and GNU ld.  IMO, this behavior of gld is fundamentally
incompatible with stable versions.  Sun ld is different: if a symbol is
listed in a version, but missing from the input objects, it errors out.

As I stated before, abi_check should just flag all additions to released
versions as bugs.  That would require us to update all the baselines
immediately before releases, though, which unfortunately hasn't been
done consistently in the past.

	Rainer
Paolo Carlini Jan. 30, 2012, 6:35 p.m. UTC | #26
On 01/30/2012 07:25 PM, Rainer Orth wrote:
> That's due to the way gld linker scripts work: every entry there just 
> works like sort of a wildcard: if the symbol is present in the input 
> objects, it is bound to the respective symbol, if it's missing, this 
> is silently ignored.
I know that.

I'm trying to understand why on Solaris you didn't see abi_check errors, 
because for sure on Linux those operators are in the baselines and 
normally exported, isn't just about the linker script. I repeat one last 
time: on Linux we started exporting the symbols @3.4.5, and for real, 
isn't just that the linker script mentioned the symbols. Then, we (or 
Jakub) updated the Linux baselines many times, and the baselines always 
included those symbols. There is nothing special going on on Linux. How 
you can profitably use this information to understand what't going on on 
Solaris, I don't know exactly.

Paolo.
Rainer Orth Jan. 30, 2012, 6:45 p.m. UTC | #27
Paolo Carlini <paolo.carlini@oracle.com> writes:

> I'm trying to understand why on Solaris you didn't see abi_check errors,
> because for sure on Linux those operators are in the baselines and normally
> exported, isn't just about the linker script. I repeat one last time: on
> Linux we started exporting the symbols @3.4.5, and for real, isn't just
> that the linker script mentioned the symbols. Then, we (or Jakub) updated
> the Linux baselines many times, and the baselines always included those
> symbols. There is nothing special going on on Linux. How you can profitably
> use this information to understand what't going on on Solaris, I don't know
> exactly.

The first gcc release with symbol versioning support was 4.6, and those
symbols are *not* in the 4.6 baselines, consistent across both sparc and
x86.  They only started to appear recently due to the code generation
change I've identified.  I've no idea why this happened, though.

There seem two ways forward:

* Understand why they appear now, caused by Martin's change, and didn't
  before.  Perhaps there's a way to make them `go away'...

* Accomodate them in gnu.ver by exporting them @3.4.17 *for Solaris
  only*.  I can certainly do that, but would rather understand first
  what caused their appearance in the first place to avoid them to
  appear and disappear willy-nilly.

	Rainer
diff mbox

Patch

# HG changeset patch
# Parent 53c90daf1e80eb6971f0484f0235796379cf85da
Update Solaris baselines for GCC 4.7

diff --git a/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt
--- a/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt
@@ -38,6 +38,10 @@  FUNC:_ZN11__gnu_debug19_Safe_sequence_ba
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
 FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
 FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
 FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
@@ -720,6 +724,7 @@  FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
 FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.16
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
@@ -801,6 +806,7 @@  FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7rep
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
@@ -949,6 +955,7 @@  FUNC:_ZNSolsEs@@GLIBCXX_3.4
 FUNC:_ZNSolsEt@@GLIBCXX_3.4
 FUNC:_ZNSolsEx@@GLIBCXX_3.4
 FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEmm@@GLIBCXX_3.4.16
 FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
@@ -1030,6 +1037,7 @@  FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
 FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
 FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
 FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
@@ -1560,6 +1568,8 @@  FUNC:_ZNSt15__exception_ptreqERKNS_13exc
 FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
@@ -1599,6 +1609,8 @@  FUNC:_ZNSt15basic_streambufIcSt11char_tr
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
@@ -1643,6 +1655,7 @@  FUNC:_ZNSt15basic_stringbufIcSt11char_tr
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1660,6 +1673,7 @@  FUNC:_ZNSt15basic_stringbufIwSt11char_tr
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1847,6 +1861,8 @@  FUNC:_ZNSt19basic_ostringstreamIwSt11cha
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
 FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
@@ -1920,6 +1936,7 @@  FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
 FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
 FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPim@@GLIBCXX_3.4
@@ -2392,14 +2409,17 @@  FUNC:_Znwm@@GLIBCXX_3.4
 FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
 FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
 FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_allocate_exception@@CXXABI_1.3
 FUNC:__cxa_bad_cast@@CXXABI_1.3
 FUNC:__cxa_bad_typeid@@CXXABI_1.3
 FUNC:__cxa_begin_catch@@CXXABI_1.3
 FUNC:__cxa_call_unexpected@@CXXABI_1.3
 FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
 FUNC:__cxa_demangle@@CXXABI_1.3
 FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_free_exception@@CXXABI_1.3
 FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
 FUNC:__cxa_get_globals@@CXXABI_1.3
@@ -2410,6 +2430,7 @@  FUNC:__cxa_guard_release@@CXXABI_1.3
 FUNC:__cxa_pure_virtual@@CXXABI_1.3
 FUNC:__cxa_rethrow@@CXXABI_1.3
 FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
 FUNC:__cxa_vec_cctor@@CXXABI_1.3
 FUNC:__cxa_vec_cleanup@@CXXABI_1.3
 FUNC:__cxa_vec_ctor@@CXXABI_1.3
@@ -2431,6 +2452,8 @@  OBJECT:0:CXXABI_1.3.2
 OBJECT:0:CXXABI_1.3.3
 OBJECT:0:CXXABI_1.3.4
 OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_TM_1
 OBJECT:0:GLIBCXX_3.4
 OBJECT:0:GLIBCXX_3.4.1
 OBJECT:0:GLIBCXX_3.4.10
@@ -2439,6 +2462,8 @@  OBJECT:0:GLIBCXX_3.4.12
 OBJECT:0:GLIBCXX_3.4.13
 OBJECT:0:GLIBCXX_3.4.14
 OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
 OBJECT:0:GLIBCXX_3.4.2
 OBJECT:0:GLIBCXX_3.4.3
 OBJECT:0:GLIBCXX_3.4.4
@@ -2448,7 +2473,6 @@  OBJECT:0:GLIBCXX_3.4.7
 OBJECT:0:GLIBCXX_3.4.8
 OBJECT:0:GLIBCXX_3.4.9
 OBJECT:0:_DYNAMIC
-OBJECT:0:_GLOBAL_OFFSET_TABLE_
 OBJECT:0:_PROCEDURE_LINKAGE_TABLE_
 OBJECT:0:_edata
 OBJECT:0:_end
@@ -2772,6 +2796,32 @@  OBJECT:1:_ZNSt14numeric_limitsImE8is_exa
 OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsInE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_signedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_signedE@@GLIBCXX_3.4.17
 OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
@@ -3301,6 +3351,26 @@  OBJECT:4:_ZNSt14numeric_limitsImE14min_e
 OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsInE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE8digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE8digits10E@@GLIBCXX_3.4.17
 OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsIsE12max_digits10E@@GLIBCXX_3.4.14
diff --git a/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt
--- a/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt
@@ -38,6 +38,10 @@  FUNC:_ZN11__gnu_debug19_Safe_sequence_ba
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
 FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
 FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
 FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
@@ -720,6 +724,7 @@  FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
 FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.16
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
@@ -801,6 +806,7 @@  FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7rep
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
@@ -949,6 +955,7 @@  FUNC:_ZNSolsEs@@GLIBCXX_3.4
 FUNC:_ZNSolsEt@@GLIBCXX_3.4
 FUNC:_ZNSolsEx@@GLIBCXX_3.4
 FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEjj@@GLIBCXX_3.4.16
 FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
@@ -1030,6 +1037,7 @@  FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
 FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
 FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
 FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
@@ -1560,6 +1568,8 @@  FUNC:_ZNSt15__exception_ptreqERKNS_13exc
 FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
@@ -1599,6 +1609,8 @@  FUNC:_ZNSt15basic_streambufIcSt11char_tr
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
@@ -1643,6 +1655,7 @@  FUNC:_ZNSt15basic_stringbufIcSt11char_tr
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1660,6 +1673,7 @@  FUNC:_ZNSt15basic_stringbufIwSt11char_tr
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEl@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEl@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1847,6 +1861,8 @@  FUNC:_ZNSt19basic_ostringstreamIwSt11cha
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
 FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
@@ -1920,6 +1936,7 @@  FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
 FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
 FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPij@@GLIBCXX_3.4
@@ -2392,14 +2409,17 @@  FUNC:_Znwj@@GLIBCXX_3.4
 FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
 FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
 FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_allocate_exception@@CXXABI_1.3
 FUNC:__cxa_bad_cast@@CXXABI_1.3
 FUNC:__cxa_bad_typeid@@CXXABI_1.3
 FUNC:__cxa_begin_catch@@CXXABI_1.3
 FUNC:__cxa_call_unexpected@@CXXABI_1.3
 FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
 FUNC:__cxa_demangle@@CXXABI_1.3
 FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_free_exception@@CXXABI_1.3
 FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
 FUNC:__cxa_get_globals@@CXXABI_1.3
@@ -2410,6 +2430,7 @@  FUNC:__cxa_guard_release@@CXXABI_1.3
 FUNC:__cxa_pure_virtual@@CXXABI_1.3
 FUNC:__cxa_rethrow@@CXXABI_1.3
 FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
 FUNC:__cxa_vec_cctor@@CXXABI_1.3
 FUNC:__cxa_vec_cleanup@@CXXABI_1.3
 FUNC:__cxa_vec_ctor@@CXXABI_1.3
@@ -2431,6 +2452,8 @@  OBJECT:0:CXXABI_1.3.2
 OBJECT:0:CXXABI_1.3.3
 OBJECT:0:CXXABI_1.3.4
 OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_TM_1
 OBJECT:0:GLIBCXX_3.4
 OBJECT:0:GLIBCXX_3.4.1
 OBJECT:0:GLIBCXX_3.4.10
@@ -2439,6 +2462,8 @@  OBJECT:0:GLIBCXX_3.4.12
 OBJECT:0:GLIBCXX_3.4.13
 OBJECT:0:GLIBCXX_3.4.14
 OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
 OBJECT:0:GLIBCXX_3.4.2
 OBJECT:0:GLIBCXX_3.4.3
 OBJECT:0:GLIBCXX_3.4.4
diff --git a/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt
--- a/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt
@@ -38,6 +38,10 @@  FUNC:_ZN11__gnu_debug19_Safe_sequence_ba
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
 FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
 FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
 FUNC:_ZN9__gnu_cxx12__atomic_addEPVli@@GLIBCXX_3.4
@@ -720,6 +724,7 @@  FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
 FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.16
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
@@ -801,6 +806,7 @@  FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7rep
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
@@ -949,6 +955,7 @@  FUNC:_ZNSolsEs@@GLIBCXX_3.4
 FUNC:_ZNSolsEt@@GLIBCXX_3.4
 FUNC:_ZNSolsEx@@GLIBCXX_3.4
 FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEmm@@GLIBCXX_3.4.16
 FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
@@ -1030,6 +1037,7 @@  FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
 FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
 FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
 FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
@@ -1560,6 +1568,8 @@  FUNC:_ZNSt15__exception_ptreqERKNS_13exc
 FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
@@ -1599,6 +1609,8 @@  FUNC:_ZNSt15basic_streambufIcSt11char_tr
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
@@ -1643,6 +1655,7 @@  FUNC:_ZNSt15basic_stringbufIcSt11char_tr
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1660,6 +1673,7 @@  FUNC:_ZNSt15basic_stringbufIwSt11char_tr
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1847,6 +1861,8 @@  FUNC:_ZNSt19basic_ostringstreamIwSt11cha
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
 FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
@@ -1920,6 +1936,7 @@  FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
 FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
 FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPim@@GLIBCXX_3.4
@@ -2392,14 +2409,17 @@  FUNC:_Znwm@@GLIBCXX_3.4
 FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
 FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
 FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_allocate_exception@@CXXABI_1.3
 FUNC:__cxa_bad_cast@@CXXABI_1.3
 FUNC:__cxa_bad_typeid@@CXXABI_1.3
 FUNC:__cxa_begin_catch@@CXXABI_1.3
 FUNC:__cxa_call_unexpected@@CXXABI_1.3
 FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
 FUNC:__cxa_demangle@@CXXABI_1.3
 FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_free_exception@@CXXABI_1.3
 FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
 FUNC:__cxa_get_globals@@CXXABI_1.3
@@ -2410,6 +2430,7 @@  FUNC:__cxa_guard_release@@CXXABI_1.3
 FUNC:__cxa_pure_virtual@@CXXABI_1.3
 FUNC:__cxa_rethrow@@CXXABI_1.3
 FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
 FUNC:__cxa_vec_cctor@@CXXABI_1.3
 FUNC:__cxa_vec_cleanup@@CXXABI_1.3
 FUNC:__cxa_vec_ctor@@CXXABI_1.3
@@ -2431,6 +2452,8 @@  OBJECT:0:CXXABI_1.3.2
 OBJECT:0:CXXABI_1.3.3
 OBJECT:0:CXXABI_1.3.4
 OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_TM_1
 OBJECT:0:GLIBCXX_3.4
 OBJECT:0:GLIBCXX_3.4.1
 OBJECT:0:GLIBCXX_3.4.10
@@ -2439,6 +2462,8 @@  OBJECT:0:GLIBCXX_3.4.12
 OBJECT:0:GLIBCXX_3.4.13
 OBJECT:0:GLIBCXX_3.4.14
 OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
 OBJECT:0:GLIBCXX_3.4.2
 OBJECT:0:GLIBCXX_3.4.3
 OBJECT:0:GLIBCXX_3.4.4
@@ -2772,6 +2797,32 @@  OBJECT:1:_ZNSt14numeric_limitsImE8is_exa
 OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsInE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_signedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_signedE@@GLIBCXX_3.4.17
 OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
@@ -3301,6 +3352,26 @@  OBJECT:4:_ZNSt14numeric_limitsImE14min_e
 OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsInE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE8digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE8digits10E@@GLIBCXX_3.4.17
 OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsIsE12max_digits10E@@GLIBCXX_3.4.14
diff --git a/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt
--- a/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt
@@ -38,6 +38,10 @@  FUNC:_ZN11__gnu_debug19_Safe_sequence_ba
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
 FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
 FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
 FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
@@ -243,6 +247,7 @@  FUNC:_ZNKSsixEj@@GLIBCXX_3.4
 FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
 FUNC:_ZNKSt10error_code23default_error_conditionEv@@GLIBCXX_3.4.11
 FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10lock_error4whatEv@@GLIBCXX_3.4.11
 FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
 FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
 FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
@@ -719,6 +724,7 @@  FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
 FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.16
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
@@ -800,6 +806,7 @@  FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7rep
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
@@ -948,6 +955,7 @@  FUNC:_ZNSolsEs@@GLIBCXX_3.4
 FUNC:_ZNSolsEt@@GLIBCXX_3.4
 FUNC:_ZNSolsEx@@GLIBCXX_3.4
 FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEjj@@GLIBCXX_3.4.16
 FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
@@ -1029,6 +1037,7 @@  FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
 FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
 FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
 FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
@@ -1249,6 +1258,14 @@  FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.
 FUNC:_ZNSt12system_errorD0Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt12system_errorD2Ev@@GLIBCXX_3.4.11
+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
 FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
@@ -1551,6 +1568,8 @@  FUNC:_ZNSt15__exception_ptreqERKNS_13exc
 FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
@@ -1590,6 +1609,8 @@  FUNC:_ZNSt15basic_streambufIcSt11char_tr
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
@@ -1634,6 +1655,7 @@  FUNC:_ZNSt15basic_stringbufIcSt11char_tr
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1651,6 +1673,7 @@  FUNC:_ZNSt15basic_stringbufIwSt11char_tr
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEl@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEl@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1799,6 +1822,13 @@  FUNC:_ZNSt18basic_stringstreamIwSt11char
 FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+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:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
@@ -1831,6 +1861,12 @@  FUNC:_ZNSt19basic_ostringstreamIwSt11cha
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
+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:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
 FUNC:_ZNSt5ctypeIcEC1EPKjbj@@GLIBCXX_3.4
 FUNC:_ZNSt5ctypeIcEC1EPiPKjbj@@GLIBCXX_3.4
@@ -1899,6 +1935,10 @@  FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
+FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPij@@GLIBCXX_3.4
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EPij@@GLIBCXX_3.4
@@ -2369,14 +2409,17 @@  FUNC:_Znwj@@GLIBCXX_3.4
 FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
 FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
 FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_allocate_exception@@CXXABI_1.3
 FUNC:__cxa_bad_cast@@CXXABI_1.3
 FUNC:__cxa_bad_typeid@@CXXABI_1.3
 FUNC:__cxa_begin_catch@@CXXABI_1.3
 FUNC:__cxa_call_unexpected@@CXXABI_1.3
 FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
 FUNC:__cxa_demangle@@CXXABI_1.3
 FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_free_exception@@CXXABI_1.3
 FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
 FUNC:__cxa_get_globals@@CXXABI_1.3
@@ -2387,6 +2430,7 @@  FUNC:__cxa_guard_release@@CXXABI_1.3
 FUNC:__cxa_pure_virtual@@CXXABI_1.3
 FUNC:__cxa_rethrow@@CXXABI_1.3
 FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
 FUNC:__cxa_vec_cctor@@CXXABI_1.3
 FUNC:__cxa_vec_cleanup@@CXXABI_1.3
 FUNC:__cxa_vec_ctor@@CXXABI_1.3
@@ -2399,6 +2443,7 @@  FUNC:__cxa_vec_new3@@CXXABI_1.3
 FUNC:__cxa_vec_new@@CXXABI_1.3
 FUNC:__dynamic_cast@@CXXABI_1.3
 FUNC:__gxx_personality_v0@@CXXABI_1.3
+FUNC:__once_proxy@@GLIBCXX_3.4.11
 FUNC:acosf@@GLIBCXX_3.4.3
 FUNC:acosl@@GLIBCXX_3.4.3
 FUNC:asinf@@GLIBCXX_3.4.3
@@ -2450,6 +2495,8 @@  OBJECT:0:CXXABI_1.3.2
 OBJECT:0:CXXABI_1.3.3
 OBJECT:0:CXXABI_1.3.4
 OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_TM_1
 OBJECT:0:GLIBCXX_3.4
 OBJECT:0:GLIBCXX_3.4.1
 OBJECT:0:GLIBCXX_3.4.10
@@ -2458,6 +2505,8 @@  OBJECT:0:GLIBCXX_3.4.12
 OBJECT:0:GLIBCXX_3.4.13
 OBJECT:0:GLIBCXX_3.4.14
 OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
 OBJECT:0:GLIBCXX_3.4.2
 OBJECT:0:GLIBCXX_3.4.3
 OBJECT:0:GLIBCXX_3.4.4
@@ -2491,6 +2540,7 @@  OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_fi
 OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
 OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
+OBJECT:12:_ZTISt10lock_error@@GLIBCXX_3.4.11
 OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
 OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
 OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
@@ -2588,6 +2638,7 @@  OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10lock_error@@GLIBCXX_3.4.11
 OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
@@ -2661,6 +2712,8 @@  OBJECT:16:_ZTVSt16nested_exception@@CXXA
 OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
 OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
 OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:16:__emutls_v._ZSt11__once_call@@GLIBCXX_3.4.15
+OBJECT:16:__emutls_v._ZSt15__once_callable@@GLIBCXX_3.4.15
 OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
 OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
 OBJECT:17:_ZTSSt12future_error@@GLIBCXX_3.4.14
@@ -2966,8 +3019,11 @@  OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
 OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
 OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
 OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
 OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt10lock_error@@GLIBCXX_3.4.11
 OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
 OBJECT:20:_ZTVSt11regex_error@@GLIBCXX_3.4.15
@@ -3545,6 +3601,8 @@  OBJECT:8:_ZTIDn@@CXXABI_1.3.5
 OBJECT:8:_ZTIDs@@CXXABI_1.3.3
 OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
 OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+OBJECT:8:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:8:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
 OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
 OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
 OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
diff --git a/libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt
--- a/libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt
@@ -38,6 +38,10 @@  FUNC:_ZN11__gnu_debug19_Safe_sequence_ba
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
 FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
 FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
 FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
 FUNC:_ZN9__gnu_cxx12__atomic_addEPVli@@GLIBCXX_3.4
@@ -243,6 +247,7 @@  FUNC:_ZNKSsixEm@@GLIBCXX_3.4
 FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
 FUNC:_ZNKSt10error_code23default_error_conditionEv@@GLIBCXX_3.4.11
 FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10lock_error4whatEv@@GLIBCXX_3.4.11
 FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
 FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
 FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
@@ -719,6 +724,7 @@  FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
 FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.16
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
@@ -800,6 +806,7 @@  FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7rep
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
 FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
@@ -948,6 +955,7 @@  FUNC:_ZNSolsEs@@GLIBCXX_3.4
 FUNC:_ZNSolsEt@@GLIBCXX_3.4
 FUNC:_ZNSolsEx@@GLIBCXX_3.4
 FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEmm@@GLIBCXX_3.4.16
 FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
 FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
@@ -1029,6 +1037,7 @@  FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
 FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
 FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
 FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
 FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
 FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
@@ -1249,6 +1258,14 @@  FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.
 FUNC:_ZNSt12system_errorD0Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11
 FUNC:_ZNSt12system_errorD2Ev@@GLIBCXX_3.4.11
+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
 FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
@@ -1551,6 +1568,8 @@  FUNC:_ZNSt15__exception_ptreqERKNS_13exc
 FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
@@ -1590,6 +1609,8 @@  FUNC:_ZNSt15basic_streambufIcSt11char_tr
 FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
@@ -1634,6 +1655,7 @@  FUNC:_ZNSt15basic_stringbufIcSt11char_tr
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1651,6 +1673,7 @@  FUNC:_ZNSt15basic_stringbufIwSt11char_tr
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l@@GLIBCXX_3.4.16
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCXX_3.4
 FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
@@ -1799,6 +1822,13 @@  FUNC:_ZNSt18basic_stringstreamIwSt11char
 FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+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:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
@@ -1831,6 +1861,12 @@  FUNC:_ZNSt19basic_ostringstreamIwSt11cha
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
+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:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
 FUNC:_ZNSt5ctypeIcEC1EPKjbm@@GLIBCXX_3.4
 FUNC:_ZNSt5ctypeIcEC1EPiPKjbm@@GLIBCXX_3.4
@@ -1899,6 +1935,10 @@  FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
 FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
+FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPim@@GLIBCXX_3.4
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
 FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EPim@@GLIBCXX_3.4
@@ -2369,14 +2409,17 @@  FUNC:_Znwm@@GLIBCXX_3.4
 FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
 FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
 FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_allocate_exception@@CXXABI_1.3
 FUNC:__cxa_bad_cast@@CXXABI_1.3
 FUNC:__cxa_bad_typeid@@CXXABI_1.3
 FUNC:__cxa_begin_catch@@CXXABI_1.3
 FUNC:__cxa_call_unexpected@@CXXABI_1.3
 FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
 FUNC:__cxa_demangle@@CXXABI_1.3
 FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
 FUNC:__cxa_free_exception@@CXXABI_1.3
 FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
 FUNC:__cxa_get_globals@@CXXABI_1.3
@@ -2387,6 +2430,7 @@  FUNC:__cxa_guard_release@@CXXABI_1.3
 FUNC:__cxa_pure_virtual@@CXXABI_1.3
 FUNC:__cxa_rethrow@@CXXABI_1.3
 FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
 FUNC:__cxa_vec_cctor@@CXXABI_1.3
 FUNC:__cxa_vec_cleanup@@CXXABI_1.3
 FUNC:__cxa_vec_ctor@@CXXABI_1.3
@@ -2399,6 +2443,7 @@  FUNC:__cxa_vec_new3@@CXXABI_1.3
 FUNC:__cxa_vec_new@@CXXABI_1.3
 FUNC:__dynamic_cast@@CXXABI_1.3
 FUNC:__gxx_personality_v0@@CXXABI_1.3
+FUNC:__once_proxy@@GLIBCXX_3.4.11
 FUNC:acosf@@GLIBCXX_3.4.3
 FUNC:acosl@@GLIBCXX_3.4.3
 FUNC:asinf@@GLIBCXX_3.4.3
@@ -2450,6 +2495,8 @@  OBJECT:0:CXXABI_1.3.2
 OBJECT:0:CXXABI_1.3.3
 OBJECT:0:CXXABI_1.3.4
 OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_TM_1
 OBJECT:0:GLIBCXX_3.4
 OBJECT:0:GLIBCXX_3.4.1
 OBJECT:0:GLIBCXX_3.4.10
@@ -2458,6 +2505,8 @@  OBJECT:0:GLIBCXX_3.4.12
 OBJECT:0:GLIBCXX_3.4.13
 OBJECT:0:GLIBCXX_3.4.14
 OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
 OBJECT:0:GLIBCXX_3.4.2
 OBJECT:0:GLIBCXX_3.4.3
 OBJECT:0:GLIBCXX_3.4.4
@@ -2518,6 +2567,7 @@  OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10lock_error@@GLIBCXX_3.4.11
 OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
 OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
@@ -2532,6 +2582,8 @@  OBJECT:16:_ZTIDn@@CXXABI_1.3.5
 OBJECT:16:_ZTIDs@@CXXABI_1.3.3
 OBJECT:16:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
 OBJECT:16:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+OBJECT:16:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:16:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
 OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
 OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
 OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
@@ -2788,6 +2840,32 @@  OBJECT:1:_ZNSt14numeric_limitsImE8is_exa
 OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsInE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_signedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_signedE@@GLIBCXX_3.4.17
 OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
 OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
@@ -2906,6 +2984,7 @@  OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_fi
 OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
 OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
 OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
+OBJECT:24:_ZTISt10lock_error@@GLIBCXX_3.4.11
 OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
 OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
 OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
@@ -3083,6 +3162,8 @@  OBJECT:32:_ZTVSt16nested_exception@@CXXA
 OBJECT:32:_ZTVSt8ios_base@@GLIBCXX_3.4
 OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
 OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:32:__emutls_v._ZSt11__once_call@@GLIBCXX_3.4.15
+OBJECT:32:__emutls_v._ZSt15__once_callable@@GLIBCXX_3.4.15
 OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
 OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
 OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
@@ -3131,8 +3212,11 @@  OBJECT:40:_ZTSSt14basic_ifstreamIwSt11ch
 OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
 OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
 OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
 OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
 OBJECT:40:_ZTVSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt10lock_error@@GLIBCXX_3.4.11
 OBJECT:40:_ZTVSt11logic_error@@GLIBCXX_3.4
 OBJECT:40:_ZTVSt11range_error@@GLIBCXX_3.4
 OBJECT:40:_ZTVSt11regex_error@@GLIBCXX_3.4.15
@@ -3313,6 +3397,26 @@  OBJECT:4:_ZNSt14numeric_limitsImE14min_e
 OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsInE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE8digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE8digits10E@@GLIBCXX_3.4.17
 OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
 OBJECT:4:_ZNSt14numeric_limitsIsE12max_digits10E@@GLIBCXX_3.4.14