This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix build on sparc (remote.c/tracepoints)
> Heh, I sit down from around-the-house tasks thinking to commit my
> fix, and Joel has it in hand already! There is one tweak I would
> suggest:
>
> - sprintf_vma (addrbuf, loc->address);
> - sprintf (rs->buf, "qTP:%x:%s", tp->number_on_target, addrbuf);
> + sprintf (rs->buf, "qTP:%x:%s", tp->number_on_target,
> + phex_nz (loc->address,
> + gdbarch_addr_bit (target_gdbarch) / 8));
>
>
> Just use phex_nz (loc->address, 0) here, its builtin sizeof
> calculation should be satisfactory.
Hmm, yes, you're right. Thanks for the review.
This is the patch that I just checked in.
--
Joel
commit d39c89d92ee7ed6afbf9f11398a566836e52bb17
Author: Joel Brobecker <brobecker@adacore.com>
Date: Sun Nov 27 09:35:17 2011 -0800
remove use of sprintf_vma in remote_get_tracepoint_status
This function takes a VMA and was forcing us to perform a cast to
compile without warning on one platform. Except that the cast caused
a warning on sparc-solaris. This patch fixes the problem by using
phex_nz instead.
gdb/ChangeLog:
* remote.c (remote_get_tracepoint_status): Delete addrbuf
local variable. Avoid use of sprintf_vma.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6fe2a5c..d6551d6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-27 Joel Brobecker <brobecker@acacore.com>
+
+ * remote.c (remote_get_tracepoint_status): Delete addrbuf
+ local variable. Avoid use of sprintf_vma.
+
2011-11-27 Sanjoy Das <sdas@igalia.com>
Fix regression in jit.exp.
diff --git a/gdb/remote.c b/gdb/remote.c
index 8fa5c1a..6e37f69 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -10219,7 +10219,6 @@ remote_get_tracepoint_status (struct breakpoint *bp,
struct uploaded_tp *utp)
{
struct remote_state *rs = get_remote_state ();
- char addrbuf[40];
char *reply;
struct bp_location *loc;
struct tracepoint *tp = (struct tracepoint *) bp;
@@ -10234,8 +10233,8 @@ remote_get_tracepoint_status (struct breakpoint *bp,
any status. */
if (tp->number_on_target == 0)
continue;
- sprintf_vma (addrbuf, loc->address);
- sprintf (rs->buf, "qTP:%x:%s", tp->number_on_target, addrbuf);
+ sprintf (rs->buf, "qTP:%x:%s", tp->number_on_target,
+ phex_nz (loc->address, 0));
putpkt (rs->buf);
reply = remote_get_noisy_reply (&target_buf, &target_buf_size);
if (reply && *reply)
@@ -10249,8 +10248,7 @@ remote_get_tracepoint_status (struct breakpoint *bp,
{
utp->hit_count = 0;
utp->traceframe_usage = 0;
- sprintf_vma (addrbuf, (long unsigned int) utp->addr);
- sprintf (rs->buf, "qTP:%x:%s", utp->number, addrbuf);
+ sprintf (rs->buf, "qTP:%x:%s", utp->number, phex_nz (utp->addr, 0));
putpkt (rs->buf);
reply = remote_get_noisy_reply (&target_buf, &target_buf_size);
if (reply && *reply)