The branch releng/14.4 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=0d08a243f21fcdd6d1ed9cc198d887722910180c
commit 0d08a243f21fcdd6d1ed9cc198d887722910180c Author: Jessica Clarke <[email protected]> AuthorDate: 2026-02-18 18:45:26 +0000 Commit: Colin Percival <[email protected]> CommitDate: 2026-02-19 19:21:28 +0000 Merge commit bfb276e55c76 from upstream OpenZFS (by Jessica Clarke) Once upon a time, 32-bit PowerPC did indeed have a 32-bit time_t, but FreeBSD 12.0 switched to a 64-bit time_t for PowerPC as an ABI break, which predates the addition of FreeBSD support to OpenZFS. Moreover, 64-bit PowerPC has existed since FreeBSD 9.0, where __powerpc__ is also defined (alongside __powerpc64__ to disambiguate), which has always had a 64-bit time_t. This code has therefore always been wrong for all PowerPC variants. Fix this by limiting the 32-bit case to just i386, which is the only architecture in FreeBSD to have a 32-bit time_t and not have broken ABI, due to its special legacy compatibility status. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Alexander Motin <[email protected]> Signed-off-by: Jessica Clarke <[email protected]> Closes #18217 Closes #18218 Reported by: fuz MFC after: 1 day (cherry picked from commit 45c1e44779e3d365f5e31f75546d48ce34e4ee05) (cherry picked from commit 354cc5e142634afbc967ede56572b939fbdb5d38) --- sys/contrib/openzfs/include/os/freebsd/spl/sys/time.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/openzfs/include/os/freebsd/spl/sys/time.h b/sys/contrib/openzfs/include/os/freebsd/spl/sys/time.h index fbc679aacf93..396bdd6ce8c6 100644 --- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/time.h +++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/time.h @@ -52,7 +52,7 @@ extern int hz; typedef longlong_t hrtime_t; -#if defined(__i386__) || defined(__powerpc__) +#ifdef __i386__ #define TIMESPEC_OVERFLOW(ts) \ ((ts)->tv_sec < INT32_MIN || (ts)->tv_sec > INT32_MAX) #else
