Update on RTEMSAda for PowerPC MVME6100, and Solaris issues

Michael Gurlitz michael.gurlitz at gmail.com
Thu Aug 5 12:24:11 UTC 2010

With a great deal of help from Joel and IRC, I finally bootstrapped a
powerpc-rtems4.11-gnat compiler on i386-pc-solaris2.10. I have used
this compiler to compile and run applications using the "beatnik" and
"psim" BSP's, and I successfully ran the ACATS testsuite (4.5.1-RC:
http://gcc.gnu.org/ml/gcc-testresults/2010-08/msg00334.html, 4.5.1:
http://gcc.gnu.org/ml/gcc-testresults/2010-08/msg00443.html). The
process I used to get it to compile was mostly adapted from
rtems-testing/gcc/do_one (The RTEMSAda wiki could prominently mention
this file as a tested method of compiling RTEMSAda.. it seems
rtems-testing isn't very publicized), the gcc-ada-4.5.0 patch was
needed in addition to the ones in SOURCES/4.11, and my full configure
line can be seen in the gcc-testresults posts.
When I was trying to port my work from Cygwin to Solaris, I noticed
that there were a number of GNU-isms in RTEMS, where RTEMS would
assume /bin/sh is Bash-like, or it would assume a utility like
/usr/bin/awk is GNU (or even that it was present). I think it would
have been easier to use a pre-packaged autogen binary than compile
everything from libguile to m4 myself, which was needed for the
bootstrap script. For most of the shell-scripts I had to explicitly
write `bash ./bootstrap` or `bash run_all_rtems.sh`. There were also a
few places I had to change Makefile's that were hardcoded to
recursively call `make`, instead of `gmake` (or maybe it would be a
better idea to make these Makefile's actually compatible with non-GNU
I did mention another issue to Joel which I haven't had a chance to
post to GCC's Bugzilla (trying to register an account times out on my
work connection) in that when using powerpc-rtems4.11-gcc to compile
Ada, using the Makefile in ada-examples, I would get an Assertion
error in make.adb (this may have been fixed in RTEMS CVS?). It seems
the error was caused by multiple, equivalent -mcpu=xxx options and
removing one worked.

Michael Gurlitz

More information about the users mailing list