[RFA] Don't use thread_db on corefiles

Michael Snyder msnyder@cygnus.com
Thu Dec 13 12:26:00 GMT 2001


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.  */



More information about the Gdb-patches mailing list