* config/i386/nm-i386sol2.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
* config/mips/nm-irix5.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
* config/sparc/nm-sol2.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
* inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): New.
(inf_ttrace_region_size_ok_for_hw_watchpoint): Delete.
(inf_ttrace_target): Delete to_region_size_ok_for_hw_watchpoint and
add to_region_ok_for_hw_watchpoint.
* s390-nat.c (s390_region_size_ok_for_hw_watchpoint): Delete.
(s390_region_ok_for_hw_watchpoint): New.
(_initialize_s390_nat): Delete to_region_size_ok_for_hw_watchpoint
and add to_region_ok_for_hw_watchpoint.
* target.c (default_region_size_ok_for_hw_watchpoint,
debug_to_region_size_ok_for_hw_watchpoint): Delete prototype.
(update_current_target): Delete to_region_size_ok_for_hw_watchpoint
inheritance and default_region_size_ok_for_hw_watchpoint.
(default_region_ok_for_hw_watchpoint): If len is less than or equal
the length of void pointer, return ok.
(default_region_size_ok_for_hw_watchpoint): Delete.
(debug_to_region_size_ok_for_hw_watchpoint): Delete.
(setup_target_debug): Delete to_region_size_ok_for_hw_watchpoint.
* target.h (struct target_ops): Delete
to_region_size_ok_for_hw_watchpoint.
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
+2006-02-08 Wu Zhou <woodzltc@cn.ibm.com>
+
+ * breakpoint.c (TARGET_REGION_OK_FOR_HW_WATCHPOINT): Delete.
+ * config/i386/nm-i386sol2.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
+ (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
+ * config/mips/nm-irix5.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
+ (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
+ * config/sparc/nm-sol2.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New.
+ (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
+ * inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): New.
+ (inf_ttrace_region_size_ok_for_hw_watchpoint): Delete.
+ (inf_ttrace_target): Delete to_region_size_ok_for_hw_watchpoint and
+ add to_region_ok_for_hw_watchpoint.
+ * s390-nat.c (s390_region_size_ok_for_hw_watchpoint): Delete.
+ (s390_region_ok_for_hw_watchpoint): New.
+ (_initialize_s390_nat): Delete to_region_size_ok_for_hw_watchpoint
+ and add to_region_ok_for_hw_watchpoint.
+ * target.c (default_region_size_ok_for_hw_watchpoint,
+ debug_to_region_size_ok_for_hw_watchpoint): Delete prototype.
+ (update_current_target): Delete to_region_size_ok_for_hw_watchpoint
+ inheritance and default_region_size_ok_for_hw_watchpoint.
+ (default_region_ok_for_hw_watchpoint): If len is less than or equal
+ the length of void pointer, return ok.
+ (default_region_size_ok_for_hw_watchpoint): Delete.
+ (debug_to_region_size_ok_for_hw_watchpoint): Delete.
+ (setup_target_debug): Delete to_region_size_ok_for_hw_watchpoint.
+ * target.h (struct target_ops): Delete
+ to_region_size_ok_for_hw_watchpoint.
+ (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
+
2006-02-08 Ben Elliston <bje@au1.ibm.com>
Wu Zhou <woodzltc@cn.ibm.com>
in hardware. If the watchpoint can not be handled
in hardware return zero. */
-#if !defined(TARGET_REGION_OK_FOR_HW_WATCHPOINT)
-#define TARGET_REGION_OK_FOR_HW_WATCHPOINT(ADDR,LEN) \
- (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(LEN))
-#endif
-
static int
can_use_hardware_watchpoint (struct value *v)
{
}
static int
-inf_ttrace_region_size_ok_for_hw_watchpoint (int len)
+inf_ttrace_region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
{
return 1;
}
t->to_insert_watchpoint = inf_ttrace_insert_watchpoint;
t->to_remove_watchpoint = inf_ttrace_remove_watchpoint;
t->to_stopped_by_watchpoint = inf_ttrace_stopped_by_watchpoint;
- t->to_region_size_ok_for_hw_watchpoint =
- inf_ttrace_region_size_ok_for_hw_watchpoint;
+ t->to_region_ok_for_hw_watchpoint =
+ inf_ttrace_region_ok_for_hw_watchpoint;
t->to_kill = inf_ttrace_kill;
t->to_create_inferior = inf_ttrace_create_inferior;
t->to_follow_fork = inf_ttrace_follow_fork;
}
static int
-s390_region_size_ok_for_hw_watchpoint (int cnt)
+s390_region_ok_for_hw_watchpoint (CORE_ADDR addr, int cnt)
{
return 1;
}
/* Add our watchpoint methods. */
t->to_can_use_hw_breakpoint = s390_can_use_hw_breakpoint;
- t->to_region_size_ok_for_hw_watchpoint = s390_region_size_ok_for_hw_watchpoint;
+ t->to_region_ok_for_hw_watchpoint = s390_region_ok_for_hw_watchpoint;
t->to_have_continuable_watchpoint = 1;
t->to_stopped_by_watchpoint = s390_stopped_by_watchpoint;
t->to_insert_watchpoint = s390_insert_watchpoint;
static int default_region_ok_for_hw_watchpoint (CORE_ADDR, int);
-static int default_region_size_ok_for_hw_watchpoint (int);
-
static int nosymbol (char *, CORE_ADDR *);
static void tcomplain (void);
static int debug_to_region_ok_for_hw_watchpoint (CORE_ADDR, int);
-static int debug_to_region_size_ok_for_hw_watchpoint (int);
-
static void debug_to_terminal_init (void);
static void debug_to_terminal_inferior (void);
INHERIT (to_stopped_by_watchpoint, t);
INHERIT (to_have_continuable_watchpoint, t);
INHERIT (to_region_ok_for_hw_watchpoint, t);
- INHERIT (to_region_size_ok_for_hw_watchpoint, t);
INHERIT (to_terminal_init, t);
INHERIT (to_terminal_inferior, t);
INHERIT (to_terminal_ours_for_output, t);
return_zero);
de_fault (to_region_ok_for_hw_watchpoint,
default_region_ok_for_hw_watchpoint);
- de_fault (to_region_size_ok_for_hw_watchpoint,
- default_region_size_ok_for_hw_watchpoint);
de_fault (to_terminal_init,
(void (*) (void))
target_ignore);
static int
default_region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
{
- return TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT (len);
-}
-
-static int
-default_region_size_ok_for_hw_watchpoint (int byte_count)
-{
- return (byte_count <= TYPE_LENGTH (builtin_type_void_data_ptr));
+ return (len <= TYPE_LENGTH (builtin_type_void_data_ptr));
}
static int
}
static int
-debug_to_region_size_ok_for_hw_watchpoint (int byte_count)
-{
- CORE_ADDR retval;
-
- retval = debug_target.to_region_size_ok_for_hw_watchpoint (byte_count);
-
- fprintf_unfiltered (gdb_stdlog,
- "TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT (%ld) = 0x%lx\n",
- (unsigned long) byte_count,
- (unsigned long) retval);
- return retval;
-}
-
-static int
debug_to_stopped_by_watchpoint (void)
{
int retval;
current_target.to_stopped_by_watchpoint = debug_to_stopped_by_watchpoint;
current_target.to_stopped_data_address = debug_to_stopped_data_address;
current_target.to_region_ok_for_hw_watchpoint = debug_to_region_ok_for_hw_watchpoint;
- current_target.to_region_size_ok_for_hw_watchpoint = debug_to_region_size_ok_for_hw_watchpoint;
current_target.to_terminal_init = debug_to_terminal_init;
current_target.to_terminal_inferior = debug_to_terminal_inferior;
current_target.to_terminal_ours_for_output = debug_to_terminal_ours_for_output;
int to_have_continuable_watchpoint;
int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *);
int (*to_region_ok_for_hw_watchpoint) (CORE_ADDR, int);
- int (*to_region_size_ok_for_hw_watchpoint) (int);
void (*to_terminal_init) (void);
void (*to_terminal_inferior) (void);
void (*to_terminal_ours_for_output) (void);
(*current_target.to_region_ok_for_hw_watchpoint) (addr, len)
#endif
-#if !defined(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT)
-#define TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(byte_count) \
- (*current_target.to_region_size_ok_for_hw_watchpoint) (byte_count)
-#endif
-
/* Set/clear a hardware watchpoint starting at ADDR, for LEN bytes. TYPE is 0
for write, 1 for read, and 2 for read/write accesses. Returns 0 for