diff options
author | Roland McGrath <roland@gnu.org> | 2003-03-14 22:34:30 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-03-14 22:34:30 +0000 |
commit | 52287505946d37a76ecfcb2d1b8a428206d4bb45 (patch) | |
tree | f18a508ac866beede857055d0643c11fdab1aaad /nptl/sysdeps/s390 | |
parent | 55c11fbdb046ec06fb9f9bca2ae772a413354c74 (diff) | |
download | glibc-52287505946d37a76ecfcb2d1b8a428206d4bb45.tar.gz glibc-52287505946d37a76ecfcb2d1b8a428206d4bb45.tar.xz glibc-52287505946d37a76ecfcb2d1b8a428206d4bb45.zip |
* descr.h (struct pthread): Move the union out of [!TLS_DTV_AT_TP], so
we always define the padding space. [!TLS_DTV_AT_TP]: Give tcbhead_t field a name, `header', since GCC stopped supporting its own extensions fully. [TLS_MULTIPLE_THREADS_IN_TCB]: Put `multiple_threads' inside a wrapper struct also called `header', so `header.multiple_threads' is the field name to use on all machines. * allocatestack.c (allocate_stack): Use `header.' prefix. * sysdeps/pthread/createthread.c (create_thread): Likewise. * pthread_create.c (__pthread_create_2_1): Likewise. * sysdeps/i386/tls.h (INSTALL_NEW_DTV, THREAD_DTV): Likewise. (THREAD_SELF): Likewise. * sysdeps/x86_64/tls.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/s390/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Use REGS[18] value directly.
Diffstat (limited to 'nptl/sysdeps/s390')
-rw-r--r-- | nptl/sysdeps/s390/td_ta_map_lwp2thr.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/nptl/sysdeps/s390/td_ta_map_lwp2thr.c b/nptl/sysdeps/s390/td_ta_map_lwp2thr.c index d12328f116..5b0bf840d8 100644 --- a/nptl/sysdeps/s390/td_ta_map_lwp2thr.c +++ b/nptl/sysdeps/s390/td_ta_map_lwp2thr.c @@ -35,10 +35,8 @@ td_ta_map_lwp2thr (const td_thragent_t *ta, lwpid_t lwpid, td_thrhandle_t *th) if (ps_lgetregs (ta->ph, lwpid, regs) != PS_OK) return TD_ERR; - /* Get the thread area for the addressed thread. */ - if (ps_get_thread_area (ta->ph, lwpid, regs[18] >> 3, &th->th_unique) - != PS_OK) - return TD_ERR; /* XXX Other error value? */ + /* S390 thread register is ACR0, aka register 18. */ + th->th_unique = (void *) regs[18]; /* Found it. Now complete the `td_thrhandle_t' object. */ th->th_ta_p = (td_thragent_t *) ta; |