From 8e61dbecfc7565d8835c266c0ad03c37818d2c8f Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Fri, 1 Sep 2006 06:15:00 +0000 Subject: [PATCH] Stylize. --- lib/libthr/arch/powerpc/include/pthread_md.h | 18 ++++++++---------- lib/libthr/arch/powerpc/powerpc/pthread_md.c | 10 +++------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/lib/libthr/arch/powerpc/include/pthread_md.h b/lib/libthr/arch/powerpc/include/pthread_md.h index 1557fee98072..a4e737c2676f 100644 --- a/lib/libthr/arch/powerpc/include/pthread_md.h +++ b/lib/libthr/arch/powerpc/include/pthread_md.h @@ -37,7 +37,7 @@ #include #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) -#define TLS_TP_OFFSET 0x7000 +#define TLS_TP_OFFSET 0x7008 /* * Variant I tcb. The structure layout is fixed, don't blindly @@ -49,26 +49,24 @@ struct tcb { struct pthread *tcb_thread; }; -register uint8_t *_tp __asm("%r2"); - -#define _tcb ((struct tcb *)(_tp - TLS_TP_OFFSET - sizeof(struct tcb))) - struct tcb *_tcb_ctor(struct pthread *, int); void _tcb_dtor(struct tcb *); static __inline void _tcb_set(struct tcb *tcb) { - uint8_t *tp; + register uint8_t *_tp __asm__("%r2"); - tp = (uint8_t *)tcb + TLS_TP_OFFSET + sizeof(struct tcb); - __asm __volatile("mr %0,%1" : "=r"(_tp) : "r"(tp)); + __asm __volatile("mr %0,%1" : "=r"(_tp) : + "r"((uint8_t *)tcb + TLS_TP_OFFSET)); } static __inline struct tcb * _tcb_get(void) { - return (_tcb); + register uint8_t *_tp __asm__("%r2"); + + return ((struct tcb *)(_tp - TLS_TP_OFFSET)); } extern struct pthread *_thr_initial; @@ -77,7 +75,7 @@ static __inline struct pthread * _get_curthread(void) { if (_thr_initial) - return (_tcb->tcb_thread); + return (_tcb_get()->tcb_thread); return (NULL); } diff --git a/lib/libthr/arch/powerpc/powerpc/pthread_md.c b/lib/libthr/arch/powerpc/powerpc/pthread_md.c index c8f88d82f64f..66f043e294a7 100644 --- a/lib/libthr/arch/powerpc/powerpc/pthread_md.c +++ b/lib/libthr/arch/powerpc/powerpc/pthread_md.c @@ -38,13 +38,9 @@ struct tcb * _tcb_ctor(struct pthread *thread, int initial) { struct tcb *tcb; - void *oldtls; - if (initial) - oldtls = _tcb_get(); - else - oldtls = NULL; - tcb = _rtld_allocate_tls(oldtls, sizeof(struct tcb), 16); + tcb = _rtld_allocate_tls((initial) ? _tcb_get() : NULL, + sizeof(struct tcb), 1); if (tcb) tcb->tcb_thread = thread; return (tcb); @@ -54,5 +50,5 @@ _tcb_ctor(struct pthread *thread, int initial) void _tcb_dtor(struct tcb *tcb) { - _rtld_free_tls(tcb, sizeof(struct tcb), 16); + _rtld_free_tls(tcb, sizeof(struct tcb), 1); }