diff options
author | Gary Benson <gbenson@redhat.com> | 2014-06-17 11:32:58 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2014-06-18 10:15:17 +0100 |
commit | 1b6d4134c776d54513114199f1478f83894f490b (patch) | |
tree | 2ec954539c3c3502d9a58d63cd315d1c36a33d7a /gdb/gdbserver/i386-low.c | |
parent | 9b4550ef5e4223bf03a343dc8dd29285bf635e8b (diff) | |
download | gdb-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.c | 50 |
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++; } } |