From 68941973fa567cd79aedcdc90367d217107dd8a7 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 23 Aug 2009 16:33:50 -0700 Subject: Fix td_ta_map_lwp2thr logging and early sanity check. (cherry picked from commit a0e25a886a9128b280b4c05bc9c6dd12377ea868) --- nptl_db/ChangeLog | 7 +++++++ 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 + + * 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 . + 2009-05-25 Aurelien Jarno [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 -- cgit 1.4.1