https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88311
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |segher at gcc dot gnu.org --- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> --- I don't see this happening. I used: === void g(void *); void f(void) { g("abcdef"); } === With both -O2 -mlongcall -m32 and -O1 -mlongcall -m32 it all seems to work fine. What are you doing differently?