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.
This commit is contained in:
parent
64f251023b
commit
53807e9f3d
@ -1,3 +1,11 @@
|
||||
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.
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
12
gdb/remote.c
12
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')
|
||||
|
Loading…
Reference in New Issue
Block a user