diff options
-rw-r--r-- | nptl/ChangeLog | 4 | ||||
-rw-r--r-- | nptl/descr.h | 26 | ||||
-rw-r--r-- | nptl/sysdeps/ia64/tcb-offsets.sym | 2 | ||||
-rw-r--r-- | nptl/sysdeps/ia64/tls.h | 8 |
4 files changed, 22 insertions, 18 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 520e4441af..441bb019a2 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,9 @@ 2006-01-06 Ulrich Drepper <drepper@redhat.com> + * sysdeps/ia64/tls.h (tcbhead_t): Rename private membe to __private. + * sysdeps/ia64/tcb-offsets.sym: Adjust for private->__private + rename in tcbhead_t. + * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t): Don't give the union a name because it changes the mangled name. Instead name the struct for __data. diff --git a/nptl/descr.h b/nptl/descr.h index a9f830ef0b..2a607d3d21 100644 --- a/nptl/descr.h +++ b/nptl/descr.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -135,15 +135,15 @@ struct pthread pid_t pid; /* List of robust mutexes the thread is holding. */ - pthread_mutex_t *robust_list; + struct __pthread_mutex_s *robust_list; #ifdef __PTHREAD_MUTEX_HAVE_PREV # define ENQUEUE_MUTEX(mutex) \ do { \ mutex->__data.__next = THREAD_GETMEM (THREAD_SELF, robust_list); \ - THREAD_SETMEM (THREAD_SELF, robust_list, mutex); \ + THREAD_SETMEM (THREAD_SELF, robust_list, &mutex->__data); \ if (mutex->__data.__next != NULL) \ - mutex->__data.__next->__data.__prev = mutex; \ + mutex->__data.__next->__prev = &mutex->__data; \ mutex->__data.__prev = NULL; \ } while (0) # define DEQUEUE_MUTEX(mutex) \ @@ -151,9 +151,9 @@ struct pthread if (mutex->__data.__prev == NULL) \ THREAD_SETMEM (THREAD_SELF, robust_list, mutex->__data.__next); \ else \ - mutex->__data.__prev->__data.__next = mutex->__data.__next; \ + mutex->__data.__prev->__next = mutex->__data.__next; \ if (mutex->__data.__next != NULL) \ - mutex->__data.__next->__data.__prev = mutex->__data.__prev; \ + mutex->__data.__next->__prev = mutex->__data.__prev; \ mutex->__data.__prev = NULL; \ mutex->__data.__next = NULL; \ } while (0) @@ -161,19 +161,19 @@ struct pthread # define ENQUEUE_MUTEX(mutex) \ do { \ mutex->__data.__next = THREAD_GETMEM (THREAD_SELF, robust_list); \ - THREAD_SETMEM (THREAD_SELF, robust_list, mutex); \ + THREAD_SETMEM (THREAD_SELF, robust_list, &mutex->__data); \ } while (0) # define DEQUEUE_MUTEX(mutex) \ do { \ - pthread_mutex_t *runp = THREAD_GETMEM (THREAD_SELF, robust_list); \ - if (runp == mutex) \ - THREAD_SETMEM (THREAD_SELF, robust_list, runp->__data.__next); \ + struct pthread_mutex_s *runp = THREAD_GETMEM (THREAD_SELF, robust_list); \ + if (runp == &mutex->__data) \ + THREAD_SETMEM (THREAD_SELF, robust_list, runp->__next); \ else \ { \ - while (runp->__data.__next != mutex) \ - runp = runp->__data.__next; \ + while (runp->__next != &mutex->__data) \ + runp = runp->__next; \ \ - runp->__data.__next = runp->__data.__next->__data.__next; \ + runp->__next = runp->__next->__next; \ mutex->__data.__next = NULL; \ } \ } while (0) diff --git a/nptl/sysdeps/ia64/tcb-offsets.sym b/nptl/sysdeps/ia64/tcb-offsets.sym index 3bc367082d..e1707ab1c8 100644 --- a/nptl/sysdeps/ia64/tcb-offsets.sym +++ b/nptl/sysdeps/ia64/tcb-offsets.sym @@ -4,4 +4,4 @@ PID offsetof (struct pthread, pid) - TLS_PRE_TCB_SIZE TID offsetof (struct pthread, tid) - TLS_PRE_TCB_SIZE MULTIPLE_THREADS_OFFSET offsetof (struct pthread, header.multiple_threads) - TLS_PRE_TCB_SIZE -SYSINFO_OFFSET offsetof (tcbhead_t, private) +SYSINFO_OFFSET offsetof (tcbhead_t, __private) diff --git a/nptl/sysdeps/ia64/tls.h b/nptl/sysdeps/ia64/tls.h index eb773aa97d..69101ad8c4 100644 --- a/nptl/sysdeps/ia64/tls.h +++ b/nptl/sysdeps/ia64/tls.h @@ -1,5 +1,5 @@ /* Definition for thread-local data handling. nptl/IA-64 version. - Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -44,7 +44,7 @@ typedef union dtv typedef struct { dtv_t *dtv; - void *private; + void *__private; } tcbhead_t; register struct pthread *__thread_self __asm__("r13"); @@ -113,9 +113,9 @@ register struct pthread *__thread_self __asm__("r13"); # define GET_DTV(descr) \ (((tcbhead_t *) (descr))->dtv) -#define THREAD_SELF_SYSINFO (((tcbhead_t *) __thread_self)->private) +#define THREAD_SELF_SYSINFO (((tcbhead_t *) __thread_self)->__private) #define THREAD_SYSINFO(pd) \ - (((tcbhead_t *) ((char *) (pd) + TLS_PRE_TCB_SIZE))->private) + (((tcbhead_t *) ((char *) (pd) + TLS_PRE_TCB_SIZE))->__private) #if defined NEED_DL_SYSINFO # define INIT_SYSINFO THREAD_SELF_SYSINFO = (void *) GLRO(dl_sysinfo) |