https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77748
--- Comment #21 from Christophe Lyon <clyon at gcc dot gnu.org> --- Ha, indeed, that's one of the differences between arm-none-eabi and arm-none-linux-gnueabi. Using -fno-short-enums does make execution succeed, unfortunately the linker complains because the startup code/libraries are not compiled with this flag: ld: warning: /tmp/ccKhI9uW.o uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail Is there an effective-target to check for short-enums?