mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-11-07 04:36:52 -10:00
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: 2f024a7cfd ("exterr: relax format restrictions")
This commit is contained in:
1 parent
c4bca1f883
commit
01c0ddf44a
1 file changed
+1
-1
@@ -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 '%':
|
||||
|
||||
Reference in new issue
Block a user