This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/52189] [4.7 regression] Relaxed gthreads check breaks Solaris 8/9 symbol versioning
- From: "ro at CeBiTec dot Uni-Bielefeld.DE" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 16 Feb 2012 20:04:42 +0000
- Subject: [Bug libstdc++/52189] [4.7 regression] Relaxed gthreads check breaks Solaris 8/9 symbol versioning
- Auto-submitted: auto-generated
- References: <bug-52189-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52189
--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2012-02-16 20:04:42 UTC ---
> --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-02-10 11:25:35 UTC ---
> This change:
>
> --- 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
>
> indicates that it was previously using TLS and now isn't (as discussed in PR
> 52104) so that's what should be fixed to bring the __once_call* symbols back
It's rather the other way round: baseline_symbols.txt (i.e. native tools
where as lacks TLS support) is with emutls, while
baseline_symbols.txt.s8g uses gas/ld (or gas/gld) with native TLS. What
put me off at first was that both symbols were removed and added, but
Jakub already provided the solution: omit the emutls symbols in the
installed baseline.txt, so both emutls and native TLS only adds to the
baseline.
Rainer