Parrot on RTEMS: Hint Hint!

I am continuing work to port Parrot to run on RTEMS. The “secret sauce” is in configuring Parrot to use the correct compilers, linkers, etc. Because we are doing cross-platform development, that means our host system will most likely not have the same architecture as the target system. For example, I am currently working on an x86 system but, in targeting an embedded sparc system, have sparc variants of gcc, ld, and so forth. We must tell parrot to compile with those variants rather than the system default.

The good news is that this step is mostly complete. The configure script now recognizes which compilers we must use, and, best of all, this information is generated based on the RTEMS installation that you have (rather than a static recipe).

Parrot’s configuration, however, is more than just to determine which compiler to run but also includes automatic probes for architecture specific information, such as byte order or the size of an int. Since our target architecture is not our host architecture, we can compile these automatic probes but we cannot run them. So the hints file will contain all of the information that we need to compile Parrot but can’t figure out on our own.

Work on the hints file has begun by first overloading the standard libraries that are linked to. Again, this is because the host architecture (with which the libraries are built against) is not the same as the target architecture and we need a few RTEMS specific libraries as well.

Right now the configuration script runs but errors on a few of the steps. I hope that by next week the entire configuration script can run and we can begin trying to build Parrot on RTEMS.

As always, you can track progress at my github repository for the project or pinging me on IRC… look for bubaflub hanging out on #RTEMS on freenode or #Parrot irc.perl.org.

Posted in Google Summer of Code | Comments Off on Parrot on RTEMS: Hint Hint!

Comments are closed.