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

    From Mark Millard@marklmi@yahoo.com to muc.lists.freebsd.stable on Thu Nov 13 14:01:37 2025
    From Newsgroup: muc.lists.freebsd.stable

    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



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2