This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: RFA: Patch for corefile support
- From: Michael Snyder <msnyder at redhat dot com>
- To: "J. Johnston" <jjohnstn at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Mon, 02 Jun 2003 12:22:46 -0700
- Subject: Re: RFA: Patch for corefile support
- Organization: Red Hat, Inc.
- References: <3E35BB3A.2020003@redhat.com>
"J. Johnston" wrote:
>
> The attached patch fixes a problem in gdb when a corefile is read in
> after a multithreaded application has been debugged. What happens is that
> the thread-db and lin-lwp layers are still around and run into internal
> errors.
>
> The solution is simply to unpush the thread-db ops in its mourn_inferior
> routine. If a corefile gets loaded, there is no thread-db to interfere.
> If another multi-threaded app gets loaded, the thread_db_new_objfile is
> designed to bring back the thread-db layer as needed.
>
> This fix solves another failure in the killed.exp testsuite as well.
>
> Ok to commit?
>
> -- Jeff J.
Hi Jeff,
After reviewing the discussion, why don't you add a test for
"keep_thread_db" as suggested by Mark, and check this in?
Perhaps with a comment explaining that the debugging of
statically-linked threaded programs is currently broken, but
this will preserve sanity in case it is ever fixed.
Michael
>
> -------------------------------------------------------------------------------
> Index: thread-db.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/thread-db.c,v
> retrieving revision 1.28
> diff -u -r1.28 thread-db.c
> --- thread-db.c 14 Jan 2003 00:49:04 -0000 1.28
> +++ thread-db.c 27 Jan 2003 22:58:58 -0000
> @@ -1007,6 +1007,11 @@
> proc_handle.pid = 0;
>
> target_beneath->to_mourn_inferior ();
> +
> + /* Detach thread_db target ops. The thread_db_new_objfile routine
> + will reattach them later if needed. */
> + unpush_target (&thread_db_ops);
> + using_thread_db = 0;
> }
>
> static int