Define THREAD_ID.
authordrepper <drepper>
Thu, 1 May 2003 23:18:39 +0000 (23:18 +0000)
committerdrepper <drepper>
Thu, 1 May 2003 23:18:39 +0000 (23:18 +0000)
nptl/sysdeps/i386/tls.h
nptl/sysdeps/ia64/tls.h
nptl/sysdeps/powerpc/tls.h
nptl/sysdeps/s390/tls.h
nptl/sysdeps/sh/tls.h
nptl/sysdeps/x86_64/tls.h

index 7ee2bca..03757bb 100644 (file)
@@ -251,6 +251,10 @@ union user_desc_init
          : "i" (offsetof (struct pthread, header.self)));                            \
      __self;})
 
+/* Identifier for the current thread.  THREAD_SELF is usable but
+   sometimes more expensive than necessary.  It is fine here.  */
+# define THREAD_ID THREAD_SELF
+
 
 /* Read member of the thread descriptor directly.  */
 # define THREAD_GETMEM(descr, member) \
index 8a13a59..5ce7473 100644 (file)
@@ -113,6 +113,10 @@ register struct pthread *__thread_self __asm__("r13");
 /* Return the thread descriptor for the current thread.  */
 # define THREAD_SELF (__thread_self - 1)
 
+/* Identifier for the current thread.  THREAD_SELF is usable but
+   sometimes more expensive than necessary as in this case.  */
+# define THREAD_ID __thread_self
+
 /* Access to data in the thread descriptor is easy.  */
 #define THREAD_GETMEM(descr, member) \
   descr->member
index 6573bb6..70aff09 100644 (file)
@@ -129,6 +129,10 @@ register void *__thread_register __asm__ ("r13");
     ((struct pthread *) (__thread_register \
                         - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE))
 
+/* Identifier for the current thread.  THREAD_SELF is usable but
+   sometimes more expensive than necessary as in this case.  */
+# define THREAD_ID __thread_register
+
 /* Read member of the thread descriptor directly.  */
 # define THREAD_GETMEM(descr, member) ((void)(descr), (THREAD_SELF)->member)
 
index 06237ae..89e51ff 100644 (file)
@@ -137,6 +137,10 @@ typedef struct
 /* Return the thread descriptor for the current thread.  */
 # define THREAD_SELF ((struct pthread *) __builtin_thread_pointer ())
 
+/* Identifier for the current thread.  THREAD_SELF is usable but
+   sometimes more expensive than necessary.  It is fine here.  */
+# define THREAD_ID THREAD_SELF
+
 /* Access to data in the thread descriptor is easy.  */
 #define THREAD_GETMEM(descr, member) \
   descr->member
index 1e27b98..a6cefa0 100644 (file)
@@ -117,6 +117,13 @@ typedef struct
      __asm ("stc gbr,%0" : "=r" (__self));                                   \
      __self - 1;})
 
+/* Identifier for the current thread.  THREAD_SELF is usable but
+   sometimes more expensive than necessary as in this case.  */
+# define THREAD_ID \
+  ({ struct pthread *__self;                                                 \
+     __asm ("stc gbr,%0" : "=r" (__self));                                   \
+     __self;})
+
 /* Read member of the thread descriptor directly.  */
 # define THREAD_GETMEM(descr, member) (descr->member)
 
index ab13f25..074eb64 100644 (file)
@@ -159,6 +159,10 @@ typedef struct
          : "i" (offsetof (struct pthread, header.self)));                    \
      __self;})
 
+/* Identifier for the current thread.  THREAD_SELF is usable but
+   sometimes more expensive than necessary.  It is fine here.  */
+# define THREAD_ID THREAD_SELF
+
 
 /* Read member of the thread descriptor directly.  */
 # define THREAD_GETMEM(descr, member) \