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.