Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Kris Warkentin" <kewarken@qnx.com>
To: "Andrew Cagney" <ac131313@redhat.com>
Cc: "Mark Kettenis" <kettenis@chello.nl>, <gdb-patches@sources.redhat.com>
Subject: patch to add HAVE_CONTINUABLE_BREAKPOINT to target_ops
Date: Tue, 11 Feb 2003 18:41:00 -0000	[thread overview]
Message-ID: <02d001c2d1fd$22e8ac00$0202040a@catdog> (raw)
In-Reply-To: <02af01c2d1f8$fe327750$0202040a@catdog>

[-- Attachment #1: Type: text/plain, Size: 2651 bytes --]

Probably easier if I just give a diff for you to comment on.

Changelog Entry:

2003-02-11    Kris Warkentin    kewarken@qnx.com

    * target.h: Add to_have_continuable_watchpoint to struct target_ops.
                    Initialize HAVE_CONTINUABLE_WATCHPOINT.
    * target.c: update_current_target(): Add to_have_continuable_watchpoint.
    * infrun.c: remove initialization of HAVE_CONTINUABLE_WATCHPOINT.
    * config/i386/nm-i386.h: Change HAVE_CONTINUABLE_WATCHPOINT defines to
1.
    * config/i386/nm-i386sco5.h: ditto
    * config/i386/nm-i386sol2.h: ditto
    * config/s390/nm-linux.h: ditto
    * config/sparc/nm-sun4sol2.h: ditto

cheers,

Kris

----- Original Message -----
From: "Kris Warkentin" <kewarken@qnx.com>
To: "Andrew Cagney" <ac131313@redhat.com>
Cc: "Mark Kettenis" <kettenis@chello.nl>; <gdb-patches@sources.redhat.com>
Sent: Tuesday, February 11, 2003 1:11 PM
Subject: Re: patch to add QNX NTO i386 support


> Hi Andrew,
>
> Sorry it took so long to reply - I took a couple days to do a port of a
> vxworks lib for a BSP we're working on.
>
> Question: can I make any assumption about the initialization of the
> target_ops vector?  It looks like infrun.c wants
HAVE_CONTINUABLE_BREAKPOINT
> to default to zero but I didn't see anywhere int target.[ch] that ops were
> being initialized.
>
> cheers,
>
> Kris
>
> > > /* After a watchpoint trap, the PC points to the instruction after
> > >> >    the one that caused the trap.  Therefore we don't need to step
> over
> > >
> > > it.
> > >
> > >> >    But we do need to reset the status register to avoid another
trap.
> > >
> > > */
> > >
> > >> > #define HAVE_CONTINUABLE_WATCHPOINT
> > >
> > >>
> > >> Hmm, this poses an interesting problem.  The other i386 targets have
> > >> this in their nm.h file, since they consider hardware watchpoints as
a
> > >> native-only feature.  However, this isn't necessarily right since we
> > >> might support hardware breakpoints via the remote protocol.  If you
> > >> can live with the native-only approach, please move this to your nm.h
> > >> file.  Otherwise we might need to multi-arch this definition.
> > >
> > >
> > > Okay, file that under TODO along with the solib stuff.  We have
hardware
> > > breakpoints on all our remote targets that support them.
> >
> > Just FYI, this needs to be added to the target vector (target.h) and not
> > the architecture vector.
> >
> > For examples, see STOPPED_BY_WATCHPOINT et.al.  A bit of manipulation of
> > the existing nm-*.h files will be needed - have them define the value as
> 1.
> >
> > Can you please submit a separate patch that does just this.
> >
> > Andrew
> >
> >
> >
>
>

[-- Attachment #2: contin.diff --]
[-- Type: application/octet-stream, Size: 5709 bytes --]

Index: config/i386/nm-i386.h
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/nm-i386.h,v
retrieving revision 1.3
diff -u -r1.3 nm-i386.h
--- config/i386/nm-i386.h	4 Jul 2002 12:32:29 -0000	1.3
+++ config/i386/nm-i386.h	11 Feb 2003 18:31:35 -0000
@@ -93,7 +93,7 @@
    one that caused the trap.  Therefore we don't need to step over it.
    But we do need to reset the status register to avoid another trap.  */
 
-#define HAVE_CONTINUABLE_WATCHPOINT
+#define HAVE_CONTINUABLE_WATCHPOINT 1
 
 #define STOPPED_BY_WATCHPOINT(W)       (i386_stopped_data_address () != 0)
 
Index: config/i386/nm-i386sco5.h
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/nm-i386sco5.h,v
retrieving revision 1.3
diff -u -r1.3 nm-i386sco5.h
--- config/i386/nm-i386sco5.h	18 Aug 2002 22:23:32 -0000	1.3
+++ config/i386/nm-i386sco5.h	11 Feb 2003 18:31:35 -0000
@@ -63,7 +63,7 @@
 /* After a watchpoint trap, the PC points to the instruction which
    caused the trap.  But we can continue over it without disabling the
    trap.  */
-#define HAVE_CONTINUABLE_WATCHPOINT
+#define HAVE_CONTINUABLE_WATCHPOINT 1
 #define HAVE_STEPPABLE_WATCHPOINT
 
 #define STOPPED_BY_WATCHPOINT(W)  \
Index: config/i386/nm-i386sol2.h
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/nm-i386sol2.h,v
retrieving revision 1.7
diff -u -r1.7 nm-i386sol2.h
--- config/i386/nm-i386sol2.h	5 Jun 2002 19:18:19 -0000	1.7
+++ config/i386/nm-i386sol2.h	11 Feb 2003 18:31:35 -0000
@@ -32,7 +32,7 @@
 /* When a hardware watchpoint fires off the PC will be left at the
    instruction following the one which caused the watchpoint.  
    It will *NOT* be necessary for GDB to step over the watchpoint. */
-#define HAVE_CONTINUABLE_WATCHPOINT
+#define HAVE_CONTINUABLE_WATCHPOINT 1
 
 /* Solaris x86 2.6 and 2.7 targets have a kernel bug when stepping
    over an instruction that causes a page fault without triggering
Index: config/s390/nm-linux.h
===================================================================
RCS file: /cvs/src/src/gdb/config/s390/nm-linux.h,v
retrieving revision 1.5
diff -u -r1.5 nm-linux.h
--- config/s390/nm-linux.h	24 Feb 2002 22:56:06 -0000	1.5
+++ config/s390/nm-linux.h	11 Feb 2003 18:31:35 -0000
@@ -51,7 +51,7 @@
 /* WATCHPOINT SPECIFIC STUFF */
 
 #define TARGET_HAS_HARDWARE_WATCHPOINTS
-#define HAVE_CONTINUABLE_WATCHPOINT
+#define HAVE_CONTINUABLE_WATCHPOINT 1
 #define target_insert_watchpoint(addr, len, type)  \
   s390_insert_watchpoint (PIDGET (inferior_ptid), addr, len, type)
 
Index: config/sparc/nm-sun4sol2.h
===================================================================
RCS file: /cvs/src/src/gdb/config/sparc/nm-sun4sol2.h,v
retrieving revision 1.9
diff -u -r1.9 nm-sun4sol2.h
--- config/sparc/nm-sun4sol2.h	14 Nov 2002 00:25:05 -0000	1.9
+++ config/sparc/nm-sun4sol2.h	11 Feb 2003 18:31:35 -0000
@@ -51,7 +51,7 @@
 /* When a hardware watchpoint fires off the PC will be left at the
    instruction following the one which caused the watchpoint.  
    It will *NOT* be necessary for GDB to step over the watchpoint. */
-#define HAVE_CONTINUABLE_WATCHPOINT
+#define HAVE_CONTINUABLE_WATCHPOINT 1
 
 extern int procfs_stopped_by_watchpoint (ptid_t);
 #define STOPPED_BY_WATCHPOINT(W) \
Index: infrun.c
===================================================================
RCS file: /cvs/src/src/gdb/infrun.c,v
retrieving revision 1.96
diff -u -r1.96 infrun.c
--- infrun.c	31 Jan 2003 15:22:57 -0000	1.96
+++ infrun.c	11 Feb 2003 18:31:36 -0000
@@ -226,13 +226,6 @@
 #define HAVE_STEPPABLE_WATCHPOINT 1
 #endif
 
-#ifndef HAVE_CONTINUABLE_WATCHPOINT
-#define HAVE_CONTINUABLE_WATCHPOINT 0
-#else
-#undef  HAVE_CONTINUABLE_WATCHPOINT
-#define HAVE_CONTINUABLE_WATCHPOINT 1
-#endif
-
 #ifndef CANNOT_STEP_HW_WATCHPOINTS
 #define CANNOT_STEP_HW_WATCHPOINTS 0
 #else
Index: target.c
===================================================================
RCS file: /cvs/src/src/gdb/target.c,v
retrieving revision 1.49
diff -u -r1.49 target.c
--- target.c	19 Jan 2003 04:06:46 -0000	1.49
+++ target.c	11 Feb 2003 18:31:37 -0000
@@ -573,6 +573,7 @@
       INHERIT (to_remove_watchpoint, t);
       INHERIT (to_stopped_data_address, t);
       INHERIT (to_stopped_by_watchpoint, t);
+      INHERIT (to_have_continuable_watchpoint, t);
       INHERIT (to_region_size_ok_for_hw_watchpoint, t);
       INHERIT (to_terminal_init, t);
       INHERIT (to_terminal_inferior, t);
Index: target.h
===================================================================
RCS file: /cvs/src/src/gdb/target.h,v
retrieving revision 1.35
diff -u -r1.35 target.h
--- target.h	19 Jan 2003 04:06:46 -0000	1.35
+++ target.h	11 Feb 2003 18:31:37 -0000
@@ -256,6 +256,7 @@
     int (*to_remove_watchpoint) (CORE_ADDR, int, int);
     int (*to_insert_watchpoint) (CORE_ADDR, int, int);
     int (*to_stopped_by_watchpoint) (void);
+    int to_have_continuable_watchpoint;
     CORE_ADDR (*to_stopped_data_address) (void);
     int (*to_region_size_ok_for_hw_watchpoint) (int);
     void (*to_terminal_init) (void);
@@ -961,6 +962,13 @@
 #ifndef STOPPED_BY_WATCHPOINT
 #define STOPPED_BY_WATCHPOINT(w) \
    (*current_target.to_stopped_by_watchpoint) ()
+#endif
+
+/* Non-zero if we have continuable watchpoints  */
+
+#ifndef HAVE_CONTINUABLE_WATCHPOINT
+#define HAVE_CONTINUABLE_WATCHPOINT \
+   (*current_target.to_have_continuable_watchpoint)
 #endif
 
 /* HP-UX supplies these operations, which respectively disable and enable

  reply	other threads:[~2003-02-11 18:41 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-03 20:19 patch to add QNX NTO i386 support Kris Warkentin
2003-02-04  7:23 ` Eli Zaretskii
2003-02-04 13:33   ` Kris Warkentin
2003-02-04 13:53     ` Kris Warkentin
2003-02-04 19:59       ` Eli Zaretskii
2003-02-04 20:12         ` Kris Warkentin
2003-02-05  5:50           ` Eli Zaretskii
2003-02-04 22:02 ` Andrew Cagney
2003-02-05  1:29   ` Kris Warkentin
2003-02-05  2:40     ` Andrew Cagney
2003-02-05  2:59       ` Andrew Cagney
2003-02-05 12:31         ` Kris Warkentin
2003-02-05  2:55     ` Andrew Cagney
2003-02-05 17:15   ` Kris Warkentin
2003-02-05 18:46     ` Andrew Cagney
2003-02-07  1:48   ` Kris Warkentin
2003-02-07 19:22     ` Mark Kettenis
2003-02-07 20:08       ` Kris Warkentin
2003-02-07 21:59         ` Andrew Cagney
2003-02-11 18:11           ` Kris Warkentin
2003-02-11 18:41             ` Kris Warkentin [this message]
2003-02-12 22:18       ` Kris Warkentin
2003-02-12 22:44         ` Daniel Jacobowitz
2003-02-13  0:52           ` Kris Warkentin
2003-02-13 22:21         ` Mark Kettenis
2003-02-13 22:29           ` Kris Warkentin
2003-02-13 22:53             ` Mark Kettenis
2003-02-13 23:55               ` Kris Warkentin
2003-02-14  0:01                 ` Kris Warkentin
2003-02-13 21:56       ` Kris Warkentin
2003-02-13 22:08         ` Daniel Jacobowitz
2003-02-13 22:25           ` Kris Warkentin
2003-02-13 22:29             ` Daniel Jacobowitz
2003-02-13 23:48               ` Kris Warkentin
2003-02-14  0:03                 ` Daniel Jacobowitz
2003-02-14  0:09                   ` Kris Warkentin
2003-02-14  0:13                     ` Daniel Jacobowitz
2003-02-14  0:35                       ` Kris Warkentin
2003-02-17 14:58                         ` Andrew Cagney
2003-02-17 15:44                           ` Daniel Jacobowitz
2003-02-17 16:45                             ` Andrew Cagney
2003-02-17 18:54                               ` Kris Warkentin
2003-02-18 21:26                                 ` Andrew Cagney
2003-02-18 22:30                                   ` Kris Warkentin
2003-02-20  0:42                                     ` Andrew Cagney
2003-02-27 19:02                             ` Kris Warkentin
2003-02-27 19:56                               ` Andrew Cagney
2003-02-27 20:02                               ` Daniel Jacobowitz
2003-02-27 20:10                                 ` Andrew Cagney
2003-02-27 20:11                                 ` Kris Warkentin
2003-02-27 20:23                                   ` Andrew Cagney
2003-02-27 20:28                                     ` Kris Warkentin
2003-02-05 20:48 ` Mark Kettenis
2003-02-05 21:23   ` Kris Warkentin
2003-02-05 21:43     ` Kris Warkentin
2003-02-05 22:24       ` Mark Kettenis
2003-02-06 15:13         ` Kris Warkentin
2003-02-06 18:19           ` Andrew Cagney
2003-02-05 22:48     ` Mark Kettenis
2003-02-06 15:08       ` Kris Warkentin
2003-02-12 19:42 patch to add HAVE_CONTINUABLE_BREAKPOINT to target_ops Kris Warkentin
2003-02-14 18:49 ` Kris Warkentin
2003-02-20  0:41   ` Andrew Cagney
2003-02-20  1:09     ` Kris Warkentin

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='02d001c2d1fd$22e8ac00$0202040a@catdog' \
    --to=kewarken@qnx.com \
    --cc=ac131313@redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=kettenis@chello.nl \
    /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