diff options
author | Roland McGrath <roland@redhat.com> | 2009-08-23 16:33:50 -0700 |
---|---|---|
committer | Petr Baudis <pasky@suse.cz> | 2009-09-18 17:41:22 +0200 |
commit | 68941973fa567cd79aedcdc90367d217107dd8a7 (patch) | |
tree | 1291058c3a1ece3ff617887e19ea6a01ac2a20a9 | |
parent | 3262a69480e933fd7e7ae8cf46eac258fe66c6a9 (diff) | |
download | glibc-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/ChangeLog | 7 | ||||
-rw-r--r-- | nptl_db/td_ta_map_lwp2thr.c | 14 |
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 |