This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/57602] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422
- From: "ysrumyan at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 13 Jun 2013 13:57:10 +0000
- Subject: [Bug lto/57602] Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422
- Auto-submitted: auto-generated
- References: <bug-57602-4 at http dot gcc dot gnu dot org/bugzilla/>
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.