git: 2d76470b7011 - main - zfs: Fix build with GCC on 32-bit architectures
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Aug 2025 18:26:52 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=2d76470b7011d0c2f50ae394972976fbca14bc95
commit 2d76470b7011d0c2f50ae394972976fbca14bc95
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-08-07 17:44:24 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-08-07 18:26:46 +0000
zfs: Fix build with GCC on 32-bit architectures
The presence of uint64_t in the expression promotes the entire
expression to uint64_t which is larger than uintptr_t on 32-bit
plaforms.
Note that this also fixes the build for lib32 libraries on 64-bit
platforms.
sys/contrib/openzfs/include/sys/zio.h: In function 'gbh_eck':
sys/contrib/openzfs/include/sys/zio.h:85:17: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
85 | return ((zio_eck_t *)((uintptr_t)gbh + size - sizeof (zio_eck_t)));
| ^
---
sys/contrib/openzfs/include/sys/zio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/contrib/openzfs/include/sys/zio.h b/sys/contrib/openzfs/include/sys/zio.h
index a3368034695b..4f46eab3db89 100644
--- a/sys/contrib/openzfs/include/sys/zio.h
+++ b/sys/contrib/openzfs/include/sys/zio.h
@@ -82,7 +82,7 @@ gbh_nblkptrs(uint64_t size) {
static inline zio_eck_t *
gbh_eck(zio_gbh_phys_t *gbh, uint64_t size) {
ASSERT(IS_P2ALIGNED(size, sizeof (blkptr_t)));
- return ((zio_eck_t *)((uintptr_t)gbh + size - sizeof (zio_eck_t)));
+ return ((zio_eck_t *)((uintptr_t)gbh + (size_t)size - sizeof (zio_eck_t)));
}
static inline blkptr_t *