wine-pthread use the TEB register on PowerPC

Pierre d'Herbemont pidherbemont at opendarwin.org
Thu Jul 15 15:52:47 CDT 2004


Hi!

This patch enables the use of wine-pthread on darwin, and more 
generally on PowerPC hosts.

Pierre.

ChangeLog:
Use the TEB register on PowerPC hosts.

-------------- next part --------------
Index: loader/pthread.c
===================================================================
RCS file: /home/wine/wine/loader/pthread.c,v
retrieving revision 1.8
diff -u -r1.8 pthread.c
--- loader/pthread.c	30 Mar 2004 05:13:35 -0000	1.8
+++ loader/pthread.c	15 Jul 2004 20:47:24 -0000
@@ -113,6 +113,12 @@
     wine_ldt_set_limit( &fs_entry, info->teb_size - 1 );
     wine_ldt_set_flags( &fs_entry, WINE_LDT_FLAGS_DATA|WINE_LDT_FLAGS_32BIT );
     wine_ldt_init_fs( info->teb_sel, &fs_entry );
+#elif defined(__powerpc__)
+# ifdef __APPLE__
+    __asm__ __volatile__("mr r13, %0" : : "r" (info->teb_base));
+# else
+    __asm__ __volatile__("mr 2, %0" : : "r" (info->teb_base));
+# endif
 #else
     if (!funcs.ptr_set_thread_data)  /* first thread */
         pthread_key_create( &teb_key, NULL );


More information about the wine-patches mailing list