}
void *
-mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key)
+mono_mach_get_tls_address_from_thread (pthread_t thread, pthread_key_t key)
{
/* OSX stores TLS values in a hidden array inside the pthread_t structure
* They are keyed off a giant array offset 0x60 into the pointer. This value
intptr_t *p = (intptr_t *)thread;
intptr_t **tsd = (intptr_t **) ((char*)p + 0x60);
- return (void *) tsd [key];
+ return (void *) &tsd [key];
}
+
+void *
+mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key)
+{
+ return *(void**)mono_mach_get_tls_address_from_thread (thread, key);
+}
+
#endif