https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83557
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- printf("\r\n"); Gets converted into puts("\r"); as allowed by the C standard. The C standard says \n is a new line and puts will put a newline marker on the stdout. If you don't want this conversion use -fno-builtins, -fno-builtin-printf, -ffree-standing (I think that is the option name).