From 3093b1c70cd227c3329d2bbb77cd59ce2cbdcbd4 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 2 Mar 2003 11:41:46 +0000 Subject: 2003-03-02 Roland McGrath * sysdeps/powerpc/dl-tls.h (TLS_TP_OFFSET, TLS_DTV_OFFSET): Move these macros out of [SHARED]. (TLS_TPREL_VALUE, TLS_DTPREL_VALUE): New macros. --- sysdeps/powerpc/dl-tls.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'sysdeps/powerpc') diff --git a/sysdeps/powerpc/dl-tls.h b/sysdeps/powerpc/dl-tls.h index 37b96749f8..2f84a57206 100644 --- a/sysdeps/powerpc/dl-tls.h +++ b/sysdeps/powerpc/dl-tls.h @@ -25,19 +25,25 @@ typedef struct unsigned long int ti_offset; } tls_index; - -#ifdef SHARED - -extern void *__tls_get_addr (tls_index *ti); - /* The thread pointer points 0x7000 past the first static TLS block. */ -# define TLS_TP_OFFSET 0x7000 +#define TLS_TP_OFFSET 0x7000 /* Dynamic thread vector pointers point 0x8000 past the start of each TLS block. */ -# define TLS_DTV_OFFSET 0x8000 +#define TLS_DTV_OFFSET 0x8000 + +/* Compute the value for a @tprel reloc. */ +#define TLS_TPREL_VALUE(sym_map, sym, reloc) \ + ((sym_map)->l_tls_offset + (sym)->st_value + (reloc)->r_addend \ + - TLS_TCB_SIZE - TLS_TP_OFFSET) + +/* Compute the value for a @dtprel reloc. */ +#define TLS_DTPREL_VALUE(sym, reloc) \ + ((sym)->st_value + (reloc)->r_addend - TLS_DTV_OFFSET) + +#ifdef SHARED +extern void *__tls_get_addr (tls_index *ti); # define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET) # define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET) - #endif -- cgit 1.4.1