In cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c, some

uint64_t values are snprintf'd using %llx.  On amd64, uint64_t is
typedef'd as unsigned long, so cast the values to u_longlong_t, as is
done similarly in the rest of the file.

MFC after:	1 week
This commit is contained in:
Dimitry Andric 2011-12-16 15:04:47 +00:00
parent 7be5a1fbf4
commit 8ac4e8ebc3

View File

@ -873,7 +873,7 @@ dt_print_stack(dtrace_hdl_t *dtp, FILE *fp, const char *format,
if (pc > sym.st_value) {
(void) snprintf(c, sizeof (c), "%s`%s+0x%llx",
dts.dts_object, dts.dts_name,
pc - sym.st_value);
(u_longlong_t)(pc - sym.st_value));
} else {
(void) snprintf(c, sizeof (c), "%s`%s",
dts.dts_object, dts.dts_name);
@ -886,9 +886,10 @@ dt_print_stack(dtrace_hdl_t *dtp, FILE *fp, const char *format,
*/
if (dtrace_lookup_by_addr(dtp, pc, NULL, &dts) == 0) {
(void) snprintf(c, sizeof (c), "%s`0x%llx",
dts.dts_object, pc);
dts.dts_object, (u_longlong_t)pc);
} else {
(void) snprintf(c, sizeof (c), "0x%llx", pc);
(void) snprintf(c, sizeof (c), "0x%llx",
(u_longlong_t)pc);
}
}