From: Daniel Jacobowitz <drow@false.org>
To: Wu Zhou <woodzltc@cn.ibm.com>
Cc: gdb@sources.redhat.com
Subject: Re: Some questions w.r.t remote watchpoint support in i386
Date: Tue, 25 Apr 2006 19:34:00 -0000 [thread overview]
Message-ID: <20060425125422.GB21293@nevyn.them.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0604251813170.10220@woodzltc>
On Tue, Apr 25, 2006 at 06:19:53PM +0800, Wu Zhou wrote:
> I am playing with remote debugging on i386 platform. At the very first, I
> start gdbserver and gdb on two different i386 machines. In this configuration,
> local gdb client can connect to remote gdb server. But after I set a
> breakpoint and issue "cont" command, remote debuggee get a SIGV error.
Mismatched libraries between the two is the likely cause. You can copy
the target libraries to the host and use set solib-absolute-prefix.
> 1. The first error I encounter is: "Couldn't write debug register: No such
> process".
>
> After some tracking, I found gdb client is calling target_insert_watchpoint
> defined in config/i386/nm-i386.h, instead of the remote_insert_watchpoint
> defined in remote.c
>
> I guess this is a more general problem. Whenever you change target under
> i386 platform, you will always get the i386_insert_watchpoint (and other
> three target operations) executed.
>
> Maybe we can put these target operation into the target_ops, instead of
> defining them as macro in config/i386/nm-i386.h?
Yes, someone needs to fix this.
> 2. Following the above thought, I comment out these four macros in
> config/i386/nm-i386.h, and add them into i386-linux-nat.c
>
> This time, local gdb will call remote_insert_watchpoint indeed, but I get
> another error:
>
> Can't clear hardware watchpoints without the 'Z2' (write-watchpoint) packet.
>
> "set debug remote 1" tell me that Packet Z2 (write-watchpoint) is NOT
> supported
>
> I tried to use "set remote write-watchpoint-packet 1", but it won't work
> either:
>
> Enabled packet Z2 (write-watchpoint) not recognized by stub
>
> my question here is:
>
> What is the stub refered to here? Is it the gdbserver? And how can
> gdbserver determine which packat he will support, which won't?
The stub is gdbserver, yes. It supports what it supports, and does not
support what no one has implemented! And no one has implemented i386
watchpoints for gdbserver.
> 3. I also have a question about the overall status of gdb's support for
> remote debugging on different platforms.
Mostly it depends on the stub.
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-04-25 12:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-25 12:54 Wu Zhou
2006-04-25 19:34 ` Daniel Jacobowitz [this message]
2006-05-22 16:39 ` Wu Zhou
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=20060425125422.GB21293@nevyn.them.org \
--to=drow@false.org \
--cc=gdb@sources.redhat.com \
--cc=woodzltc@cn.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