aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/gen
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2026-08-20 19:49:36 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2026-08-20 19:49:36 +0000
commit01c0ddf44a770a152a01259fd150fc77d5caac26 (patch)
tree6a5a198f85602e623420341ff63eb5e4f3726451 /lib/libc/gen
parentc4bca1f8830223766105af486ae70e78d67ae78a (diff)
exterr: Fix build with GCC on 32-bit architectures
Use an intermediate uintptr_t cast to avoid casting a uint64_t value directly to void * on 32-bit platforms (including lib32 builds). lib/libc/gen/uexterr_format.c: In function 'uexterr_format_msg': lib/libc/gen/uexterr_format.c:248:35: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] 248 | PFMT(fmt, (void *)ARG(nextarg)); | ^ lib/libc/gen/uexterr_format.c:144:47: note: in definition of macro 'PFMT' 144 | psz = snprintf(buf, bufsz, f, a); \ | ^ Reported by: GCC 15 Fixes: 2f024a7cfddd ("exterr: relax format restrictions")
Diffstat (limited to 'lib/libc/gen')
-rw-r--r--lib/libc/gen/uexterr_format.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/gen/uexterr_format.c b/lib/libc/gen/uexterr_format.c
index e32776c728bd..c983e71d0af1 100644
--- a/lib/libc/gen/uexterr_format.c
+++ b/lib/libc/gen/uexterr_format.c
@@ -245,7 +245,7 @@ uexterr_format_msg(const struct uexterror *ue, char *buf, size_t bufsz)
break;
case 'p':
- PFMT(fmt, (void *)ARG(nextarg));
+ PFMT(fmt, (void *)(uintptr_t)ARG(nextarg));
break;
case '%':