This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/36939] Build Failure Ada SH2e
- From: "joel at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 7 Feb 2011 22:27:50 +0000
- Subject: [Bug ada/36939] Build Failure Ada SH2e
- Auto-submitted: auto-generated
- References: <bug-36939-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36939
--- Comment #21 from Joel Sherrill <joel at gcc dot gnu.org> 2011-02-07 22:27:43 UTC ---
(In reply to comment #20)
> Thanks Joel for the acats.log.
>
> from the failing test list my guess is that tasking is broken and was working
> for your previous test.
>
> All tests with an Ada task in them fail with "program stopped with signal 7.".
>
> Could you try the simplest possible tasking program?
>
> $ cat t.adb
> procedure t is
> task a;
> task body a is
> begin
> null;
> end a;
> begin
> null;
> end t;
>
> If my guess is correct it should get a signal 7.
Yep. And a signal 7 is an emulation trap. Running it in gdb I see that
apparently, an illegal instruction for the SH-1 was generated near the
bottom of _system__task_primitives__operations__set_priority which is
early enough in the program's execution that we really don't get to the
task.
4583c: 00 09 nop
4583e: b6 dc bsr 465fa
<_system__tasking__debug__print_task_info+0x3e6>
45840: 00 07 .word 0x0007
45842: 21 fc cmp/str r15,r1
I am suspicious that if you know how to generate the same backend behaviour
from C, it will also generate bad code also.