native armv7 for struct aiocb offsets and overall size vs. aarch64 for struct aiocb32 offsets and overall size: most fields do not match

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.stable,gmane.os.freebsd.current,gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.