This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Don't use thread_db on corefiles
- From: Michael Snyder <msnyder at cygnus dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Thu, 13 Dec 2001 12:21:48 -0800
- Subject: Re: [RFA] Don't use thread_db on corefiles
- Organization: Red Hat, Inc.
- References: <20011213114847.A17989@nevyn.them.org>
Daniel Jacobowitz wrote:
>
> This patch fixes a really frustrating internal error when you open the
> coredump of a multithreaded application. Depending on your kernel, either
> the core has threads (corefile.c supports this just fine) or it doesn't.
> Neither way will opening libthread_db work right.
Daniel, what exactly is the problem that you are solving?
What do you mean by "work right"?
> This patch isn't quite complete, because strange things happen when you
> connect to a remote target too. But fixing that requires a little more
> fiddling.
I don't think that "target_has_execution" is the right thing
to be testing here, if what you're really looking for is
"is this a corefile?"
>
> Is this OK?
>
> --
> Daniel Jacobowitz Carnegie Mellon University
> MontaVista Software Debian GNU/Linux Developer
>
> 2001-12-13 Daniel Jacobowitz <drow@mvista.com>
>
> * thread-db.c (thread_db_new_objfile): Don't use thread_db on
> corefiles.
>
> Index: thread-db.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/thread-db.c,v
> retrieving revision 1.18
> diff -u -r1.18 thread-db.c
> --- thread-db.c 2001/10/13 15:04:02 1.18
> +++ thread-db.c 2001/12/13 16:43:08
> @@ -482,7 +482,9 @@
> {
> td_err_e err;
>
> - if (objfile == NULL)
> + /* Don't attempt to use thread_db on targets which can not run
> + (core files). */
> + if (objfile == NULL || !target_has_execution)
> {
> /* All symbols have been discarded. If the thread_db target is
> active, deactivate it now. */