Here's my suggested solution:
===
diff --git a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
index 96c3a0db8aa5..7e105a6b3b77 100644
--- a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
@@ -628,7 +628,9 @@ free_pagelist(BULKINFO_T *bi, int actual)
pagelist = bi->pagelist;
vchiq_log_trace(vchiq_arm_log_level,
- "free_pagelist - %zx, %d (%u bytes @%p)", (size_t)pagelist,
actual, pagelist->length, bi->buf);
+ "free_pagelist - %zx, %d (%lu bytes @%p)",
+ (size_t)pagelist, (int)actual, (unsigned long)pagelist->length,
+ bi->buf);
num_pages =
(pagelist->length + pagelist->offset + PAGE_SIZE - 1) /
===
The code /is/ being compiled on my arm64 and armv7 builds, I verified this
by using #error in this source file. But the format strings aren't
eliciting a type violation when I cross compile.