Page MenuHomeFreeBSD

D18807.diff
No OneTemporary

D18807.diff

Index: head/lib/libthr/arch/powerpc/include/pthread_md.h
===================================================================
--- head/lib/libthr/arch/powerpc/include/pthread_md.h
+++ head/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
Sun, Jan 18, 3:26 AM (13 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27703839
Default Alt Text
D18807.diff (722 B)

Event Timeline