[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Powerpc IRQ handling breaks strict EABI compliance




Sergei Organov wrote:
> 
> Joel Sherrill <joel.sherrill at oarcorp.com> writes:
> 
> [...]
> 
> > I agree with your analysis. The r2/r13 init needs to happen much earlier
> > than constructors can be executed.
> >
> > So the simplest solution (to me anyway) is:
> >
> >   + bsp assembly startup initializes r2/r13 possibly using common code
> >     derived from __eabi without the call to _init.
> >   + call _init from _Threaad_Handler
> >
> > Longer term, we can switch the toolset from non-EABI to EABI if that is
> > desirable.
> 
> I also think this is the simplest solution. The only question remained is if
> the __eabi() is GPLed, and if so, if the "common code derived from __eabi"
> could be put into RTEMS ;-)

I would just leave it in gcc but it is licensed the same as RTEMS --
GPL with exception.

Looking at the code, it should be possible to ifdef eabi.asm on
__rtems__
and either "b __init" or return.

> --
> Sergei.

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985