commit
610c5a8524c3d6cd3ac5a5f1231422e7648a3791 changed the thread
pointer setup so tp points at the end of the pthread struct on arm,
but failed to update __aeabi_read_tp so it was off by 8.
this broke tls access in code that is compiled with -mtp=soft, which
is the default when target arch is pre armv6k or thumb1.
maintainer's note: no release versions are affected.
__attribute__((__visibility__("hidden")))
void *__aeabi_read_tp_c(void)
{
- return (void *)((uintptr_t)__pthread_self()-8+sizeof(struct pthread));
+ return TP_ADJ(__pthread_self());
}