This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH]: Make Linux use the new unified x86 watchpoint support


Eli Zaretskii wrote:
> 
> > Date: Tue, 27 Mar 2001 08:47:16 -0800
> > From: Michael Snyder <msnyder@redhat.com>
> >
> > The gdb was configured for native linux, but until this change,
> > it was also able to be used to debug a remote embedded i386
> > target.  This change breaks that, because it makes ptrace calls.
> 
> How does GDB know if the target is local or remote?  Can the Linux
> implementation of I386_DR_LOW_* macros test that and avoid calling
> ptrace in that case?

If you say "run" it's native -- if you say "target remote /dev/tty0"
it's remote.  Or did you mean how can you tell programmatically?
There is no clean way, other than to test "current_target", eg.
	if (strcmp (current_target.to_shortname, "remote") == 0)
and that's obviously not the nicest approach.


> Also, since I see that the Linux port of GDB was linking in
> i386v-nat.c, and i386v-nat.c defined those same watchpoint-related
> functions which called ptrace, and did that unconditionally, how did
> that work before the last changes?

I've no idea, I just know that it suddenly stopped working
with these changes.  And I'm not talking about watchpoints
working -- I'm talking about _anything_ working.  There is a
call to STOPPED_BY_WATCHPOINT in wait_for_inferior, and
you can't even connect to the target without wait_for_inferior
being called.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]