https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92395
--- Comment #2 from Vincent Riviere <vincent.riviere at freesbee dot fr> --- Cause is in gcc/config/m68k/linux.h: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/m68k/linux.h;h=ebdf02810711a28232041d3e73350c7bdcc7b509;hb=HEAD#l231 231 #undef SIZE_TYPE 232 #define SIZE_TYPE "unsigned int" 233 234 #undef PTRDIFF_TYPE 235 #define PTRDIFF_TYPE "int" The Linux target uses "unsigned int" as size type. This is obviously wrong when -mshort is used. On the other hand, the standard m68k-elf-gcc works fine.