mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-29 16:38:05 +08:00
Rename functions and make nonstatic as necessary
This commit renames the functions that are to be shared. Functions to be shared that were static are made nonstatic. gdb/ 2014-06-18 Gary Benson <gbenson@redhat.com> * i386-nat.c (i386_show_dr): Renamed to i386_dr_show and made nonstatic. All uses updated. (i386_length_and_rw_bits): Renamed to i386_dr_length_and_rw_bits and made nonstatic. All uses updated. (i386_insert_aligned_watchpoint): Renamed to i386_dr_insert_aligned_watchpoint and made nonstatic. All uses updated. (i386_remove_aligned_watchpoint): Renamed to i386_dr_remove_aligned_watchpoint and made nonstatic. All uses updated. (i386_update_inferior_debug_regs): Renamed to i386_dr_update_inferior_debug_regs and made nonstatic. All uses updated. gdb/gdbserver/ 2014-06-18 Gary Benson <gbenson@redhat.com> * i386-low.h (i386_low_insert_watchpoint): Renamed to i386_dr_insert_watchpoint. (i386_low_remove_watchpoint): Renamed to i386_dr_remove_watchpoint. (i386_low_region_ok_for_watchpoint): Renamed to i386_dr_region_ok_for_watchpoint. (i386_low_stopped_data_address): Renamed to i386_dr_stopped_data_address. (i386_low_stopped_by_watchpoint): Renamed to i386_dr_stopped_by_watchpoint. * i386-low.c (i386_show_dr): Renamed to i386_dr_show and made nonstatic. All uses updated. (i386_length_and_rw_bits): Renamed to i386_dr_length_and_rw_bits and made nonstatic. All uses updated. (i386_insert_aligned_watchpoint): Renamed to i386_dr_insert_aligned_watchpoint and made nonstatic. All uses updated. (i386_remove_aligned_watchpoint): Renamed to i386_dr_remove_aligned_watchpoint and made nonstatic. All uses updated. (i386_update_inferior_debug_regs): Renamed to i386_dr_update_inferior_debug_regs and made nonstatic. All uses updated. (i386_low_insert_watchpoint): Renamed to i386_dr_insert_watchpoint. All uses updated. (i386_low_remove_watchpoint): Renamed to i386_dr_remove_watchpoint. All uses updated. (i386_low_region_ok_for_watchpoint): Renamed to i386_dr_region_ok_for_watchpoint. All uses updated. (i386_low_stopped_data_address): Renamed to i386_dr_stopped_data_address. All uses updated. (i386_low_stopped_by_watchpoint): Renamed to i386_dr_stopped_by_watchpoint. All uses updated.
This commit is contained in:
@ -1,3 +1,20 @@
|
|||||||
|
2014-06-18 Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
|
* i386-nat.c (i386_show_dr): Renamed to
|
||||||
|
i386_dr_show and made nonstatic. All uses updated.
|
||||||
|
(i386_length_and_rw_bits): Renamed to
|
||||||
|
i386_dr_length_and_rw_bits and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
(i386_insert_aligned_watchpoint): Renamed to
|
||||||
|
i386_dr_insert_aligned_watchpoint and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
(i386_remove_aligned_watchpoint): Renamed to
|
||||||
|
i386_dr_remove_aligned_watchpoint and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
(i386_update_inferior_debug_regs): Renamed to
|
||||||
|
i386_dr_update_inferior_debug_regs and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
|
||||||
2014-06-18 Gary Benson <gbenson@redhat.com>
|
2014-06-18 Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
* i386-nat.c (i386_dr_low_can_set_addr): New macro.
|
* i386-nat.c (i386_dr_low_can_set_addr): New macro.
|
||||||
|
@ -1,3 +1,40 @@
|
|||||||
|
2014-06-18 Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
|
* i386-low.h (i386_low_insert_watchpoint): Renamed to
|
||||||
|
i386_dr_insert_watchpoint.
|
||||||
|
(i386_low_remove_watchpoint): Renamed to
|
||||||
|
i386_dr_remove_watchpoint.
|
||||||
|
(i386_low_region_ok_for_watchpoint): Renamed to
|
||||||
|
i386_dr_region_ok_for_watchpoint.
|
||||||
|
(i386_low_stopped_data_address): Renamed to
|
||||||
|
i386_dr_stopped_data_address.
|
||||||
|
(i386_low_stopped_by_watchpoint): Renamed to
|
||||||
|
i386_dr_stopped_by_watchpoint.
|
||||||
|
* i386-low.c (i386_show_dr): Renamed to
|
||||||
|
i386_dr_show and made nonstatic. All uses updated.
|
||||||
|
(i386_length_and_rw_bits): Renamed to
|
||||||
|
i386_dr_length_and_rw_bits and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
(i386_insert_aligned_watchpoint): Renamed to
|
||||||
|
i386_dr_insert_aligned_watchpoint and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
(i386_remove_aligned_watchpoint): Renamed to
|
||||||
|
i386_dr_remove_aligned_watchpoint and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
(i386_update_inferior_debug_regs): Renamed to
|
||||||
|
i386_dr_update_inferior_debug_regs and made nonstatic.
|
||||||
|
All uses updated.
|
||||||
|
(i386_low_insert_watchpoint): Renamed to
|
||||||
|
i386_dr_insert_watchpoint. All uses updated.
|
||||||
|
(i386_low_remove_watchpoint): Renamed to
|
||||||
|
i386_dr_remove_watchpoint. All uses updated.
|
||||||
|
(i386_low_region_ok_for_watchpoint): Renamed to
|
||||||
|
i386_dr_region_ok_for_watchpoint. All uses updated.
|
||||||
|
(i386_low_stopped_data_address): Renamed to
|
||||||
|
i386_dr_stopped_data_address. All uses updated.
|
||||||
|
(i386_low_stopped_by_watchpoint): Renamed to
|
||||||
|
i386_dr_stopped_by_watchpoint. All uses updated.
|
||||||
|
|
||||||
2014-06-18 Gary Benson <gbenson@redhat.com>
|
2014-06-18 Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
* i386-low.c (i386_dr_low_can_set_addr): New macro.
|
* i386-low.c (i386_dr_low_can_set_addr): New macro.
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
Currently, all watchpoint are locally enabled. If you need to
|
Currently, all watchpoint are locally enabled. If you need to
|
||||||
enable them globally, read the comment which pertains to this in
|
enable them globally, read the comment which pertains to this in
|
||||||
i386_insert_aligned_watchpoint below. */
|
i386_dr_insert_aligned_watchpoint below. */
|
||||||
#define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit. */
|
#define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit. */
|
||||||
#define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit. */
|
#define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit. */
|
||||||
#define DR_ENABLE_SIZE 2 /* Two enable bits per debug register. */
|
#define DR_ENABLE_SIZE 2 /* Two enable bits per debug register. */
|
||||||
@ -173,8 +173,8 @@ i386_low_init_dregs (struct i386_debug_reg_state *state)
|
|||||||
|
|
||||||
/* Print the values of the mirrored debug registers. */
|
/* Print the values of the mirrored debug registers. */
|
||||||
|
|
||||||
static void
|
void
|
||||||
i386_show_dr (struct i386_debug_reg_state *state,
|
i386_dr_show (struct i386_debug_reg_state *state,
|
||||||
const char *func, CORE_ADDR addr,
|
const char *func, CORE_ADDR addr,
|
||||||
int len, enum target_hw_bp_type type)
|
int len, enum target_hw_bp_type type)
|
||||||
{
|
{
|
||||||
@ -214,8 +214,8 @@ i386_show_dr (struct i386_debug_reg_state *state,
|
|||||||
region of LEN bytes for accesses of type TYPE. LEN is assumed to
|
region of LEN bytes for accesses of type TYPE. LEN is assumed to
|
||||||
have the value of 1, 2, or 4. */
|
have the value of 1, 2, or 4. */
|
||||||
|
|
||||||
static unsigned
|
unsigned
|
||||||
i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
|
i386_dr_length_and_rw_bits (int len, enum target_hw_bp_type type)
|
||||||
{
|
{
|
||||||
unsigned rw;
|
unsigned rw;
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
|
|||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
internal_error (__FILE__, __LINE__, _("\
|
internal_error (__FILE__, __LINE__, _("\
|
||||||
Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"),
|
Invalid hardware breakpoint type %d in i386_dr_length_and_rw_bits.\n"),
|
||||||
(int) type);
|
(int) type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"),
|
|||||||
/* ELSE FALL THROUGH */
|
/* ELSE FALL THROUGH */
|
||||||
default:
|
default:
|
||||||
internal_error (__FILE__, __LINE__, _("\
|
internal_error (__FILE__, __LINE__, _("\
|
||||||
Invalid hardware breakpoint length %d in i386_length_and_rw_bits.\n"), len);
|
Invalid hardware breakpoint length %d in i386_dr_length_and_rw_bits.\n"), len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,8 +270,8 @@ Invalid hardware breakpoint length %d in i386_length_and_rw_bits.\n"), len);
|
|||||||
type of the region to be watched by this watchpoint. Return 0 on
|
type of the region to be watched by this watchpoint. Return 0 on
|
||||||
success, -1 on failure. */
|
success, -1 on failure. */
|
||||||
|
|
||||||
static int
|
int
|
||||||
i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
|
i386_dr_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR addr, unsigned len_rw_bits)
|
CORE_ADDR addr, unsigned len_rw_bits)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -330,8 +330,8 @@ i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
type of the region watched by this watchpoint. Return 0 on
|
type of the region watched by this watchpoint. Return 0 on
|
||||||
success, -1 on failure. */
|
success, -1 on failure. */
|
||||||
|
|
||||||
static int
|
int
|
||||||
i386_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
|
i386_dr_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR addr, unsigned len_rw_bits)
|
CORE_ADDR addr, unsigned len_rw_bits)
|
||||||
{
|
{
|
||||||
int i, retval = -1;
|
int i, retval = -1;
|
||||||
@ -402,12 +402,12 @@ i386_handle_nonaligned_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned len_rw = i386_length_and_rw_bits (size, type);
|
unsigned len_rw = i386_dr_length_and_rw_bits (size, type);
|
||||||
|
|
||||||
if (what == WP_INSERT)
|
if (what == WP_INSERT)
|
||||||
retval = i386_insert_aligned_watchpoint (state, addr, len_rw);
|
retval = i386_dr_insert_aligned_watchpoint (state, addr, len_rw);
|
||||||
else if (what == WP_REMOVE)
|
else if (what == WP_REMOVE)
|
||||||
retval = i386_remove_aligned_watchpoint (state, addr, len_rw);
|
retval = i386_dr_remove_aligned_watchpoint (state, addr, len_rw);
|
||||||
else
|
else
|
||||||
internal_error (__FILE__, __LINE__, _("\
|
internal_error (__FILE__, __LINE__, _("\
|
||||||
Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
|
Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
|
||||||
@ -426,8 +426,8 @@ Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
|
|||||||
/* Update the inferior debug registers state, in STATE, with the
|
/* Update the inferior debug registers state, in STATE, with the
|
||||||
new debug registers state, in NEW_STATE. */
|
new debug registers state, in NEW_STATE. */
|
||||||
|
|
||||||
static void
|
void
|
||||||
i386_update_inferior_debug_regs (struct i386_debug_reg_state *state,
|
i386_dr_update_inferior_debug_regs (struct i386_debug_reg_state *state,
|
||||||
struct i386_debug_reg_state *new_state)
|
struct i386_debug_reg_state *new_state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -451,7 +451,7 @@ i386_update_inferior_debug_regs (struct i386_debug_reg_state *state,
|
|||||||
of the type TYPE. Return 0 on success, -1 on failure. */
|
of the type TYPE. Return 0 on success, -1 on failure. */
|
||||||
|
|
||||||
int
|
int
|
||||||
i386_low_insert_watchpoint (struct i386_debug_reg_state *state,
|
i386_dr_insert_watchpoint (struct i386_debug_reg_state *state,
|
||||||
enum target_hw_bp_type type,
|
enum target_hw_bp_type type,
|
||||||
CORE_ADDR addr, int len)
|
CORE_ADDR addr, int len)
|
||||||
{
|
{
|
||||||
@ -473,17 +473,17 @@ i386_low_insert_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned len_rw = i386_length_and_rw_bits (len, type);
|
unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
|
||||||
|
|
||||||
retval = i386_insert_aligned_watchpoint (&local_state,
|
retval = i386_dr_insert_aligned_watchpoint (&local_state,
|
||||||
addr, len_rw);
|
addr, len_rw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (retval == 0)
|
if (retval == 0)
|
||||||
i386_update_inferior_debug_regs (state, &local_state);
|
i386_dr_update_inferior_debug_regs (state, &local_state);
|
||||||
|
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "insert_watchpoint", addr, len, type);
|
i386_dr_show (state, "insert_watchpoint", addr, len, type);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@ -493,7 +493,7 @@ i386_low_insert_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
type TYPE. Return 0 on success, -1 on failure. */
|
type TYPE. Return 0 on success, -1 on failure. */
|
||||||
|
|
||||||
int
|
int
|
||||||
i386_low_remove_watchpoint (struct i386_debug_reg_state *state,
|
i386_dr_remove_watchpoint (struct i386_debug_reg_state *state,
|
||||||
enum target_hw_bp_type type,
|
enum target_hw_bp_type type,
|
||||||
CORE_ADDR addr, int len)
|
CORE_ADDR addr, int len)
|
||||||
{
|
{
|
||||||
@ -512,17 +512,17 @@ i386_low_remove_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned len_rw = i386_length_and_rw_bits (len, type);
|
unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
|
||||||
|
|
||||||
retval = i386_remove_aligned_watchpoint (&local_state,
|
retval = i386_dr_remove_aligned_watchpoint (&local_state,
|
||||||
addr, len_rw);
|
addr, len_rw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (retval == 0)
|
if (retval == 0)
|
||||||
i386_update_inferior_debug_regs (state, &local_state);
|
i386_dr_update_inferior_debug_regs (state, &local_state);
|
||||||
|
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "remove_watchpoint", addr, len, type);
|
i386_dr_show (state, "remove_watchpoint", addr, len, type);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@ -531,7 +531,7 @@ i386_low_remove_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
address ADDR and whose length is LEN bytes. */
|
address ADDR and whose length is LEN bytes. */
|
||||||
|
|
||||||
int
|
int
|
||||||
i386_low_region_ok_for_watchpoint (struct i386_debug_reg_state *state,
|
i386_dr_region_ok_for_watchpoint (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR addr, int len)
|
CORE_ADDR addr, int len)
|
||||||
{
|
{
|
||||||
int nregs;
|
int nregs;
|
||||||
@ -548,7 +548,7 @@ i386_low_region_ok_for_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
Otherwise, return zero. */
|
Otherwise, return zero. */
|
||||||
|
|
||||||
int
|
int
|
||||||
i386_low_stopped_data_address (struct i386_debug_reg_state *state,
|
i386_dr_stopped_data_address (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR *addr_p)
|
CORE_ADDR *addr_p)
|
||||||
{
|
{
|
||||||
CORE_ADDR addr = 0;
|
CORE_ADDR addr = 0;
|
||||||
@ -612,12 +612,12 @@ i386_low_stopped_data_address (struct i386_debug_reg_state *state,
|
|||||||
addr = i386_dr_low_get_addr (i);
|
addr = i386_dr_low_get_addr (i);
|
||||||
rc = 1;
|
rc = 1;
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "watchpoint_hit", addr, -1, hw_write);
|
i386_dr_show (state, "watchpoint_hit", addr, -1, hw_write);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug_hw_points && addr == 0)
|
if (debug_hw_points && addr == 0)
|
||||||
i386_show_dr (state, "stopped_data_addr", 0, 0, hw_write);
|
i386_dr_show (state, "stopped_data_addr", 0, 0, hw_write);
|
||||||
|
|
||||||
if (rc)
|
if (rc)
|
||||||
*addr_p = addr;
|
*addr_p = addr;
|
||||||
@ -628,8 +628,8 @@ i386_low_stopped_data_address (struct i386_debug_reg_state *state,
|
|||||||
Otherwise return zero. */
|
Otherwise return zero. */
|
||||||
|
|
||||||
int
|
int
|
||||||
i386_low_stopped_by_watchpoint (struct i386_debug_reg_state *state)
|
i386_dr_stopped_by_watchpoint (struct i386_debug_reg_state *state)
|
||||||
{
|
{
|
||||||
CORE_ADDR addr = 0;
|
CORE_ADDR addr = 0;
|
||||||
return i386_low_stopped_data_address (state, &addr);
|
return i386_dr_stopped_data_address (state, &addr);
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ extern void i386_low_init_dregs (struct i386_debug_reg_state *state);
|
|||||||
/* Insert a watchpoint to watch a memory region which starts at
|
/* Insert a watchpoint to watch a memory region which starts at
|
||||||
address ADDR and whose length is LEN bytes. Watch memory accesses
|
address ADDR and whose length is LEN bytes. Watch memory accesses
|
||||||
of the type TYPE. Return 0 on success, -1 on failure. */
|
of the type TYPE. Return 0 on success, -1 on failure. */
|
||||||
extern int i386_low_insert_watchpoint (struct i386_debug_reg_state *state,
|
extern int i386_dr_insert_watchpoint (struct i386_debug_reg_state *state,
|
||||||
enum target_hw_bp_type type,
|
enum target_hw_bp_type type,
|
||||||
CORE_ADDR addr,
|
CORE_ADDR addr,
|
||||||
int len);
|
int len);
|
||||||
@ -66,25 +66,25 @@ extern int i386_low_insert_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
/* Remove a watchpoint that watched the memory region which starts at
|
/* Remove a watchpoint that watched the memory region which starts at
|
||||||
address ADDR, whose length is LEN bytes, and for accesses of the
|
address ADDR, whose length is LEN bytes, and for accesses of the
|
||||||
type TYPE. Return 0 on success, -1 on failure. */
|
type TYPE. Return 0 on success, -1 on failure. */
|
||||||
extern int i386_low_remove_watchpoint (struct i386_debug_reg_state *state,
|
extern int i386_dr_remove_watchpoint (struct i386_debug_reg_state *state,
|
||||||
enum target_hw_bp_type type,
|
enum target_hw_bp_type type,
|
||||||
CORE_ADDR addr,
|
CORE_ADDR addr,
|
||||||
int len);
|
int len);
|
||||||
|
|
||||||
/* Return non-zero if we can watch a memory region that starts at
|
/* Return non-zero if we can watch a memory region that starts at
|
||||||
address ADDR and whose length is LEN bytes. */
|
address ADDR and whose length is LEN bytes. */
|
||||||
extern int i386_low_region_ok_for_watchpoint (struct i386_debug_reg_state *state,
|
extern int i386_dr_region_ok_for_watchpoint (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR addr, int len);
|
CORE_ADDR addr, int len);
|
||||||
|
|
||||||
/* If the inferior has some break/watchpoint that triggered, set the
|
/* If the inferior has some break/watchpoint that triggered, set the
|
||||||
address associated with that break/watchpoint and return true.
|
address associated with that break/watchpoint and return true.
|
||||||
Otherwise, return false. */
|
Otherwise, return false. */
|
||||||
extern int i386_low_stopped_data_address (struct i386_debug_reg_state *state,
|
extern int i386_dr_stopped_data_address (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR *addr_p);
|
CORE_ADDR *addr_p);
|
||||||
|
|
||||||
/* Return true if the inferior has some watchpoint that triggered.
|
/* Return true if the inferior has some watchpoint that triggered.
|
||||||
Otherwise return false. */
|
Otherwise return false. */
|
||||||
extern int i386_low_stopped_by_watchpoint (struct i386_debug_reg_state *state);
|
extern int i386_dr_stopped_by_watchpoint (struct i386_debug_reg_state *state);
|
||||||
|
|
||||||
/* Each target needs to provide several low-level functions
|
/* Each target needs to provide several low-level functions
|
||||||
that will be called to insert watchpoints and hardware breakpoints
|
that will be called to insert watchpoints and hardware breakpoints
|
||||||
|
@ -681,7 +681,7 @@ x86_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
|||||||
struct i386_debug_reg_state *state
|
struct i386_debug_reg_state *state
|
||||||
= &proc->private->arch_private->debug_reg_state;
|
= &proc->private->arch_private->debug_reg_state;
|
||||||
|
|
||||||
return i386_low_insert_watchpoint (state, hw_type, addr, size);
|
return i386_dr_insert_watchpoint (state, hw_type, addr, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -710,7 +710,7 @@ x86_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
|||||||
struct i386_debug_reg_state *state
|
struct i386_debug_reg_state *state
|
||||||
= &proc->private->arch_private->debug_reg_state;
|
= &proc->private->arch_private->debug_reg_state;
|
||||||
|
|
||||||
return i386_low_remove_watchpoint (state, hw_type, addr, size);
|
return i386_dr_remove_watchpoint (state, hw_type, addr, size);
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
/* Unsupported. */
|
/* Unsupported. */
|
||||||
@ -722,7 +722,7 @@ static int
|
|||||||
x86_stopped_by_watchpoint (void)
|
x86_stopped_by_watchpoint (void)
|
||||||
{
|
{
|
||||||
struct process_info *proc = current_process ();
|
struct process_info *proc = current_process ();
|
||||||
return i386_low_stopped_by_watchpoint (&proc->private->arch_private->debug_reg_state);
|
return i386_dr_stopped_by_watchpoint (&proc->private->arch_private->debug_reg_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static CORE_ADDR
|
static CORE_ADDR
|
||||||
@ -730,7 +730,7 @@ x86_stopped_data_address (void)
|
|||||||
{
|
{
|
||||||
struct process_info *proc = current_process ();
|
struct process_info *proc = current_process ();
|
||||||
CORE_ADDR addr;
|
CORE_ADDR addr;
|
||||||
if (i386_low_stopped_data_address (&proc->private->arch_private->debug_reg_state,
|
if (i386_dr_stopped_data_address (&proc->private->arch_private->debug_reg_state,
|
||||||
&addr))
|
&addr))
|
||||||
return addr;
|
return addr;
|
||||||
return 0;
|
return 0;
|
||||||
@ -784,7 +784,7 @@ x86_linux_prepare_to_resume (struct lwp_info *lwp)
|
|||||||
|
|
||||||
/* If we're setting a watchpoint, any change the inferior
|
/* If we're setting a watchpoint, any change the inferior
|
||||||
had done itself to the debug registers needs to be
|
had done itself to the debug registers needs to be
|
||||||
discarded, otherwise, i386_low_stopped_data_address can
|
discarded, otherwise, i386_dr_stopped_data_address can
|
||||||
get confused. */
|
get confused. */
|
||||||
clear_status = 1;
|
clear_status = 1;
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ i386_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
|||||||
enum target_hw_bp_type hw_type
|
enum target_hw_bp_type hw_type
|
||||||
= raw_bkpt_type_to_target_hw_bp_type (type);
|
= raw_bkpt_type_to_target_hw_bp_type (type);
|
||||||
|
|
||||||
return i386_low_insert_watchpoint (&debug_reg_state,
|
return i386_dr_insert_watchpoint (&debug_reg_state,
|
||||||
hw_type, addr, size);
|
hw_type, addr, size);
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -143,7 +143,7 @@ i386_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
|||||||
enum target_hw_bp_type hw_type
|
enum target_hw_bp_type hw_type
|
||||||
= raw_bkpt_type_to_target_hw_bp_type (type);
|
= raw_bkpt_type_to_target_hw_bp_type (type);
|
||||||
|
|
||||||
return i386_low_remove_watchpoint (&debug_reg_state,
|
return i386_dr_remove_watchpoint (&debug_reg_state,
|
||||||
hw_type, addr, size);
|
hw_type, addr, size);
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -155,14 +155,14 @@ i386_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
|||||||
static int
|
static int
|
||||||
i386_stopped_by_watchpoint (void)
|
i386_stopped_by_watchpoint (void)
|
||||||
{
|
{
|
||||||
return i386_low_stopped_by_watchpoint (&debug_reg_state);
|
return i386_dr_stopped_by_watchpoint (&debug_reg_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static CORE_ADDR
|
static CORE_ADDR
|
||||||
i386_stopped_data_address (void)
|
i386_stopped_data_address (void)
|
||||||
{
|
{
|
||||||
CORE_ADDR addr;
|
CORE_ADDR addr;
|
||||||
if (i386_low_stopped_data_address (&debug_reg_state, &addr))
|
if (i386_dr_stopped_data_address (&debug_reg_state, &addr))
|
||||||
return addr;
|
return addr;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,7 @@ struct i386_dr_low_type i386_dr_low;
|
|||||||
|
|
||||||
Currently, all watchpoint are locally enabled. If you need to
|
Currently, all watchpoint are locally enabled. If you need to
|
||||||
enable them globally, read the comment which pertains to this in
|
enable them globally, read the comment which pertains to this in
|
||||||
i386_insert_aligned_watchpoint below. */
|
i386_dr_insert_aligned_watchpoint below. */
|
||||||
#define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit. */
|
#define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit. */
|
||||||
#define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit. */
|
#define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit. */
|
||||||
#define DR_ENABLE_SIZE 2 /* Two enable bits per debug register. */
|
#define DR_ENABLE_SIZE 2 /* Two enable bits per debug register. */
|
||||||
@ -289,8 +289,8 @@ i386_cleanup_dregs (void)
|
|||||||
|
|
||||||
/* Print the values of the mirrored debug registers. */
|
/* Print the values of the mirrored debug registers. */
|
||||||
|
|
||||||
static void
|
void
|
||||||
i386_show_dr (struct i386_debug_reg_state *state,
|
i386_dr_show (struct i386_debug_reg_state *state,
|
||||||
const char *func, CORE_ADDR addr,
|
const char *func, CORE_ADDR addr,
|
||||||
int len, enum target_hw_bp_type type)
|
int len, enum target_hw_bp_type type)
|
||||||
{
|
{
|
||||||
@ -330,8 +330,8 @@ i386_show_dr (struct i386_debug_reg_state *state,
|
|||||||
region of LEN bytes for accesses of type TYPE. LEN is assumed to
|
region of LEN bytes for accesses of type TYPE. LEN is assumed to
|
||||||
have the value of 1, 2, or 4. */
|
have the value of 1, 2, or 4. */
|
||||||
|
|
||||||
static unsigned
|
unsigned
|
||||||
i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
|
i386_dr_length_and_rw_bits (int len, enum target_hw_bp_type type)
|
||||||
{
|
{
|
||||||
unsigned rw;
|
unsigned rw;
|
||||||
|
|
||||||
@ -358,7 +358,7 @@ i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
|
|||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
internal_error (__FILE__, __LINE__, _("\
|
internal_error (__FILE__, __LINE__, _("\
|
||||||
Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"),
|
Invalid hardware breakpoint type %d in i386_dr_length_and_rw_bits.\n"),
|
||||||
(int) type);
|
(int) type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,7 +376,7 @@ Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"),
|
|||||||
/* ELSE FALL THROUGH */
|
/* ELSE FALL THROUGH */
|
||||||
default:
|
default:
|
||||||
internal_error (__FILE__, __LINE__, _("\
|
internal_error (__FILE__, __LINE__, _("\
|
||||||
Invalid hardware breakpoint length %d in i386_length_and_rw_bits.\n"), len);
|
Invalid hardware breakpoint length %d in i386_dr_length_and_rw_bits.\n"), len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -386,8 +386,8 @@ Invalid hardware breakpoint length %d in i386_length_and_rw_bits.\n"), len);
|
|||||||
type of the region to be watched by this watchpoint. Return 0 on
|
type of the region to be watched by this watchpoint. Return 0 on
|
||||||
success, -1 on failure. */
|
success, -1 on failure. */
|
||||||
|
|
||||||
static int
|
int
|
||||||
i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
|
i386_dr_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR addr, unsigned len_rw_bits)
|
CORE_ADDR addr, unsigned len_rw_bits)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -446,8 +446,8 @@ i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
type of the region watched by this watchpoint. Return 0 on
|
type of the region watched by this watchpoint. Return 0 on
|
||||||
success, -1 on failure. */
|
success, -1 on failure. */
|
||||||
|
|
||||||
static int
|
int
|
||||||
i386_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
|
i386_dr_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
|
||||||
CORE_ADDR addr, unsigned len_rw_bits)
|
CORE_ADDR addr, unsigned len_rw_bits)
|
||||||
{
|
{
|
||||||
int i, retval = -1;
|
int i, retval = -1;
|
||||||
@ -518,12 +518,12 @@ i386_handle_nonaligned_watchpoint (struct i386_debug_reg_state *state,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned len_rw = i386_length_and_rw_bits (size, type);
|
unsigned len_rw = i386_dr_length_and_rw_bits (size, type);
|
||||||
|
|
||||||
if (what == WP_INSERT)
|
if (what == WP_INSERT)
|
||||||
retval = i386_insert_aligned_watchpoint (state, addr, len_rw);
|
retval = i386_dr_insert_aligned_watchpoint (state, addr, len_rw);
|
||||||
else if (what == WP_REMOVE)
|
else if (what == WP_REMOVE)
|
||||||
retval = i386_remove_aligned_watchpoint (state, addr, len_rw);
|
retval = i386_dr_remove_aligned_watchpoint (state, addr, len_rw);
|
||||||
else
|
else
|
||||||
internal_error (__FILE__, __LINE__, _("\
|
internal_error (__FILE__, __LINE__, _("\
|
||||||
Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
|
Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
|
||||||
@ -542,8 +542,8 @@ Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
|
|||||||
/* Update the inferior debug registers state, in STATE, with the
|
/* Update the inferior debug registers state, in STATE, with the
|
||||||
new debug registers state, in NEW_STATE. */
|
new debug registers state, in NEW_STATE. */
|
||||||
|
|
||||||
static void
|
void
|
||||||
i386_update_inferior_debug_regs (struct i386_debug_reg_state *state,
|
i386_dr_update_inferior_debug_regs (struct i386_debug_reg_state *state,
|
||||||
struct i386_debug_reg_state *new_state)
|
struct i386_debug_reg_state *new_state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -591,17 +591,17 @@ i386_insert_watchpoint (struct target_ops *self,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned len_rw = i386_length_and_rw_bits (len, type);
|
unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
|
||||||
|
|
||||||
retval = i386_insert_aligned_watchpoint (&local_state,
|
retval = i386_dr_insert_aligned_watchpoint (&local_state,
|
||||||
addr, len_rw);
|
addr, len_rw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (retval == 0)
|
if (retval == 0)
|
||||||
i386_update_inferior_debug_regs (state, &local_state);
|
i386_dr_update_inferior_debug_regs (state, &local_state);
|
||||||
|
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "insert_watchpoint", addr, len, type);
|
i386_dr_show (state, "insert_watchpoint", addr, len, type);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@ -631,17 +631,17 @@ i386_remove_watchpoint (struct target_ops *self,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned len_rw = i386_length_and_rw_bits (len, type);
|
unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
|
||||||
|
|
||||||
retval = i386_remove_aligned_watchpoint (&local_state,
|
retval = i386_dr_remove_aligned_watchpoint (&local_state,
|
||||||
addr, len_rw);
|
addr, len_rw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (retval == 0)
|
if (retval == 0)
|
||||||
i386_update_inferior_debug_regs (state, &local_state);
|
i386_dr_update_inferior_debug_regs (state, &local_state);
|
||||||
|
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "remove_watchpoint", addr, len, type);
|
i386_dr_show (state, "remove_watchpoint", addr, len, type);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@ -734,12 +734,12 @@ i386_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
|
|||||||
addr = i386_dr_low_get_addr (i);
|
addr = i386_dr_low_get_addr (i);
|
||||||
rc = 1;
|
rc = 1;
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "watchpoint_hit", addr, -1, hw_write);
|
i386_dr_show (state, "watchpoint_hit", addr, -1, hw_write);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug_hw_points && addr == 0)
|
if (debug_hw_points && addr == 0)
|
||||||
i386_show_dr (state, "stopped_data_addr", 0, 0, hw_write);
|
i386_dr_show (state, "stopped_data_addr", 0, 0, hw_write);
|
||||||
|
|
||||||
if (rc)
|
if (rc)
|
||||||
*addr_p = addr;
|
*addr_p = addr;
|
||||||
@ -764,19 +764,20 @@ i386_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
|
|||||||
{
|
{
|
||||||
struct i386_debug_reg_state *state
|
struct i386_debug_reg_state *state
|
||||||
= i386_debug_reg_state (ptid_get_pid (inferior_ptid));
|
= i386_debug_reg_state (ptid_get_pid (inferior_ptid));
|
||||||
unsigned len_rw = i386_length_and_rw_bits (1, hw_execute);
|
unsigned len_rw = i386_dr_length_and_rw_bits (1, hw_execute);
|
||||||
CORE_ADDR addr = bp_tgt->placed_address;
|
CORE_ADDR addr = bp_tgt->placed_address;
|
||||||
/* Work on a local copy of the debug registers, and on success,
|
/* Work on a local copy of the debug registers, and on success,
|
||||||
commit the change back to the inferior. */
|
commit the change back to the inferior. */
|
||||||
struct i386_debug_reg_state local_state = *state;
|
struct i386_debug_reg_state local_state = *state;
|
||||||
int retval = i386_insert_aligned_watchpoint (&local_state,
|
int retval = i386_dr_insert_aligned_watchpoint (&local_state,
|
||||||
addr, len_rw) ? EBUSY : 0;
|
addr,
|
||||||
|
len_rw) ? EBUSY : 0;
|
||||||
|
|
||||||
if (retval == 0)
|
if (retval == 0)
|
||||||
i386_update_inferior_debug_regs (state, &local_state);
|
i386_dr_update_inferior_debug_regs (state, &local_state);
|
||||||
|
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "insert_hwbp", addr, 1, hw_execute);
|
i386_dr_show (state, "insert_hwbp", addr, 1, hw_execute);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@ -790,19 +791,19 @@ i386_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
|
|||||||
{
|
{
|
||||||
struct i386_debug_reg_state *state
|
struct i386_debug_reg_state *state
|
||||||
= i386_debug_reg_state (ptid_get_pid (inferior_ptid));
|
= i386_debug_reg_state (ptid_get_pid (inferior_ptid));
|
||||||
unsigned len_rw = i386_length_and_rw_bits (1, hw_execute);
|
unsigned len_rw = i386_dr_length_and_rw_bits (1, hw_execute);
|
||||||
CORE_ADDR addr = bp_tgt->placed_address;
|
CORE_ADDR addr = bp_tgt->placed_address;
|
||||||
/* Work on a local copy of the debug registers, and on success,
|
/* Work on a local copy of the debug registers, and on success,
|
||||||
commit the change back to the inferior. */
|
commit the change back to the inferior. */
|
||||||
struct i386_debug_reg_state local_state = *state;
|
struct i386_debug_reg_state local_state = *state;
|
||||||
int retval = i386_remove_aligned_watchpoint (&local_state,
|
int retval = i386_dr_remove_aligned_watchpoint (&local_state,
|
||||||
addr, len_rw);
|
addr, len_rw);
|
||||||
|
|
||||||
if (retval == 0)
|
if (retval == 0)
|
||||||
i386_update_inferior_debug_regs (state, &local_state);
|
i386_dr_update_inferior_debug_regs (state, &local_state);
|
||||||
|
|
||||||
if (debug_hw_points)
|
if (debug_hw_points)
|
||||||
i386_show_dr (state, "remove_hwbp", addr, 1, hw_execute);
|
i386_dr_show (state, "remove_hwbp", addr, 1, hw_execute);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user