On Tue, Oct 13, 2026 at 04:06:07AM -0700, David Wolfskill wrote:
> First system was running
>
> FreeBSD freebeast.catwhisker.org 16.0-CURRENT FreeBSD 16.0-CURRENT #55
> main-n290063-3ceb5f150bc1: Mon Oct 12 10:55:18 UTC 2026
> [email protected]:/common/S4/obj/usr/src/amd64.amd64/sys/GENERIC
> amd64
>
> I had updated sources to main-n290084-b5e6d60e57ba; failure showed up
> rather early. Here is what is in the first part of the ERROR_META_FILE:
>
> # Meta data file
> /common/S4/obj/usr/src/amd64.amd64/tests/sys/fs/ufs/sync_test.pieo.meta
> CMD cc -target x86_64-unknown-freebsd16.0
> --sysroot=/common/S4/obj/usr/src/amd64.amd64/tmp
> -B/common/S4/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie -DPIC -O2 -pipe
> -fno-common -fPIE -g -gz=zlib -std=gnu17 -Wno-format-zero-length
> -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W
> -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes
> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow
> -Wunused-parameter -Wcast-align -Wchar-subscripts -Wnested-externs
> -Wold-style-definition -Wno-pointer-sign -Wdate-time
> -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body
> -Wno-string-plus-int -Wno-unused-const-variable
> -Wno-error=unused-but-set-parameter -Wno-error=cast-function-type-mismatch
> -Qunused-arguments -c /usr/src/tests/sys/fs/ufs/sync_test.c -o
> sync_test.pieo
> CMD
> CWD /common/S4/obj/usr/src/amd64.amd64/tests/sys/fs/ufs
> TARGET sync_test.pieo
> OODATE /usr/src/tests/sys/fs/ufs/sync_test.c
> -- command output --
> /usr/src/tests/sys/fs/ufs/sync_test.c:226:9: error: cast from 'uint8_t *'
> (aka 'unsigned char *') to 'ufs1_daddr_t *' (aka 'int *') increases required
> alignment from 1 to 4 [-Werror,-Wcast-align]
> 226 | ((ufs1_daddr_t *)buf)[lbn - UFS_NDADDR] :
> | ^~~~~~~~~~~~~~~~~~~
> /usr/src/tests/sys/fs/ufs/sync_test.c:227:9: error: cast from 'uint8_t *'
> (aka 'unsigned char *') to 'ufs2_daddr_t *' (aka 'long *') increases required
> alignment from 1 to 8 [-Werror,-Wcast-align]
> 227 | ((ufs2_daddr_t *)buf)[lbn - UFS_NDADDR];
> | ^~~~~~~~~~~~~~~~~~~
> 2 errors generated.
>
> *** Error code 1
>
> -- filemon acquired metadata --
> # filemon version 5
> # Target pid 40779
Try this, did not even tried to compile.
diff --git a/tests/sys/fs/ufs/sync_test.c b/tests/sys/fs/ufs/sync_test.c
index 9adc853affd7..3dfa39e17575 100644
--- a/tests/sys/fs/ufs/sync_test.c
+++ b/tests/sys/fs/ufs/sync_test.c
@@ -223,8 +223,8 @@ ondisk_read(ino_t ino, int lbn, struct ondisk *od)
ATF_REQUIRE(bread(&disk, fsbtodb(fs, ib), buf,
fs->fs_bsize) == fs->fs_bsize);
od->blkno = disk.d_ufs == 1 ?
- ((ufs1_daddr_t *)buf)[lbn - UFS_NDADDR] :
- ((ufs2_daddr_t *)buf)[lbn - UFS_NDADDR];
+ __DECONST(ufs1_daddr_t *, buf)[lbn - UFS_NDADDR] :
+ __DECONST(ufs2_daddr_t *, buf)[lbn - UFS_NDADDR];
}
}