diff options
Diffstat (limited to 'gcc-4.9')
-rw-r--r-- | gcc-4.9/libgcc/emutls.c | 11 |
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 |