Ada Toolchain for RTEMS 4.10/LEON3

Peter Mendham Peter.Mendham at
Fri Apr 30 09:46:24 UTC 2010

> > My current build attempt is based on:
> >
> > binutils 2.201.1
> > gmp 5.0.1
> > mpc 0.8.1
> > mpfr 2.4.2
> > newlib 1.18.0
> > gcc 4.5.0
> >
> > I build sparc-rtems binutils, a multilibbed native gcc with C and Ada 
> > support, a multilibbed sparc-rtems gcc with C and C++ support only, 
> > followed by a multilibbed sparc-rtems gcc with C, C++ and Ada 
> > support.  I specify a sysroot during the cross-compile builds.  
> > Predictably, everything goes wrong for me during the final step.  The 
> > build drops out with errors in gcc/ada/rts/socket.c.  These seem to be 
> > related to missing types (especially struct servent).  I'm guessing 
> > this should come from gsocket.h, and there are some interesting 
> > comments in that file about RTEMS support but I'm afraid that I don't 
> > understand a word of them.
> >
> > Has anyone successfully built a multilibbed Ada toolchain for recent 
> > RTEMS versions?  It looks some major issues have been resolved, 
> > especially since the wiki entry was written.  Can anyone offer any advice?
> >
> Yes.  :-D
> I can't speak for the accuracy of the wiki at the moment but the
> scripts in the gcc-testing CVS module can build it.  The trick is
> to build RTEMS with networking multilib'ed and install it
> and the BSP you are interested in before building Ada.
> There are  two patches from the SVN head you need that were
> too late for the branch.

Thanks for the pointer to gcc-testing Joel, I didn't know that existed.  I'm still getting some build problems, but having had a look around the source, I was wondering: do I need to be patching the tools with the patches in rtems/contrib/crossrpms/patches?  If so, do I need all of them, and which versions should I be using for the head revision of CVS?  I was under the impression that RTEMS 4.10 was (going to be) the head of CVS, as it says on the home page, which leaves me confused about RTEMS 4.11.  Can anyone explain?

Thanks in advance,


2010-04-15  Joel Sherrill <joel.sherrill at>

         * g-socket.adb: A target can have multiple missing errno's.  This
         will result in multiple errno's being defined as -1.  Because 
of this
         we can not use a case but must use a series of if's to avoid
         a duplicate case error in GNAT.Sockets.Resolve_Error.

2010-04-13  Joel Sherrill <joel.sherrill at>

         * gsocket.h: Run-time can no longer be built without network
         OS headers available.  Changing RTEMS GNAT build procedure to
         reflect this and letting run-time build use network .h files.

> Thanks in advance,
> Peter
> SciSys UK Limited. Registered in England and Wales No. 4373530.
> Registered Office: Methuen Park, Chippenham, Wiltshire SN14 0GB, UK.
> P Before printing, please think about the environment.

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

SciSys UK Limited. Registered in England and Wales No. 4373530.
Registered Office: Methuen Park, Chippenham, Wiltshire SN14 0GB, UK.
* Before printing, please think about the environment.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list