This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: Patch for corefile support


"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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]