aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc-4.9/libgcc/emutls.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc-4.9/libgcc/emutls.c b/gcc-4.9/libgcc/emutls.c
index 525db2839..93c3c0788 100644
--- a/gcc-4.9/libgcc/emutls.c
+++ b/gcc-4.9/libgcc/emutls.c
@@ -121,12 +121,15 @@ emutls_init (void)
emutls_key_created = 1;
}
-__attribute__((destructor))
-static void
-unregister_emutls_key (void)
+__attribute__((visibility("hidden")))
+void
+__emutls_unregister_key (void)
{
if (emutls_key_created)
- __gthread_key_delete (emutls_key);
+ {
+ emutls_key_created = 0;
+ __gthread_key_delete (emutls_key);
+ }
}
#endif