http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602
Yuri Rumyantsev <ysrumyan at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ysrumyan at gmail dot com
--- Comment #1 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
We also got a lot of run-time failures on eembc2.0 if it was compiled with -O3
-flto since wrong argument passing for clone (local) function:
before the fix we have
8048f7d: b8 a0 a8 10 08 mov $0x810a8a0,%eax
8048f82: e8 19 5d 00 00 call 804eca0 <set_cmd_line.lto_priv.21>
i.e. argument is passed in AX register.
after fix we have
8048f7d: c7 04 24 a0 a8 10 08 movl $0x810a8a0,(%esp)
8048f84: e8 87 5c 00 00 call 804ec10 <set_cmd_line.lto_priv.21>
i.e. argument is passed on stack but function assumes that it is on register.
Note also that incremental fix proposed by Richard did not help.