Ressources on Ada & RTEMS
Joel Sherrill
joel.sherrill at oarcorp.com
Thu Dec 7 14:38:35 UTC 2006
Jérôme Hugues wrote:
> Hi,
>
> I'm currently testing the Ada support in RTEMS, I've compiled so far
> RTEMS 4.6.99.3 with binutils 2.16.1, GCC 4.1.1, everything went
> smooth, using the information provided on the Wiki pages related to Ada.
>
> For now, I've been able to compile a simple Hello World from Ada
> examples, it runs fine on QEmu
>
> I then tried to compile an Ada multi-tasking example, I've been stuck
> by a strange bug,
> RTEMS reports that "Exception 13 is caught at PC 7" by one thread,
>
> This looks like a stack checking problem (AFAICT). I did work around
> it by recompiling part of the GNAT runtime.
> Namely, I copied s-taprop.ad? in my build dir, and then run gnatmake -
> a to force partial recompilation of the elements of the run-time that
> depends on this package.
>
> This sounds rather strange. It is clearly a dirty hack, but it is
> working.
>
> I'm therefore looking for any resources on compiling Ada programms
> for RTEMS. It seems the provided examples are not up to date with
> other makefiles (e.g. those provided for the C examples). do you have
> any pointers ?
>
Sounds like you are building the same way the adatests in the tree were
built
the last time I looked. The Ada run-time is NOT built multilib like the
rest
of the libraries. So it is quite likely that the run-time built by
default is using
cpu cflags that are not compatible with those used to compile your
application.
Did you save logs of building your toolset? It would be interesting to
compare
the gcc flags used then to those used when you compiled it with your
application.
Long term, the right solution is for the Ada run-time to be built
multilib lilke the
other libraries (e.g. libc.a, libm,a, libgcc.a, etc.). That is a gcc
project and no
one has volunteered YET. :)
So I think what you are doing is correct given the current state of the
world.
I am a bit surprised that this is happening on the i386 but it is a
known issue
across all targets.
--joel
> Thanks
>
>
More information about the users
mailing list