This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/38587] [4.4 Regression] psim miscompiled #2
- From: "hjl dot tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Jan 2009 23:35:49 -0000
- Subject: [Bug middle-end/38587] [4.4 Regression] psim miscompiled #2
- References: <bug-38587-296@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #18 from hjl dot tools at gmail dot com 2009-01-19 23:35 -------
(In reply to comment #11)
> (In reply to comment #6)
> > Can you attach preprocessed source of idecode.c at least? Can you track down
> > where in idecode.c the bug is and wrap a main () around that piece, making it
> > an executable testcase?
>
> psim is automatically generated code. I have no idea how to narrow it down
> to an executable test case. I included my gdb configuration, psim
> test program, and preprocessed source. I will upload the script I
> am using to run it since you have to have a device tree.
>
> Hmmm... this is the code where the assert happens:
>
> /* now establish the restart target */
> psim_set_halt_and_restart(system, &halt, &restart);
> if (setjmp(restart)) {
> current_cpu = psim_last_cpu(system);
> ASSERT(current_cpu >= 0 && current_cpu < nr_cpus);
> }
>
> Is it possible that setjmp/longjmp is not preserving a register that
> gcc x86_64 is now using?
>
This is an IRA bug. -fno-ira fixes it. This may be caused by revision
139996:
http://gcc.gnu.org/ml/gcc-patches/2008-09/msg00315.html
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vmakarov at redhat dot com
Keywords| |ra, wrong-code
Last reconfirmed|0000-00-00 00:00:00 |2009-01-19 23:35:49
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38587