Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Nov 2025 14:01:37 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        FreeBSD Current <freebsd-current@freebsd.org>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   native armv7 for struct aiocb offsets and overall size vs. aarch64 for struct aiocb32 offsets and overall size: most fields do not match
Message-ID:  <DAFD5865-AEBF-43F3-918C-E3AFD6B9D36F@yahoo.com>

index | next in thread | raw e-mail

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



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DAFD5865-AEBF-43F3-918C-E3AFD6B9D36F>