Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: Thomas Schwinge <tschwinge@gnu.org>
Cc: uweigand@de.ibm.com,  gdb@sourceware.org,
	 "Alfred M. Szmidt" <ams@gnu.org>,
	 bug-hurd@gnu.org
Subject: Re: GDB HEAD (partly) broken for GNU/Hurd
Date: Sat, 11 Oct 2008 02:50:00 -0000	[thread overview]
Message-ID: <200810110047.39807.pedro@codesourcery.com> (raw)
In-Reply-To: <20081010232706.GG21737@fencepost.gnu.org>

On Saturday 11 October 2008 00:27:06, Thomas Schwinge wrote:
> On HEAD, when undoing this change (and additionally commenting out the
> two ``stop_soon = X'' lines in that file), things are fine again.
> 
> As most of GDB's internals are a big black box to me, I need help here.
> :-)
> 

Eh, I did point out at the time of that change that gnu-nat.c does
things a bit different.  :-)

Off-hand advice:

One thing that the hurd has a bit different, is that we have
multi-threading when going through the shell.

Could it be that target_wait is returning a specific ptid here:

fork_child.c:startup_inferior:

  while (1)
    {
      int resume_signal = TARGET_SIGNAL_0;
      ptid_t resume_ptid;

      struct target_waitstatus ws;
      memset (&ws, 0, sizeof (ws));
      resume_ptid = target_wait (pid_to_ptid (-1), &ws);
      ^^^^^^^^^^^


Hence this a bit below:

	  if (--pending_execs == 0)
	    break;

	  /* Just make it go on.  */
	  target_resume (resume_ptid, 0, TARGET_SIGNAL_0);
                         ^^^^^^^^^^^
	}
    }

Doesn't resume the whole shell?

If you make this change:
-     target_resume (resume_ptid, 0, TARGET_SIGNAL_0);
+     target_resume (minus_one_ptid, 0, TARGET_SIGNAL_0);

The other thing I suggest to look at, is to make sure the
local `pending_execs' and the `gnu-nat.c:struct inf'::pending_execs
aren't in conflict, but it doesn't look like it.

Hope this helps.

-- 
Pedro Alves


  reply	other threads:[~2008-10-11  2:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-09  9:37 Thomas Schwinge
2008-10-09 11:47 ` Alfred M. Szmidt
2008-10-09 12:46   ` Commit access for me? (was: GDB HEAD (partly) broken for GNU/Hurd) Thomas Schwinge
2008-10-09 13:21     ` Joel Brobecker
2008-10-09 11:55 ` GDB HEAD (partly) broken for GNU/Hurd Pedro Alves
2008-10-11  2:49   ` Thomas Schwinge
2008-10-11  2:50     ` Pedro Alves [this message]
2008-10-11 17:29       ` Thomas Schwinge
2008-10-11 17:43         ` [PATCH?] " Thomas Schwinge
2008-10-13 16:41           ` Ulrich Weigand
2008-10-13 18:35             ` Pedro Alves
2008-10-14 15:49               ` Thomas Schwinge
2008-10-11 17:47         ` Pedro Alves
2008-10-11 17:49           ` Thomas Schwinge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200810110047.39807.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=ams@gnu.org \
    --cc=bug-hurd@gnu.org \
    --cc=gdb@sourceware.org \
    --cc=tschwinge@gnu.org \
    --cc=uweigand@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox