[RFC,v2,10/27] Add Infinity THREAD_SELF macros to sysdeps/mips/nptl/tls.h

Message ID 1465814311-31470-11-git-send-email-gbenson@redhat.com
State New, archived
Headers

Commit Message

Gary Benson June 13, 2016, 10:38 a.m. UTC
  This commit adds Infinity THREAD_SELF macros for mips.
---
 sysdeps/mips/nptl/tls.h |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
  

Comments

Pedro Alves June 13, 2016, 11:12 a.m. UTC | #1
On 06/13/2016 11:38 AM, Gary Benson wrote:
> +/* Magic for Infinity to know how to do THREAD_SELF.  */
> +# define I8_THREAD_SELF I8_TS_CONST_THREAD_AREA
> +# define I8_TS_CTA_VALUE TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE
> +

Wrap in parentheses to avoid precedence problems creeping in
in future:

# define I8_TS_CTA_VALUE (TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE)

etc.

More instances throughout the series.

Thanks,
Pedro Alves
  
Gary Benson June 15, 2016, 3:23 p.m. UTC | #2
Pedro Alves wrote:
> On 06/13/2016 11:38 AM, Gary Benson wrote:
> > +/* Magic for Infinity to know how to do THREAD_SELF.  */
> > +# define I8_THREAD_SELF I8_TS_CONST_THREAD_AREA
> > +# define I8_TS_CTA_VALUE TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE
> > +
> 
> Wrap in parentheses to avoid precedence problems creeping in
> in future:
> 
> # define I8_TS_CTA_VALUE (TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE)
> 
> etc.
> 
> More instances throughout the series.

Thanks Pedro, I've updated my tree.

Cheers,
Gary
  

Patch

diff --git a/sysdeps/mips/nptl/tls.h b/sysdeps/mips/nptl/tls.h
index 10ca878..90d469c 100644
--- a/sysdeps/mips/nptl/tls.h
+++ b/sysdeps/mips/nptl/tls.h
@@ -149,9 +149,13 @@  typedef struct
  ((struct pthread *) (READ_THREAD_POINTER ()			     \
 		      - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE))
 
+/* Magic for Infinity to know how to do THREAD_SELF.  */
+# define I8_THREAD_SELF I8_TS_CONST_THREAD_AREA
+# define I8_TS_CTA_VALUE TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE
+
 /* Magic for libthread_db to know how to do THREAD_SELF.  */
 # define DB_THREAD_SELF \
-  CONST_THREAD_AREA (32, TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE)
+  CONST_THREAD_AREA (32, I8_TS_CTA_VALUE)
 
 /* Access to data in the thread descriptor is easy.  */
 # define THREAD_GETMEM(descr, member) \