Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Joel Brobecker <brobecker@adacore.com>
Cc: palves@redhat.com, gdb-patches@sourceware.org
Subject: Re: [PATCH] Fix "PC register is not available" issue
Date: Tue, 08 Apr 2014 15:17:00 -0000	[thread overview]
Message-ID: <83d2gr7sw0.fsf@gnu.org> (raw)
In-Reply-To: <20140408042331.GF4250@adacore.com>

> Date: Mon, 7 Apr 2014 21:23:31 -0700
> From: Joel Brobecker <brobecker@adacore.com>
> Cc: palves@redhat.com, gdb-patches@sourceware.org
> 
> > Sorry, I don't understand: remote.c is not specific to Windows, so it
> > cannot include any Windows-specific calls like SuspendThread.
> 
> I think the easiest is probably for you to take a look at the code
> in gdb/gdbserver/win32-low.c.

I altready did, but you seemed to say that code will not be used,
which confused me.

> This file actually also has a routine
> called thread_rec, and generally speaking, the code in gdb/*-nat.c
> and the corresponding gdb/gdbserver/*-low.c can (and probably should)
> be very similar - at least until we can factorize that code and reuse
> the gdbserver code in GDB.

Yes, I know.  I've read the code.

> The reason I was mentioning remote.c is because, when you use GDBserver,
> GDBserver does all the inferior control for GDB. It's like a mini
> debugger, except that it does not have a user interface, only a serial
> interface that GDB can used to communicate with it and send it orders
> such as read or write memory, next/step operations, continue, kill,
> etc. So, even if you are using a Windows native debugger, as soon as
> you type the "target remote [...]" command, the windows-nat target
> gets swapped out in favor of the "remote" target, which then delegates
> the inferior control to the agent (gdbserver). The code that does that
> delegation is in remote.c.

I know that, too.  What I don't understand is how all this is relevant
to the issue at hand, which is why the same system calls in
win32-low.c as we have in windows-nat.c don't trigger similar warning
messages.

> So, to try to reproduce with GDBserver, you'd have to do the following.
> In one terminal, start your program with gdbserver. For instance:
> 
>     % gdbserver --debug :4567 YOUR_PROGRAM

Why do I need --debug?  The warnings in question are displayed by
OUTMSG, which AFAIU does not need --debug to print its messages.

> It'll write a message saying that the program has been started,
> and that it's now waiting for a connection on port 4567. The --debug
> switch is not normally necessary, but allows us to turn warnings on,
> which then allows us to determine whether or not we reproduced the
> problem in GDB.
> 
> Next, start GDB in a second terminal, and connect to it via:
> 
>     % gdb YOUR_PROGRAM
>     (gdb) target remote :4567
> 
> The "target remote [...]" command replaces the "run" command.
> >From there, everything else should be the same as the reproducer
> you have for the case where GDBserver isn't involved.

I already did all that, per Pedro's instructions here:

  https://sourceware.org/ml/gdb-patches/2014-03/msg00668.html

> And instead of seeing the warning in the GDB console, you would
> see it in the terminal where gdbserver was started.

But that's it: I see no warnings when I run GDBserver like that.


  reply	other threads:[~2014-04-08 15:17 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-17 19:43 Eli Zaretskii
2014-03-18 16:16 ` Joel Brobecker
2014-03-18 16:35   ` Eli Zaretskii
2014-03-18 16:54     ` Joel Brobecker
2014-03-18 17:13       ` Eli Zaretskii
2014-03-18 17:33         ` Pedro Alves
2014-03-19  3:41           ` Eli Zaretskii
2014-03-19 10:07             ` Pedro Alves
2014-03-19 16:24               ` Eli Zaretskii
2014-03-19 16:41                 ` Pedro Alves
2014-03-26 18:49       ` Eli Zaretskii
2014-03-27 12:56         ` Joel Brobecker
2014-03-27 17:41           ` Eli Zaretskii
2014-03-28 13:00             ` Joel Brobecker
2014-03-28 17:29               ` Eli Zaretskii
2014-03-28 14:50         ` Pedro Alves
2014-03-28 17:35           ` Eli Zaretskii
2014-03-28 17:49             ` Pedro Alves
2014-03-28 18:30               ` Eli Zaretskii
2014-03-31 15:31                 ` Eli Zaretskii
2014-04-05  9:06                   ` Eli Zaretskii
2014-04-07 16:58                     ` Joel Brobecker
2014-04-07 17:09                   ` Pedro Alves
2014-04-07 18:25                     ` Eli Zaretskii
2014-04-07 21:39                       ` Joel Brobecker
2014-04-08  2:44                         ` Eli Zaretskii
2014-04-08  4:23                           ` Joel Brobecker
2014-04-08 15:17                             ` Eli Zaretskii [this message]
2014-04-08 11:32                       ` Pedro Alves
2014-04-08 16:43                         ` Pedro Alves
2014-04-08 17:10                           ` Eli Zaretskii
2014-04-08 17:36                             ` Pedro Alves
2014-04-08 17:54                               ` Eli Zaretskii
2014-04-11 20:06                                 ` Joel Brobecker
2014-04-19  8:33                                   ` Eli Zaretskii
2014-04-21 15:43                                     ` Joel Brobecker
2014-04-21 15:59                                       ` Eli Zaretskii

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=83d2gr7sw0.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.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