aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/i386-low.c
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2014-06-17 11:32:58 +0100
committerGary Benson <gbenson@redhat.com>2014-06-18 10:15:17 +0100
commit1b6d4134c776d54513114199f1478f83894f490b (patch)
tree2ec954539c3c3502d9a58d63cd315d1c36a33d7a /gdb/gdbserver/i386-low.c
parent9b4550ef5e4223bf03a343dc8dd29285bf635e8b (diff)
downloadgdb-1b6d4134c776d54513114199f1478f83894f490b.zip
gdb-1b6d4134c776d54513114199f1478f83894f490b.tar.gz
gdb-1b6d4134c776d54513114199f1478f83894f490b.tar.bz2
Merge printing code
This commit synchronizes the debug printing code in i386-nat.c and i386-low.c. gdb/ 2014-06-18 Gary Benson <gbenson@redhat.com> * i386-nat.c (debug_printf): New macro. (i386_get_debug_register_length): Likewise. (TARGET_HAS_DR_LEN_8): Use above macro. (i386_show_dr): Use debug_printf instead of puts_unfiltered and printf_unfiltered. Use phex to format values. gdb/gdbserver/ 2014-06-18 Gary Benson <gbenson@redhat.com> * i386-low.c (i386_get_debug_register_length): New macro. (TARGET_HAS_DR_LEN_8): Remove conditional. Use above macro. (i386_show_dr): Use debug_printf instead of fprintf. Use phex to format values.
Diffstat (limited to 'gdb/gdbserver/i386-low.c')
-rw-r--r--gdb/gdbserver/i386-low.c50
1 files changed, 27 insertions, 23 deletions
diff --git a/gdb/gdbserver/i386-low.c b/gdb/gdbserver/i386-low.c
index d122ff7..b154fcd 100644
--- a/gdb/gdbserver/i386-low.c
+++ b/gdb/gdbserver/i386-low.c
@@ -32,11 +32,12 @@
The functions below implement debug registers sharing by reference
counts, and allow to watch regions up to 16 bytes long. */
-/* Support for 8-byte wide hw watchpoints. */
-#ifndef TARGET_HAS_DR_LEN_8
+/* Debug register size, in bytes. */
/* NOTE: sizeof (long) == 4 on win64. */
-#define TARGET_HAS_DR_LEN_8 (sizeof (void *) == 8)
-#endif
+#define i386_get_debug_register_length() (sizeof (void *))
+
+/* Support for 8-byte wide hw watchpoints. */
+#define TARGET_HAS_DR_LEN_8 (i386_get_debug_register_length () == 8)
/* DR7 Debug Control register fields. */
@@ -176,29 +177,32 @@ i386_show_dr (struct i386_debug_reg_state *state,
{
int i;
- fprintf (stderr, "%s", func);
+ debug_printf ("%s", func);
if (addr || len)
- fprintf (stderr, " (addr=%lx, len=%d, type=%s)",
- (unsigned long) addr, len,
- type == hw_write ? "data-write"
- : (type == hw_read ? "data-read"
- : (type == hw_access ? "data-read/write"
- : (type == hw_execute ? "instruction-execute"
- /* FIXME: if/when I/O read/write
- watchpoints are supported, add them
- here. */
- : "??unknown??"))));
- fprintf (stderr, ":\n");
- fprintf (stderr, "\tCONTROL (DR7): %08x STATUS (DR6): %08x\n",
- state->dr_control_mirror, state->dr_status_mirror);
+ debug_printf (" (addr=%s, len=%d, type=%s)",
+ phex (addr, 8), len,
+ type == hw_write ? "data-write"
+ : (type == hw_read ? "data-read"
+ : (type == hw_access ? "data-read/write"
+ : (type == hw_execute ? "instruction-execute"
+ /* FIXME: if/when I/O read/write
+ watchpoints are supported, add them
+ here. */
+ : "??unknown??"))));
+ debug_printf (":\n");
+ debug_printf ("\tCONTROL (DR7): %s STATUS (DR6): %s\n",
+ phex (state->dr_control_mirror, 8),
+ phex (state->dr_status_mirror, 8));
ALL_DEBUG_REGISTERS (i)
{
- fprintf (stderr, "\
+ debug_printf ("\
\tDR%d: addr=0x%s, ref.count=%d DR%d: addr=0x%s, ref.count=%d\n",
- i, paddress (state->dr_mirror[i]),
- state->dr_ref_count[i],
- i + 1, paddress (state->dr_mirror[i + 1]),
- state->dr_ref_count[i + 1]);
+ i, phex (state->dr_mirror[i],
+ i386_get_debug_register_length ()),
+ state->dr_ref_count[i],
+ i + 1, phex (state->dr_mirror[i + 1],
+ i386_get_debug_register_length ()),
+ state->dr_ref_count[i + 1]);
i++;
}
}