This routine review will hopefully allow us to
get the more stable core. DOS structs all should
have the particular size, but gcc can add paddings.
This caused lots of troubles on the initial development
steps, and I don't believe is entirely fixed now.
Even those structs that are marked as PACKED
are still under the risk, because they may contain
the internal structs that are still not packed.
Needs to annotate all DOS structs with
static_assert(sizeof(struct foo) == 0xfoo_len, "size mismatch");
This routine review will hopefully allow us to get the more stable core. DOS structs all should have the particular size, but gcc can add paddings. This caused lots of troubles on the initial development steps, and I don't believe is entirely fixed now. Even those structs that are marked as
PACKED
are still under the risk, because they may contain the internal structs that are still not packed. Needs to annotate all DOS structs withstatic_assert(sizeof(struct foo) == 0xfoo_len, "size mismatch");