Hello Jeppe,
I am leaving till Monday. But I would expect,
that there is really problem in with EABI parameters
passing and va_arg .The last thing to check is
that you enter main() with per EABI aligned stack.
Check how your stack is prepared in CRT0.S. Try to move
sp four bytes down before main enter to check the other
alignment case.
If this doesnot help, then problem should be in va_arg
in GCC. Other possibility is problem with bitfields,
their packing rules are in some cases different for EABI.
Not sure, if this is a case. Look for âmabi=apcs-gnu
and related stuff.
Best wishes,
Pavel