diff --git a/core/util.c b/core/util.c
index 4bc8772f6b2c0c0a9bd662561abb56ee8c09109a..d38f8835b73116152f28dc5a36f002a88b3c26a7 100644
--- a/core/util.c
+++ b/core/util.c
@@ -139,7 +139,7 @@ backtrace(void *frame_, void *stack, size_t stack_size)
 #ifdef HAVE_BFD
 		struct symbol *s = addr2symbol(frame->ret);
 		if (s != NULL) {
-			r = snprintf(p, len, " <%s+%ld> ", s->name, frame->ret - s->addr);
+			r = snprintf(p, len, " <%s+%"PRI_SZ"> ", s->name, frame->ret - s->addr);
 			if (r >= len)
 				goto out;
 			p += r;