+2014-06-19 Gary Benson <gbenson@redhat.com>
+
+ * i386-nat.c (i386_dr_show): Renamed to
+ i386_show_dr and made static. All uses updated.
+ (i386_dr_length_and_rw_bits): Renamed to
+ i386_length_and_rw_bits and made static.
+ All uses updated.
+ (i386_dr_insert_aligned_watchpoint): Renamed to
+ i386_insert_aligned_watchpoint and made static.
+ All uses updated.
+ (i386_dr_remove_aligned_watchpoint): Renamed to
+ i386_remove_aligned_watchpoint and made static.
+ All uses updated.
+ (i386_dr_update_inferior_debug_regs): Renamed to
+ i386_update_inferior_debug_regs and made static.
+ All uses updated.
+ * nat/i386-dregs.h (i386_dr_show): Removed.
+ (i386_dr_length_and_rw_bits): Likewise.
+ (i386_dr_insert_aligned_watchpoint): Likewise.
+ (i386_dr_remove_aligned_watchpoint): Likewise.
+ (i386_dr_update_inferior_debug_regs): Likewise.
+
2014-06-19 Gary Benson <gbenson@redhat.com>
* configure.ac [AC_CHECK_FUNCS] <sigaltstack>: New check.
+2014-06-19 Gary Benson <gbenson@redhat.com>
+
+ * i386-low.c (i386_dr_show): Renamed to
+ i386_show_dr and made static. All uses updated.
+ (i386_dr_length_and_rw_bits): Renamed to
+ i386_length_and_rw_bits and made static.
+ All uses updated.
+ (i386_dr_insert_aligned_watchpoint): Renamed to
+ i386_insert_aligned_watchpoint and made static.
+ All uses updated.
+ (i386_dr_remove_aligned_watchpoint): Renamed to
+ i386_remove_aligned_watchpoint and made static.
+ All uses updated.
+ (i386_dr_update_inferior_debug_regs): Renamed to
+ i386_update_inferior_debug_regs and made static.
+ All uses updated.
+
2014-06-18 Gary Benson <gbenson@redhat.com>
* i386-low.h (i386_dr_low_can_set_addr): New macro.
Currently, all watchpoint are locally enabled. If you need to
enable them globally, read the comment which pertains to this in
- i386_dr_insert_aligned_watchpoint below. */
+ i386_insert_aligned_watchpoint below. */
#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_ENABLE_SIZE 2 /* Two enable bits per debug register. */
/* Print the values of the mirrored debug registers. */
-void
-i386_dr_show (struct i386_debug_reg_state *state,
+static void
+i386_show_dr (struct i386_debug_reg_state *state,
const char *func, CORE_ADDR addr,
int len, enum target_hw_bp_type type)
{
region of LEN bytes for accesses of type TYPE. LEN is assumed to
have the value of 1, 2, or 4. */
-unsigned
-i386_dr_length_and_rw_bits (int len, enum target_hw_bp_type type)
+static unsigned
+i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
{
unsigned rw;
#endif
default:
internal_error (__FILE__, __LINE__, _("\
-Invalid hardware breakpoint type %d in i386_dr_length_and_rw_bits.\n"),
+Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"),
(int) type);
}
/* ELSE FALL THROUGH */
default:
internal_error (__FILE__, __LINE__, _("\
-Invalid hardware breakpoint length %d in i386_dr_length_and_rw_bits.\n"), len);
+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
success, -1 on failure. */
-int
-i386_dr_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
- CORE_ADDR addr, unsigned len_rw_bits)
+static int
+i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
+ CORE_ADDR addr, unsigned len_rw_bits)
{
int i;
type of the region watched by this watchpoint. Return 0 on
success, -1 on failure. */
-int
-i386_dr_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
- CORE_ADDR addr, unsigned len_rw_bits)
+static int
+i386_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
+ CORE_ADDR addr, unsigned len_rw_bits)
{
int i, retval = -1;
}
else
{
- unsigned len_rw = i386_dr_length_and_rw_bits (size, type);
+ unsigned len_rw = i386_length_and_rw_bits (size, type);
if (what == WP_INSERT)
- retval = i386_dr_insert_aligned_watchpoint (state, addr, len_rw);
+ retval = i386_insert_aligned_watchpoint (state, addr, len_rw);
else if (what == WP_REMOVE)
- retval = i386_dr_remove_aligned_watchpoint (state, addr, len_rw);
+ retval = i386_remove_aligned_watchpoint (state, addr, len_rw);
else
internal_error (__FILE__, __LINE__, _("\
Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
/* Update the inferior debug registers state, in STATE, with the
new debug registers state, in NEW_STATE. */
-void
-i386_dr_update_inferior_debug_regs (struct i386_debug_reg_state *state,
- struct i386_debug_reg_state *new_state)
+static void
+i386_update_inferior_debug_regs (struct i386_debug_reg_state *state,
+ struct i386_debug_reg_state *new_state)
{
int i;
}
else
{
- unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
+ unsigned len_rw = i386_length_and_rw_bits (len, type);
- retval = i386_dr_insert_aligned_watchpoint (&local_state,
+ retval = i386_insert_aligned_watchpoint (&local_state,
addr, len_rw);
}
if (retval == 0)
- i386_dr_update_inferior_debug_regs (state, &local_state);
+ i386_update_inferior_debug_regs (state, &local_state);
if (debug_hw_points)
- i386_dr_show (state, "insert_watchpoint", addr, len, type);
+ i386_show_dr (state, "insert_watchpoint", addr, len, type);
return retval;
}
}
else
{
- unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
+ unsigned len_rw = i386_length_and_rw_bits (len, type);
- retval = i386_dr_remove_aligned_watchpoint (&local_state,
+ retval = i386_remove_aligned_watchpoint (&local_state,
addr, len_rw);
}
if (retval == 0)
- i386_dr_update_inferior_debug_regs (state, &local_state);
+ i386_update_inferior_debug_regs (state, &local_state);
if (debug_hw_points)
- i386_dr_show (state, "remove_watchpoint", addr, len, type);
+ i386_show_dr (state, "remove_watchpoint", addr, len, type);
return retval;
}
addr = i386_dr_low_get_addr (i);
rc = 1;
if (debug_hw_points)
- i386_dr_show (state, "watchpoint_hit", addr, -1, hw_write);
+ i386_show_dr (state, "watchpoint_hit", addr, -1, hw_write);
}
}
if (debug_hw_points && addr == 0)
- i386_dr_show (state, "stopped_data_addr", 0, 0, hw_write);
+ i386_show_dr (state, "stopped_data_addr", 0, 0, hw_write);
if (rc)
*addr_p = addr;
Currently, all watchpoint are locally enabled. If you need to
enable them globally, read the comment which pertains to this in
- i386_dr_insert_aligned_watchpoint below. */
+ i386_insert_aligned_watchpoint below. */
#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_ENABLE_SIZE 2 /* Two enable bits per debug register. */
/* Print the values of the mirrored debug registers. */
-void
-i386_dr_show (struct i386_debug_reg_state *state,
+static void
+i386_show_dr (struct i386_debug_reg_state *state,
const char *func, CORE_ADDR addr,
int len, enum target_hw_bp_type type)
{
region of LEN bytes for accesses of type TYPE. LEN is assumed to
have the value of 1, 2, or 4. */
-unsigned
-i386_dr_length_and_rw_bits (int len, enum target_hw_bp_type type)
+static unsigned
+i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
{
unsigned rw;
#endif
default:
internal_error (__FILE__, __LINE__, _("\
-Invalid hardware breakpoint type %d in i386_dr_length_and_rw_bits.\n"),
+Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"),
(int) type);
}
/* ELSE FALL THROUGH */
default:
internal_error (__FILE__, __LINE__, _("\
-Invalid hardware breakpoint length %d in i386_dr_length_and_rw_bits.\n"), len);
+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
success, -1 on failure. */
-int
-i386_dr_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
- CORE_ADDR addr, unsigned len_rw_bits)
+static int
+i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
+ CORE_ADDR addr, unsigned len_rw_bits)
{
int i;
type of the region watched by this watchpoint. Return 0 on
success, -1 on failure. */
-int
-i386_dr_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
- CORE_ADDR addr, unsigned len_rw_bits)
+static int
+i386_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
+ CORE_ADDR addr, unsigned len_rw_bits)
{
int i, retval = -1;
}
else
{
- unsigned len_rw = i386_dr_length_and_rw_bits (size, type);
+ unsigned len_rw = i386_length_and_rw_bits (size, type);
if (what == WP_INSERT)
- retval = i386_dr_insert_aligned_watchpoint (state, addr, len_rw);
+ retval = i386_insert_aligned_watchpoint (state, addr, len_rw);
else if (what == WP_REMOVE)
- retval = i386_dr_remove_aligned_watchpoint (state, addr, len_rw);
+ retval = i386_remove_aligned_watchpoint (state, addr, len_rw);
else
internal_error (__FILE__, __LINE__, _("\
Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
/* Update the inferior debug registers state, in STATE, with the
new debug registers state, in NEW_STATE. */
-void
-i386_dr_update_inferior_debug_regs (struct i386_debug_reg_state *state,
- struct i386_debug_reg_state *new_state)
+static void
+i386_update_inferior_debug_regs (struct i386_debug_reg_state *state,
+ struct i386_debug_reg_state *new_state)
{
int i;
}
else
{
- unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
+ unsigned len_rw = i386_length_and_rw_bits (len, type);
- retval = i386_dr_insert_aligned_watchpoint (&local_state,
+ retval = i386_insert_aligned_watchpoint (&local_state,
addr, len_rw);
}
if (retval == 0)
- i386_dr_update_inferior_debug_regs (state, &local_state);
+ i386_update_inferior_debug_regs (state, &local_state);
if (debug_hw_points)
- i386_dr_show (state, "insert_watchpoint", addr, len, type);
+ i386_show_dr (state, "insert_watchpoint", addr, len, type);
return retval;
}
}
else
{
- unsigned len_rw = i386_dr_length_and_rw_bits (len, type);
+ unsigned len_rw = i386_length_and_rw_bits (len, type);
- retval = i386_dr_remove_aligned_watchpoint (&local_state,
+ retval = i386_remove_aligned_watchpoint (&local_state,
addr, len_rw);
}
if (retval == 0)
- i386_dr_update_inferior_debug_regs (state, &local_state);
+ i386_update_inferior_debug_regs (state, &local_state);
if (debug_hw_points)
- i386_dr_show (state, "remove_watchpoint", addr, len, type);
+ i386_show_dr (state, "remove_watchpoint", addr, len, type);
return retval;
}
addr = i386_dr_low_get_addr (i);
rc = 1;
if (debug_hw_points)
- i386_dr_show (state, "watchpoint_hit", addr, -1, hw_write);
+ i386_show_dr (state, "watchpoint_hit", addr, -1, hw_write);
}
}
if (debug_hw_points && addr == 0)
- i386_dr_show (state, "stopped_data_addr", 0, 0, hw_write);
+ i386_show_dr (state, "stopped_data_addr", 0, 0, hw_write);
if (rc)
*addr_p = addr;
{
struct i386_debug_reg_state *state
= i386_debug_reg_state (ptid_get_pid (inferior_ptid));
- unsigned len_rw = i386_dr_length_and_rw_bits (1, hw_execute);
+ unsigned len_rw = i386_length_and_rw_bits (1, hw_execute);
CORE_ADDR addr = bp_tgt->placed_address;
/* Work on a local copy of the debug registers, and on success,
commit the change back to the inferior. */
struct i386_debug_reg_state local_state = *state;
- int retval = i386_dr_insert_aligned_watchpoint (&local_state,
- addr,
- len_rw) ? EBUSY : 0;
+ int retval = i386_insert_aligned_watchpoint (&local_state,
+ addr, len_rw) ? EBUSY : 0;
if (retval == 0)
- i386_dr_update_inferior_debug_regs (state, &local_state);
+ i386_update_inferior_debug_regs (state, &local_state);
if (debug_hw_points)
- i386_dr_show (state, "insert_hwbp", addr, 1, hw_execute);
+ i386_show_dr (state, "insert_hwbp", addr, 1, hw_execute);
return retval;
}
{
struct i386_debug_reg_state *state
= i386_debug_reg_state (ptid_get_pid (inferior_ptid));
- unsigned len_rw = i386_dr_length_and_rw_bits (1, hw_execute);
+ unsigned len_rw = i386_length_and_rw_bits (1, hw_execute);
CORE_ADDR addr = bp_tgt->placed_address;
/* Work on a local copy of the debug registers, and on success,
commit the change back to the inferior. */
struct i386_debug_reg_state local_state = *state;
- int retval = i386_dr_remove_aligned_watchpoint (&local_state,
- addr, len_rw);
+ int retval = i386_remove_aligned_watchpoint (&local_state,
+ addr, len_rw);
if (retval == 0)
- i386_dr_update_inferior_debug_regs (state, &local_state);
+ i386_update_inferior_debug_regs (state, &local_state);
if (debug_hw_points)
- i386_dr_show (state, "remove_hwbp", addr, 1, hw_execute);
+ i386_show_dr (state, "remove_hwbp", addr, 1, hw_execute);
return retval;
}
/* A macro to loop over all debug registers. */
#define ALL_DEBUG_REGISTERS(i) for (i = 0; i < DR_NADDR; i++)
-\f
-/* High-level functions. */
/* Insert a watchpoint to watch a memory region which starts at
address ADDR and whose length is LEN bytes. Watch memory accesses
/* Return true if the inferior has some watchpoint that triggered.
Otherwise return false. */
extern int i386_dr_stopped_by_watchpoint (struct i386_debug_reg_state *state);
-\f
-/* Low-level functions. */
-
-/* Print the values of the mirrored debug registers. */
-
-extern void i386_dr_show (struct i386_debug_reg_state *state,
- const char *func, CORE_ADDR addr,
- int len, enum target_hw_bp_type type);
-
-/* Return the value of a 4-bit field for DR7 suitable for watching a
- region of LEN bytes for accesses of type TYPE. LEN is assumed to
- have the value of 1, 2, or 4. */
-
-extern unsigned i386_dr_length_and_rw_bits (int len,
- enum target_hw_bp_type type);
-
-/* Insert a watchpoint at address ADDR, which is assumed to be aligned
- according to the length of the region to watch. LEN_RW_BITS is the
- value of the bits from DR7 which describes the length and access
- type of the region to be watched by this watchpoint. Return 0 on
- success, -1 on failure. */
-
-extern int i386_dr_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
- CORE_ADDR addr,
- unsigned len_rw_bits);
-
-/* Remove a watchpoint at address ADDR, which is assumed to be aligned
- according to the length of the region to watch. LEN_RW_BITS is the
- value of the bits from DR7 which describes the length and access
- type of the region watched by this watchpoint. Return 0 on
- success, -1 on failure. */
-
-extern int i386_dr_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
- CORE_ADDR addr,
- unsigned len_rw_bits);
-
-/* Update the inferior debug registers state, in STATE, with the
- new debug registers state, in NEW_STATE. */
-
-extern void i386_dr_update_inferior_debug_regs (struct i386_debug_reg_state *state,
- struct i386_debug_reg_state *new_state);
#endif /* I386_DREGS_H */