2007-07-16 Paul Pluzhnikov <ppluzhnikov@google.com>

* linux-thread-db.c (thread_db_find_new_threads_silently):
	New function.
	(try_thread_db_load_1): Call it.
This commit is contained in:
Paul Pluzhnikov 2009-07-16 19:47:43 +00:00
parent 0aaaf7c3ef
commit 456b0e2407
2 changed files with 32 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2007-07-16 Paul Pluzhnikov <ppluzhnikov@google.com>
* linux-thread-db.c (thread_db_find_new_threads_silently):
New function.
(try_thread_db_load_1): Call it.
2009-07-15 Doug Evans <dje@google.com> 2009-07-15 Doug Evans <dje@google.com>
Code reorg in preparation for adding comdat types support. Code reorg in preparation for adding comdat types support.

View File

@ -588,6 +588,25 @@ enable_thread_event_reporting (void)
} }
} }
/* Same as thread_db_find_new_threads_1, but silently ignore errors. */
static void
thread_db_find_new_threads_silently (ptid_t ptid)
{
volatile struct gdb_exception except;
TRY_CATCH (except, RETURN_MASK_ERROR)
{
thread_db_find_new_threads_1 (ptid);
}
if (except.reason < 0 && info_verbose)
{
exception_fprintf (gdb_stderr, except,
"Warning: thread_db_find_new_threads_silently: ");
}
}
/* Lookup a library in which given symbol resides. /* Lookup a library in which given symbol resides.
Note: this is looking in GDB process, not in the inferior. Note: this is looking in GDB process, not in the inferior.
Returns library name, or NULL. */ Returns library name, or NULL. */
@ -705,7 +724,13 @@ try_thread_db_load_1 (struct thread_db_info *info)
push_target (&thread_db_ops); push_target (&thread_db_ops);
enable_thread_event_reporting (); enable_thread_event_reporting ();
thread_db_find_new_threads_1 (inferior_ptid);
/* There appears to be a bug glibc-2.3.6: call to td_thr_get_info fails
with TD_ERR for statically linked executables if td_thr_get_info is
called before glibc has initialized itself. Silently ignore such
errors. */
thread_db_find_new_threads_silently (inferior_ptid);
return 1; return 1;
} }