I was using 31-bit (with the -m31 flag) S390 cross-compiling with GCC 11.
When something weird happened:
https://github.com/udos-project/flatboot/blob/60046ae0d6cee23348359b7f94a312332a1357b2/stage2/stivale.c#L383
Here we can see the declaration of a struct, however when i declare the
same struct (but in a function context) - the code below mishandles the
given values (start_cc and start_hh) - if i use the declaration instead
of making a struct in the function stack the start_cc and start_hh
fields are correct (cc should never be above 100 (decimal) normally)
I think this is a bug because the structs have the same attributes and
the same fields, with the same order... so their behaviour should not
change?