Quellcode durchsuchen

workaround clang deficiency affecting thread pointer access on powerpc

based on patch by Richard Pennington, who initially reported the
issue.
Rich Felker vor 11 Jahren
Ursprung
Commit
a4b51633cf
1 geänderte Dateien mit 6 neuen und 1 gelöschten Zeilen
  1. 6 1
      arch/powerpc/pthread_arch.h

+ 6 - 1
arch/powerpc/pthread_arch.h

@@ -1,6 +1,11 @@
 static inline struct pthread *__pthread_self()
 {
-	register char* tp __asm__("r2");
+#ifdef __clang__
+	char *tp;
+	__asm__ __volatile__ ("mr %0, 2" : "=r"(tp) : : );
+#else
+	register char *tp __asm__("r2");
+#endif
 	return (pthread_t)(tp - 0x7000 - sizeof(struct pthread));
 }