Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mark Kettenis <kettenis@science.uva.nl>
To: msnyder@cygnus.com
Cc: gdb-patches@sources.redhat.com
Subject: Re: [PATCH]: Make Linux use the new unified x86 watchpoint support
Date: Tue, 27 Mar 2001 00:46:00 -0000	[thread overview]
Message-ID: <200103270845.f2R8jHr21772@debye.wins.uva.nl> (raw)
In-Reply-To: <3ABFF768.B557AD29@cygnus.com>

   Date: Mon, 26 Mar 2001 18:14:00 -0800
   From: Michael Snyder <msnyder@cygnus.com>

   Mark Kettenis wrote:
   > 
   > FYI, I checked this in.  HJ can finally be happy now (although things
   > probably won't work correctly for multithreaded programs).

   Mark, this breaks remote i386 targets debugged from linux hosts.
   STOPPED_BY_WATCHPOINT is unconditionally defined to a function in
   i386-nat.c, but we may not be debugging a native target.

STOPPED_BY_WATCHPOINT always has been unconditionally defined.  The
only difference I can see is that with the old stuff is that I now
call perror_with_name if the ptrace call fails.

If I'm right, the attached patch should fix your problems.  I cannot
test it right now (no access to a Linux/x86 box), but if it works for
you, feel free to check it in.

More details in the reply to your other message.

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* i386-linux-nat.c (i386_linux_dr_get): Return 0 if ptrace call
	fails instead of calling perror_with_name.  This should fix
	debugging remote i386 targets with a native Linux/x86 GDB.  Add
	FIXME for this hack.

Index: i386-linux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-linux-nat.c,v
retrieving revision 1.24
diff -u -r1.24 i386-linux-nat.c
--- i386-linux-nat.c 2001/03/21 21:22:48 1.24
+++ i386-linux-nat.c 2001/03/27 08:40:06
@@ -712,11 +712,20 @@
      one thread.  */
   tid = PIDGET (inferior_pid);
 
+  /* FIXME: kettenis/2001-03-27: Calling perror_with_name if the
+     ptrace call fails breaks debugging remote targets.  The correct
+     way to fix this is to add the hardware breakpoint and watchpoint
+     stuff to the target vectore.  For now, just return zero if the
+     ptrace call fails.  */
   errno = 0;
   value = ptrace (PT_READ_U, tid,
 		  offsetof (struct user, u_debugreg[regnum]), 0);
   if (errno != 0)
+#if 0
     perror_with_name ("Couldn't read debug register");
+#else
+    return 0;
+#endif
 
   return value;
 }


  reply	other threads:[~2001-03-27  0:46 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-21 18:47 Mark Kettenis
2001-03-26 18:14 ` Michael Snyder
2001-03-27  0:46   ` Mark Kettenis [this message]
2001-03-27  8:45     ` Michael Snyder
2001-04-17 17:26     ` Michael Snyder
2001-04-17 23:58       ` Mark Kettenis
2001-03-26 18:35 ` Michael Snyder
2001-03-26 22:57   ` Eli Zaretskii
2001-03-27  1:13     ` Mark Kettenis
2001-03-27  1:31       ` Eli Zaretskii
2001-03-27  2:09         ` Mark Kettenis
2001-03-27  2:20           ` Eli Zaretskii
2001-03-27 10:58             ` Mark Salter
2001-03-28  1:19               ` Eli Zaretskii
2001-03-28  5:10                 ` Mark Salter
2001-03-28  5:39                   ` Eli Zaretskii
2001-03-28  8:06                     ` Mark Salter
2001-03-29 12:06                       ` Eli Zaretskii
2001-03-29 12:03                         ` Mark Salter
2001-03-27  8:55         ` Michael Snyder
2001-03-27  9:46           ` Eli Zaretskii
2001-03-27  9:55             ` Fernando Nasser
2001-03-27 11:59               ` Michael Snyder
2001-03-27 12:04                 ` Fernando Nasser
2001-03-27 11:58             ` Michael Snyder
2001-03-28  1:31               ` Eli Zaretskii
2001-03-28  2:03               ` Mark Kettenis
2001-03-27  8:52       ` Michael Snyder
2001-03-27 15:51         ` Mark Kettenis
2001-03-27 10:03       ` Andrew Cagney
2001-03-27  8:48     ` Michael Snyder
2001-03-27  9:43       ` Eli Zaretskii
2001-03-27 11:57         ` Michael Snyder
2001-03-28  1:30           ` Eli Zaretskii
2001-03-28 11:53             ` Michael Snyder
2001-03-29 12:06               ` Eli Zaretskii
     [not found] <Pine.SUN.3.91.1010329160617.4915G-100000@is>
2001-03-29 18:15 ` Mark Salter

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=200103270845.f2R8jHr21772@debye.wins.uva.nl \
    --to=kettenis@science.uva.nl \
    --cc=gdb-patches@sources.redhat.com \
    --cc=msnyder@cygnus.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