This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ada/36939] Build Failure Ada SH2e


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]