https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71104
--- Comment #14 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- One question though... This depends on a special knowledge about "vfork", but it seems that gcc does not honor -ffreestanding correctly in this case, because: gcc -ffreestanding pr71104-1.c should not have crashed (before your patch, but it did).