Ressources on Ada & RTEMS

Joel Sherrill joel.sherrill at
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 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 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 
the last time I looked.  The Ada run-time is NOT built multilib like the 
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 

Did you save logs of building your toolset?  It would be interesting to 
the gcc flags used then to those used when you compiled it with your 

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 
I am a bit surprised that this is happening on the i386 but it is a 
known issue
across all targets.

> Thanks

More information about the users mailing list