aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-12-03 02:50:58 +0000
committerRoland McGrath <roland@gnu.org>2002-12-03 02:50:58 +0000
commitfa9a4ff0ba0b66f544bcd69e6bd0929f0a7fc7ff (patch)
tree413449448f0ca03a2a7601f58c77ce01c8927199 /nptl_db
parent* elf/tst-tls4.c: Define an unused TLS variable here, so that no lazy (diff)
downloadglibc-fa9a4ff0ba0b66f544bcd69e6bd0929f0a7fc7ff.tar.gz
glibc-fa9a4ff0ba0b66f544bcd69e6bd0929f0a7fc7ff.tar.bz2
glibc-fa9a4ff0ba0b66f544bcd69e6bd0929f0a7fc7ff.zip
* sysdeps/hppa/fpu/fesetround.c (fesetround): Use ~FE_DOWNWARD so both
bits of RM are cleared.
Diffstat (limited to 'nptl_db')
-rw-r--r--nptl_db/ChangeLog6
-rw-r--r--nptl_db/td_symbol_list.c2
-rw-r--r--nptl_db/td_ta_map_lwp2thr.c7
3 files changed, 13 insertions, 2 deletions
diff --git a/nptl_db/ChangeLog b/nptl_db/ChangeLog
new file mode 100644
index 0000000000..5d3fd84a0b
--- /dev/null
+++ b/nptl_db/ChangeLog
@@ -0,0 +1,6 @@
+2002-12-02 Roland McGrath <roland@redhat.com>
+
+ * td_symbol_list.c (symbol_list_arr): pthread_keys -> __pthread_keys
+
+ * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Fetch inferior registers to
+ see its %gs value, not our own.
diff --git a/nptl_db/td_symbol_list.c b/nptl_db/td_symbol_list.c
index 1be7001d85..f6ba91794a 100644
--- a/nptl_db/td_symbol_list.c
+++ b/nptl_db/td_symbol_list.c
@@ -30,7 +30,7 @@ static const char *symbol_list_arr[] =
[SYM_PTHREAD_NTHREADS] = "nptl_nthreads",
[SYM_PTHREAD_STACK_USED] = "stack_used",
[SYM_PTHREAD_STACK_USER] = "__stack_user",
- [SYM_PTHREAD_KEYS] = "pthread_keys",
+ [SYM_PTHREAD_KEYS] = "__pthread_keys",
[SYM_PTHREAD_KEYS_MAX] = "__pthread_pthread_keys_max",
[SYM_PTHREAD_SIZEOF_DESCR] = "__pthread_pthread_sizeof_descr",
[SYM_PTHREAD_CREATE_EVENT] = "__nptl_create_event",
diff --git a/nptl_db/td_ta_map_lwp2thr.c b/nptl_db/td_ta_map_lwp2thr.c
index 326b9ee92a..2097194837 100644
--- a/nptl_db/td_ta_map_lwp2thr.c
+++ b/nptl_db/td_ta_map_lwp2thr.c
@@ -20,6 +20,7 @@
#include "thread_dbP.h"
#include <tls.h>
+#include <sys/reg.h>
td_err_e
@@ -31,8 +32,12 @@ td_ta_map_lwp2thr (const td_thragent_t *ta, lwpid_t lwpid, td_thrhandle_t *th)
if (! ta_ok (ta))
return TD_BADTA;
+ prgregset_t regs;
+ 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, TLS_GET_GS () >> 3, &th->th_unique)
+ if (ps_get_thread_area (ta->ph, lwpid, regs[GS] >> 3, &th->th_unique)
!= PS_OK)
return TD_ERR; /* XXX Other error value? */