about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2009-08-23 16:33:50 -0700
committerPetr Baudis <pasky@suse.cz>2009-09-18 17:41:22 +0200
commit68941973fa567cd79aedcdc90367d217107dd8a7 (patch)
tree1291058c3a1ece3ff617887e19ea6a01ac2a20a9
parent3262a69480e933fd7e7ae8cf46eac258fe66c6a9 (diff)
downloadglibc-68941973fa567cd79aedcdc90367d217107dd8a7.tar.gz
glibc-68941973fa567cd79aedcdc90367d217107dd8a7.tar.xz
glibc-68941973fa567cd79aedcdc90367d217107dd8a7.zip
Fix td_ta_map_lwp2thr logging and early sanity check.
(cherry picked from commit a0e25a886a9128b280b4c05bc9c6dd12377ea868)
-rw-r--r--nptl_db/ChangeLog7
-rw-r--r--nptl_db/td_ta_map_lwp2thr.c14
2 files changed, 14 insertions, 7 deletions
diff --git a/nptl_db/ChangeLog b/nptl_db/ChangeLog
index 1ade1968a7..f79fc18e4b 100644
--- a/nptl_db/ChangeLog
+++ b/nptl_db/ChangeLog
@@ -1,3 +1,10 @@
+2009-08-23  Roland McGrath  <roland@redhat.com>
+
+	* td_ta_map_lwp2thr.c (__td_ta_lookup_th_unique): Move ta_ok check
+	and LOG call back to ...
+	(td_ta_map_lwp2thr): ... here.
+	Reported by Maciej W. Rozycki <macro@codesourcery.com>.
+
 2009-05-25  Aurelien Jarno  <aurelien@aurel32.net>
 
 	[BZ #10200]
diff --git a/nptl_db/td_ta_map_lwp2thr.c b/nptl_db/td_ta_map_lwp2thr.c
index 78cfcab769..4835f31f94 100644
--- a/nptl_db/td_ta_map_lwp2thr.c
+++ b/nptl_db/td_ta_map_lwp2thr.c
@@ -1,5 +1,5 @@
 /* Which thread is running on an LWP?
-   Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2003,2004,2007,2009 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
@@ -33,12 +33,6 @@ __td_ta_lookup_th_unique (const td_thragent_t *ta_arg,
   prgregset_t regs;
   psaddr_t addr;
 
-  LOG ("td_ta_map_lwp2thr");
-
-  /* Test whether the TA parameter is ok.  */
-  if (! ta_ok (ta))
-    return TD_BADTA;
-
   if (ta->ta_howto == ta_howto_unknown)
     {
       /* We need to read in from the inferior the instructions what to do.  */
@@ -181,6 +175,12 @@ td_ta_map_lwp2thr (const td_thragent_t *ta_arg,
 {
   td_thragent_t *const ta = (td_thragent_t *) ta_arg;
 
+  LOG ("td_ta_map_lwp2thr");
+
+  /* Test whether the TA parameter is ok.  */
+  if (! ta_ok (ta))
+    return TD_BADTA;
+
   /* We cannot rely on thread registers and such information at all
      before __pthread_initialize_minimal has gotten far enough.  They
      sometimes contain garbage that would confuse us, left by the kernel