https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98320
Bug ID: 98320 Summary: Parameter is malformed in the called function Product: gcc Version: 10.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: ypn00vb at gmail dot com Target Milestone: --- Created attachment 49779 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49779&action=edit main function When compiling with the -m64 option, one of the parameters passed to the function is damaged. When compiling with the -m32 option, there is no damage, everything works. PS. In the assembler listing, you can see that there is no instruction to move the stack pointer with the -m64 option. Therefore, the assembler insertion of a flag register push instruction overwrites the parameter in memory.