versions of clang all the way back to 3.1 lack the bug this was purportedly working around.
@@ -1,12 +1,7 @@
static inline struct pthread *__pthread_self()
{
-#ifdef __clang__
- char *tp;
- __asm__ __volatile__ ("mr %0, 2" : "=r"(tp) : : );
-#else
register char *tp __asm__("r2");
__asm__ __volatile__ ("" : "=r" (tp) );
-#endif
return (pthread_t)(tp - 0x7000 - sizeof(struct pthread));
}