From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28429 invoked by alias); 24 Feb 2003 20:49:03 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28419 invoked from network); 24 Feb 2003 20:49:03 -0000 Received: from unknown (HELO hub.ott.qnx.com) (209.226.137.76) by 172.16.49.205 with SMTP; 24 Feb 2003 20:49:03 -0000 Received: from smtp.ott.qnx.com (smtp.ott.qnx.com [10.0.2.158]) by hub.ott.qnx.com (8.9.3/8.9.3) with ESMTP id PAA08607 for ; Mon, 24 Feb 2003 15:36:56 -0500 Received: from catdog ([10.4.2.2]) by smtp.ott.qnx.com (8.8.8/8.6.12) with SMTP id PAA24850 for ; Mon, 24 Feb 2003 15:49:02 -0500 Message-ID: <01ae01c2dc46$23e46fb0$0202040a@catdog> From: "Kris Warkentin" To: Subject: [Patch] add HAVE_CONTINUABLE_WATCHPOINT to target ops Date: Mon, 24 Feb 2003 20:49:00 -0000 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_01AB_01C2DC1C.3AFD9ED0" X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 X-SW-Source: 2003-02/txt/msg00603.txt.bz2 This is a multi-part message in MIME format. ------=_NextPart_000_01AB_01C2DC1C.3AFD9ED0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-length: 6185 This allows you to take one more thing out of the nm files and also lets targets that use watchpoints define it in their tdep file. cheers, Kris ChangeLog: 2003-02-24 Kris Warkentin * target.h: (HAVE_CONTINUABLE_WATCHPOINT): define. (target_ops): add to_have_continuable_watchpoint. * target.c (update_current_target): add INHERIT line for to_have_continuable_watchpoint. * infrun.c: remove HAVE_CONTINUABLE_WATCHPOINT defines * config/i386/nm-i386.h, config/i386/nm-i386sco5.h, config/i386/nm-i386sol2.h, config/s390/nm-linux.h, config/sparc/nm-sun4sol2.h: HAVE_CONTINUABLE_WATCHPOINT defined as 1. 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 12 Feb 2003 19:38:15 -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 12 Feb 2003 19:38:15 -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 12 Feb 2003 19:38:15 -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 12 Feb 2003 19:38:15 -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 12 Feb 2003 19:38:15 -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 12 Feb 2003 19:38:16 -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 12 Feb 2003 19:38:17 -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 12 Feb 2003 19:38:17 -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 ------=_NextPart_000_01AB_01C2DC1C.3AFD9ED0 Content-Type: text/plain; name="contin-cl.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="contin-cl.txt" Content-length: 474 2003-02-24 Kris Warkentin * target.h: (HAVE_CONTINUABLE_WATCHPOINT): define. (target_ops): add to_have_continuable_watchpoint. * target.c (update_current_target): add INHERIT line for to_have_continuable_watchpoint. * infrun.c: remove HAVE_CONTINUABLE_WATCHPOINT defines * config/i386/nm-i386.h, config/i386/nm-i386sco5.h, config/i386/nm-i386sol2.h, config/s390/nm-linux.h, config/sparc/nm-sun4sol2.h: HAVE_CONTINUABLE_WATCHPOINT defined as 1. ------=_NextPart_000_01AB_01C2DC1C.3AFD9ED0 Content-Type: text/plain; name="contin-patch.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="contin-patch.txt" Content-length: 6699 Index: config/i386/nm-i386.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:15 -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. */ =20 -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 =20 #define STOPPED_BY_WATCHPOINT(W) (i386_stopped_data_address () !=3D = 0) =20 Index: config/i386/nm-i386sco5.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:15 -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 =20 #define STOPPED_BY_WATCHPOINT(W) \ Index: config/i386/nm-i386sol2.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:15 -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.=20=20 It will *NOT* be necessary for GDB to step over the watchpoint. */ -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 =20 /* 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:15 -0000 @@ -51,7 +51,7 @@ /* WATCHPOINT SPECIFIC STUFF */ =20 #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) =20 Index: config/sparc/nm-sun4sol2.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:15 -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.=20=20 It will *NOT* be necessary for GDB to step over the watchpoint. */ -#define HAVE_CONTINUABLE_WATCHPOINT +#define HAVE_CONTINUABLE_WATCHPOINT 1 =20 extern int procfs_stopped_by_watchpoint (ptid_t); #define STOPPED_BY_WATCHPOINT(W) \ Index: infrun.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:16 -0000 @@ -226,13 +226,6 @@ #define HAVE_STEPPABLE_WATCHPOINT 1 #endif =20 -#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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:17 -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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 12 Feb 2003 19:38:17 -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 =20 /* HP-UX supplies these operations, which respectively disable and enable ------=_NextPart_000_01AB_01C2DC1C.3AFD9ED0--