Fix td_ta_map_lwp2thr logging and early sanity check.

This commit is contained in:
Roland McGrath 2009-08-23 16:33:50 -07:00
parent 8a7cea0199
commit a0e25a886a
2 changed files with 14 additions and 7 deletions

View File

@ -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]

View File

@ -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