[Bug 292008] armv7 (native and chroot) gets SIGSEGV for: gpart show
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 292008] armv7 (native and chroot) gets SIGSEGV for: gpart show"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 28 Dec 2025 22:55:45 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292008
--- Comment #6 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
I've found a problem: use of %ld notation which is not an
invariant match to off_t and the like across FreeBSD
platforms: off_t is 64 bits across FreeBSD platforms
but long is not (and so %ld is not):
+ xo_emit("=>{t:start/%*jd} {t:sectors/%*jd} {t:name/%*s} {:scheme}
({h:size/%ld}){t:state}\n",
. . .
+ xo_emit(" {t:start/%*jd} {t:sectors/%*jd} {P:/%*s} {ne:free}- free -
({h:size/%ld})\n",
. . .
+ xo_emit(" ({h:size/%ld})\n", pp->lg_mediasize);
. . .
+ xo_emit(" {t:start/%*jd} {t:sectors/%*jd} {P:/%*s} {ne:free}- free -
({h:size/%ld})\n",
%ld is for long but:
. . .
Architecture long void * long double time_t
aarch64 8 8 16 8
aarch64c 8 16 16 8
amd64 8 8 16 8
armv7 4 4 8 8
i386 4 4 12 4
. . .
The code would be broken in this way for i386 as well.
--
You are receiving this mail because:
You are the assignee for the bug.