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

Reply via email to