Page MenuHomeFreeBSD

D18807.id52889.diff
No OneTemporary

D18807.id52889.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
Mon, Apr 20, 7:37 AM (14 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31825975
Default Alt Text
D18807.id52889.diff (707 B)

Event Timeline