From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8908 invoked by alias); 11 Oct 2008 17:47:15 -0000 Received: (qmail 8896 invoked by uid 22791); 11 Oct 2008 17:47:13 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 11 Oct 2008 17:46:33 +0000 Received: (qmail 7448 invoked from network); 11 Oct 2008 17:46:31 -0000 Received: from unknown (HELO orlando.local) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 11 Oct 2008 17:46:31 -0000 From: Pedro Alves To: Thomas Schwinge Subject: Re: GDB HEAD (partly) broken for GNU/Hurd Date: Sat, 11 Oct 2008 17:47:00 -0000 User-Agent: KMail/1.9.9 Cc: uweigand@de.ibm.com, gdb@sourceware.org, "Alfred M. Szmidt" , bug-hurd@gnu.org References: <20081009093424.GN7127@fencepost.gnu.org> <200810110047.39807.pedro@codesourcery.com> <20081011172611.GH21737@fencepost.gnu.org> In-Reply-To: <20081011172611.GH21737@fencepost.gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200810111846.32013.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-10/txt/msg00047.txt.bz2 On Saturday 11 October 2008 18:26:11, Thomas Schwinge wrote: > > Doesn't resume the whole shell? > > But as I see things we always have ``non_stop == 0'' and thus > ``resume_ptid = pid_to_ptid (-1)'', so that should be fine, isn't it? > Duh! Yes, of course. > Here is a debugging-enabled run of a thusly patched GDB HEAD: Thanks. > > STOPPED_BY_WATCHPOINT () = 0 > infrun: context switch > infrun: Switching context from bogus thread id 1 to Thread 25830.3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is missing in the new implementation. In Hurd when going through the shell doing fork/execs, we see new threads at every exec, and the old threads disappear. Could you try adding a `switch_to_thread (resume_thread)' somewhere after target_wait returns and before any other target method? -- Pedro Alves