* config/i386/nm-i386.h: Remove code within
I386_WATCHPOINTS_IN_TARGET_VECTOR conditional. * config/i386/nm-cygwin.h: Remove I386_WATCHPOINTS_IN_TARGET_VECTOR macro. * config/i386/nm-cygwin64.h: Ditto. * config/i386/nm-fbsd.h: Ditto. * config/i386/nm-go32.h: Ditto. * config/i386/nm-linux.h: Ditto. * config/i386/nm-linux64.h: Ditto.
This commit is contained in:
parent
b7ab523c0d
commit
2bc57ae31d
8 changed files with 15 additions and 62 deletions
|
@ -1,3 +1,15 @@
|
|||
2009-03-25 Pierre Muller <muller@ics.u-strasbg.fr>
|
||||
|
||||
* config/i386/nm-i386.h: Remove code within
|
||||
I386_WATCHPOINTS_IN_TARGET_VECTOR conditional.
|
||||
* config/i386/nm-cygwin.h: Remove I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
macro.
|
||||
* config/i386/nm-cygwin64.h: Ditto.
|
||||
* config/i386/nm-fbsd.h: Ditto.
|
||||
* config/i386/nm-go32.h: Ditto.
|
||||
* config/i386/nm-linux.h: Ditto.
|
||||
* config/i386/nm-linux64.h: Ditto.
|
||||
|
||||
2009-03-25 Pierre Muller <muller@ics.u-strasbg.fr>
|
||||
|
||||
ARI fix: "xasprintf" rule.
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
void dll_symbol_command (char *, int);
|
||||
|
||||
#define I386_USE_GENERIC_WATCHPOINTS
|
||||
#define I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
|
||||
#include "i386/nm-i386.h"
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
void dll_symbol_command (char *, int);
|
||||
|
||||
#define I386_USE_GENERIC_WATCHPOINTS
|
||||
#define I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
|
||||
#include "i386/nm-i386.h"
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
#ifdef HAVE_PT_GETDBREGS
|
||||
#define I386_USE_GENERIC_WATCHPOINTS
|
||||
#define I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
#endif
|
||||
|
||||
#include "i386/nm-i386.h"
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#define I386_USE_GENERIC_WATCHPOINTS
|
||||
#define I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
|
||||
#include "i386/nm-i386.h"
|
||||
|
||||
|
|
|
@ -24,8 +24,9 @@
|
|||
/* Targets should define this to use the generic x86 watchpoint support. */
|
||||
#ifdef I386_USE_GENERIC_WATCHPOINTS
|
||||
|
||||
/* Add watchpoint methods to the provided target_ops. Targets which call
|
||||
this should also define I386_WATCHPOINTS_IN_TARGET_VECTOR. */
|
||||
/* Add watchpoint methods to the provided target_ops.
|
||||
Targets which define I386_USE_GENERIC_WATCHPOINTS must
|
||||
call this function. */
|
||||
struct target_ops;
|
||||
void i386_use_watchpoints (struct target_ops *);
|
||||
|
||||
|
@ -66,60 +67,6 @@ extern int i386_remove_hw_breakpoint (struct bp_target_info *bp_tgt);
|
|||
|
||||
extern int i386_stopped_by_watchpoint (void);
|
||||
|
||||
#ifndef I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
|
||||
/* Returns the number of hardware watchpoints of type TYPE that we can
|
||||
set. Value is positive if we can set CNT watchpoints, zero if
|
||||
setting watchpoints of type TYPE is not supported, and negative if
|
||||
CNT is more than the maximum number of watchpoints of type TYPE
|
||||
that we can support. TYPE is one of bp_hardware_watchpoint,
|
||||
bp_read_watchpoint, bp_write_watchpoint, or bp_hardware_breakpoint.
|
||||
CNT is the number of such watchpoints used so far (including this
|
||||
one). OTHERTYPE is non-zero if other types of watchpoints are
|
||||
currently enabled.
|
||||
|
||||
We always return 1 here because we don't have enough information
|
||||
about possible overlap of addresses that they want to watch. As an
|
||||
extreme example, consider the case where all the watchpoints watch
|
||||
the same address and the same region length: then we can handle a
|
||||
virtually unlimited number of watchpoints, due to debug register
|
||||
sharing implemented via reference counts in i386-nat.c. */
|
||||
|
||||
#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) 1
|
||||
|
||||
/* Returns non-zero if we can use hardware watchpoints to watch a
|
||||
region whose address is ADDR and whose length is LEN. */
|
||||
|
||||
#define TARGET_REGION_OK_FOR_HW_WATCHPOINT(addr, len) \
|
||||
i386_region_ok_for_watchpoint (addr, len)
|
||||
|
||||
/* 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 1
|
||||
|
||||
#define STOPPED_BY_WATCHPOINT(W) (i386_stopped_by_watchpoint () != 0)
|
||||
|
||||
#define target_stopped_data_address(target, x) \
|
||||
i386_stopped_data_address(target, x)
|
||||
|
||||
/* Use these macros for watchpoint insertion/removal. */
|
||||
|
||||
#define target_insert_watchpoint(addr, len, type) \
|
||||
i386_insert_watchpoint (addr, len, type)
|
||||
|
||||
#define target_remove_watchpoint(addr, len, type) \
|
||||
i386_remove_watchpoint (addr, len, type)
|
||||
|
||||
#define target_insert_hw_breakpoint(bp_tgt) \
|
||||
i386_insert_hw_breakpoint (bp_tgt)
|
||||
|
||||
#define target_remove_hw_breakpoint(bp_tgt) \
|
||||
i386_remove_hw_breakpoint (bp_tgt)
|
||||
|
||||
#endif /* I386_WATCHPOINTS_IN_TARGET_VECTOR */
|
||||
|
||||
#endif /* I386_USE_GENERIC_WATCHPOINTS */
|
||||
|
||||
#endif /* NM_I386_H */
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
/* GNU/Linux supports the i386 hardware debugging registers. */
|
||||
#define I386_USE_GENERIC_WATCHPOINTS
|
||||
#define I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
|
||||
#include "i386/nm-i386.h"
|
||||
#include "config/nm-linux.h"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
|
||||
/* GNU/Linux supports the i386 hardware debugging registers. */
|
||||
#define I386_USE_GENERIC_WATCHPOINTS
|
||||
#define I386_WATCHPOINTS_IN_TARGET_VECTOR
|
||||
|
||||
#include "i386/nm-i386.h"
|
||||
#include "config/nm-linux.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue