diff options
author | Tom Tromey <tom@tromey.com> | 2020-03-12 13:32:15 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-03-12 13:32:15 -0600 |
commit | 53807e9f3d83bc0f67b9b9471cc60fb37182e5ab (patch) | |
tree | b2e946a96a9a25df3b438fef2f3d2c7a7ef8b787 | |
parent | 64f251023bcbd068861d4cb83b4e925083e0ea35 (diff) | |
download | binutils-53807e9f3d83bc0f67b9b9471cc60fb37182e5ab.zip binutils-53807e9f3d83bc0f67b9b9471cc60fb37182e5ab.tar.gz binutils-53807e9f3d83bc0f67b9b9471cc60fb37182e5ab.tar.bz2 |
Don't use sprintf_vma for CORE_ADDR
A few spots in gdb use sprintf_vma to print a CORE_ADDR. This will
fail on a 32-bit build once CORE_ADDR is always a 64-bit type.
This patch replaces these calls with phex instead.
gdb/ChangeLog
2020-03-12 Tom Tromey <tom@tromey.com>
* remote.c (remote_target::download_tracepoint)
(remote_target::enable_tracepoint)
(remote_target::disable_tracepoint): Use phex, not sprintf_vma.
* breakpoint.c (print_recreate_masked_watchpoint): Use phex, not
sprintf_vma.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/breakpoint.c | 5 | ||||
-rw-r--r-- | gdb/remote.c | 12 |
3 files changed, 15 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3416b41..8c4487e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2020-03-12 Tom Tromey <tom@tromey.com> + * remote.c (remote_target::download_tracepoint) + (remote_target::enable_tracepoint) + (remote_target::disable_tracepoint): Use phex, not sprintf_vma. + * breakpoint.c (print_recreate_masked_watchpoint): Use phex, not + sprintf_vma. + +2020-03-12 Tom Tromey <tom@tromey.com> + * symfile-mem.c: Update CORE_ADDR size assert. 2020-03-12 Simon Marchi <simon.marchi@efficios.com> diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 5a9352c..e490254 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -10400,7 +10400,6 @@ static void print_recreate_masked_watchpoint (struct breakpoint *b, struct ui_file *fp) { struct watchpoint *w = (struct watchpoint *) b; - char tmp[40]; switch (b->type) { @@ -10418,8 +10417,8 @@ print_recreate_masked_watchpoint (struct breakpoint *b, struct ui_file *fp) _("Invalid hardware watchpoint type.")); } - sprintf_vma (tmp, w->hw_wp_mask); - fprintf_unfiltered (fp, " %s mask 0x%s", w->exp_string, tmp); + fprintf_unfiltered (fp, " %s mask 0x%s", w->exp_string, + phex (w->hw_wp_mask, sizeof (CORE_ADDR))); print_recreate_thread (b, fp); } diff --git a/gdb/remote.c b/gdb/remote.c index 9b73faf..0f78b1b 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -12835,7 +12835,7 @@ remote_target::download_tracepoint (struct bp_location *loc) encode_actions_rsp (loc, &tdp_actions, &stepping_actions); tpaddr = loc->address; - sprintf_vma (addrbuf, tpaddr); + strcpy (addrbuf, phex (tpaddr, sizeof (CORE_ADDR))); ret = snprintf (buf.data (), buf.size (), "QTDP:%x:%s:%c:%lx:%x", b->number, addrbuf, /* address */ (b->enable_state == bp_enabled ? 'E' : 'D'), @@ -13097,11 +13097,10 @@ void remote_target::enable_tracepoint (struct bp_location *location) { struct remote_state *rs = get_remote_state (); - char addr_buf[40]; - sprintf_vma (addr_buf, location->address); xsnprintf (rs->buf.data (), get_remote_packet_size (), "QTEnable:%x:%s", - location->owner->number, addr_buf); + location->owner->number, + phex (location->address, sizeof (CORE_ADDR))); putpkt (rs->buf); remote_get_noisy_reply (); if (rs->buf[0] == '\0') @@ -13114,11 +13113,10 @@ void remote_target::disable_tracepoint (struct bp_location *location) { struct remote_state *rs = get_remote_state (); - char addr_buf[40]; - sprintf_vma (addr_buf, location->address); xsnprintf (rs->buf.data (), get_remote_packet_size (), "QTDisable:%x:%s", - location->owner->number, addr_buf); + location->owner->number, + phex (location->address, sizeof (CORE_ADDR))); putpkt (rs->buf); remote_get_noisy_reply (); if (rs->buf[0] == '\0') |