Page MenuHomeFreeBSD

D18807.id52827.diff
No OneTemporary

D18807.id52827.diff

Index: lib/libthr/arch/powerpc/include/pthread_md.h
===================================================================
--- lib/libthr/arch/powerpc/include/pthread_md.h
+++ lib/libthr/arch/powerpc/include/pthread_md.h
@@ -72,14 +72,15 @@
static __inline struct tcb *
_tcb_get(void)
{
- register uint8_t *_tp;
+ register struct tcb *tcb;
+
#ifdef __powerpc64__
- __asm __volatile("mr %0,13" : "=r"(_tp));
+ __asm __volatile("addi %0,13,-%1" : "=r"(tcb) : "i"(TP_OFFSET));
#else
- __asm __volatile("mr %0,2" : "=r"(_tp));
+ __asm __volatile("addi %0,2,-%1" : "=r"(tcb) : "i"(TP_OFFSET));
#endif
- return ((struct tcb *)(_tp - TP_OFFSET));
+ return tcb;
}
static __inline struct pthread *

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 28, 8:35 PM (38 m, 13 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30492878
Default Alt Text
D18807.id52827.diff (705 B)

Event Timeline