aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-08-29 16:18:06 +0000
committerAndrew Cagney <cagney@redhat.com>2003-08-29 16:18:06 +0000
commit546143b61a02462d8536c067c2137ed28cc7728a (patch)
treee565e9f7513d6d02d836c0ce511d232513d89be9
parentb0f5c6f2c52033da1e578398e7bf3cc61315b780 (diff)
downloadgdb-546143b61a02462d8536c067c2137ed28cc7728a.zip
gdb-546143b61a02462d8536c067c2137ed28cc7728a.tar.gz
gdb-546143b61a02462d8536c067c2137ed28cc7728a.tar.bz2
2003-08-29 Andrew Cagney <cagney@redhat.com>
* config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro. (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro. (target_remove_watchpoint): Delete macro. (target_insert_watchpoint): Delete macro. (remote_mips_can_use_hardware_watchpoint): Delete declaration. (remote_mips_stopped_by_watchpoint): Delete declaration. (remote_mips_remove_watchpoint): Delete declaration. (remote_mips_set_watchpoint): Delete declaration. (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro. * remote-mips.c (_initialize_remote_mips): Set "to_insert_watchpoint", "to_stopped_by_watchpoint", "to_can_use_hardware_watchpoint", and "to_remove_watchpoint". (mips_insert_watchpoint): Rename remote_mips_set_watchpoint. (mips_remove_watchpoint): Rename remote_mips_remove_watchpoint. (mips_stopped_by_watchpoint): Rename remote_mips_stopped_by_watchpoint. (mips_can_hardware_watchpoint): Rename remote_mips_can_use_hardware_watchpoint, update function signature.
-rw-r--r--gdb/ChangeLog22
-rw-r--r--gdb/config/mips/tm-embed.h29
-rw-r--r--gdb/remote-mips.c12
3 files changed, 37 insertions, 26 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c94523b..939d8cd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,25 @@
+2003-08-29 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro.
+ (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro.
+ (target_remove_watchpoint): Delete macro.
+ (target_insert_watchpoint): Delete macro.
+ (remote_mips_can_use_hardware_watchpoint): Delete declaration.
+ (remote_mips_stopped_by_watchpoint): Delete declaration.
+ (remote_mips_remove_watchpoint): Delete declaration.
+ (remote_mips_set_watchpoint): Delete declaration.
+ (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro.
+ * remote-mips.c (_initialize_remote_mips): Set
+ "to_insert_watchpoint", "to_stopped_by_watchpoint",
+ "to_can_use_hardware_watchpoint", and "to_remove_watchpoint".
+ (mips_insert_watchpoint): Rename remote_mips_set_watchpoint.
+ (mips_remove_watchpoint): Rename remote_mips_remove_watchpoint.
+ (mips_stopped_by_watchpoint): Rename
+ remote_mips_stopped_by_watchpoint.
+ (mips_can_hardware_watchpoint): Rename
+ remote_mips_can_use_hardware_watchpoint, update function
+ signature.
+
2003-08-29 Mark Kettenis <kettenis@gnu.org>
* x86-64-linux-tdep.c (user_to_gdb_regmap): Remove USER_CS and
diff --git a/gdb/config/mips/tm-embed.h b/gdb/config/mips/tm-embed.h
index a7a7948..31f703f 100644
--- a/gdb/config/mips/tm-embed.h
+++ b/gdb/config/mips/tm-embed.h
@@ -19,28 +19,13 @@
#include "mips/tm-mips.h"
-/* Watchpoint support */
-
-#define TARGET_HAS_HARDWARE_WATCHPOINTS
-
-/* Use these macros for watchpoint insertion/deletion. */
-/* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */
-
-#define target_insert_watchpoint(addr, len, type) \
- remote_mips_set_watchpoint (addr, len, type)
-int remote_mips_set_watchpoint (CORE_ADDR addr, int len, int type);
-
-#define target_remove_watchpoint(addr, len, type) \
- remote_mips_remove_watchpoint (addr, len, type)
-int remote_mips_remove_watchpoint (CORE_ADDR addr, int len, int type);
-
/* We need to remove watchpoints when stepping, else we hit them again! */
-#define HAVE_NONSTEPPABLE_WATCHPOINT 1
-
-int remote_mips_stopped_by_watchpoint (void);
-#define STOPPED_BY_WATCHPOINT(w) remote_mips_stopped_by_watchpoint ()
+/* FIXME: cagney/2003-08-29: The macros HAVE_STEPPABLE_WATCHPOINT,
+ HAVE_NONSTEPPABLE_WATCHPOINT, and HAVE_CONTINUABLE_WATCHPOINT need
+ to all be folded into the target vector. Since they are being used
+ as guards for STOPPED_BY_WATCHPOINT, why not have
+ STOPPED_BY_WATCHPOINT return the type of watchpoint that the code
+ is sitting on? */
-#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
- remote_mips_can_use_hardware_watchpoint(cnt)
-int remote_mips_can_use_hardware_watchpoint (int cnt);
+#define HAVE_NONSTEPPABLE_WATCHPOINT 1
diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c
index c50c504..372ecf7 100644
--- a/gdb/remote-mips.c
+++ b/gdb/remote-mips.c
@@ -2405,7 +2405,7 @@ pmon_remove_breakpoint (CORE_ADDR addr, char *contents_cache)
implements the TARGET_CAN_USE_HARDWARE_WATCHPOINT macro. */
int
-remote_mips_can_use_hardware_watchpoint (int cnt)
+mips_can_use_watchpoint (int type, int cnt, int othertype)
{
return cnt < MAX_LSI_BREAKPOINTS && strcmp (target_shortname, "lsi") == 0;
}
@@ -2464,7 +2464,7 @@ remote_mips_remove_hw_breakpoint (CORE_ADDR addr, char *contents_cache)
watchpoint. */
int
-remote_mips_set_watchpoint (CORE_ADDR addr, int len, int type)
+mips_insert_watchpoint (CORE_ADDR addr, int len, int type)
{
if (set_breakpoint (addr, len, type))
return -1;
@@ -2473,7 +2473,7 @@ remote_mips_set_watchpoint (CORE_ADDR addr, int len, int type)
}
int
-remote_mips_remove_watchpoint (CORE_ADDR addr, int len, int type)
+mips_remove_watchpoint (CORE_ADDR addr, int len, int type)
{
if (clear_breakpoint (addr, len, type))
return -1;
@@ -2482,7 +2482,7 @@ remote_mips_remove_watchpoint (CORE_ADDR addr, int len, int type)
}
int
-remote_mips_stopped_by_watchpoint (void)
+mips_stopped_by_watchpoint (void)
{
return hit_watchpoint;
}
@@ -3494,6 +3494,10 @@ _initialize_remote_mips (void)
mips_ops.to_files_info = mips_files_info;
mips_ops.to_insert_breakpoint = mips_insert_breakpoint;
mips_ops.to_remove_breakpoint = mips_remove_breakpoint;
+ mips_ops.to_insert_watchpoint = mips_insert_watchpoint;
+ mips_ops.to_remove_watchpoint = mips_remove_watchpoint;
+ mips_ops.to_stopped_by_watchpoint = mips_stopped_by_watchpoint;
+ mips_ops.to_can_use_hw_breakpoint = mips_can_use_watchpoint;
mips_ops.to_kill = mips_kill;
mips_ops.to_load = mips_load;
mips_ops.to_create_inferior = mips_create_inferior;