native armv7 for struct aiocb offsets and overall size vs. aarch64 for struct aiocb32 offsets and overall size: most fields do not match
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 13 Nov 2025 22:01:37 UTC
The evidence is copied from:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290962#c8
which I just added there. Title (but line-split) for the
bugzilla submital was:
armv7 chroot and lib32 use on aarch64: example fio command
works on real armv7 system boots but fails for aarch64-to-armv7
chroot or lib32 use
The evidence:
kgdb on armv7 for struct aiocb offsets vs.
kgdb on aarch64 for struct aiocb32 offsets
(through first few differences):
kgdb on armv7 for struct aiocb offsets :
(kgdb) ptype /o *(struct aiocb*)0
/* offset | size */ type = struct aiocb {
/* 0 | 4 */ int aio_fildes;
/* XXX 4-byte hole */
/* 8 | 8 */ off_t aio_offset;
/* 16 | 4 */ volatile void *aio_buf;
/* 20 | 4 */ size_t aio_nbytes;
. . .
/* total size (bytes): 104 */
vs.:
kgdb on aarch64 for struct aiocb32 offsets :
(kgdb) ptype /o *(struct aiocb32*)0
/* offset | size */ type = struct aiocb32 {
/* 0 | 4 */ int32_t aio_fildes;
/* 4 | 8 */ uint64_t aio_offset;
/* 12 | 4 */ uint32_t aio_buf;
/* 16 | 4 */ uint32_t aio_nbytes;
. . .
/* total size (bytes): 96 */
===
Mark Millard
marklmi at yahoo.com