Version 4 (modified by Vinutheraj, on Jul 16, 2010 at 6:54:04 PM) (diff)


Status: Currently, GCC Go has been ported to RTEMS on x86.

Mentors: Ian Lance Taylor and Joel Sherrill?

Introduction: Go is a new concurrent programming language introduced by a very distinguished group of computer scientists working at Google. There is a new front-end in GCC for the Go language.

Goal: Have a functioning port of GCC Go to RTEMS supporting all the architectures.

General Build Instructions

These instructions assume the following strings in the instructions are replaced with values appropriate for you. These may not work if you use these as environment variables, so do so at your own risk.

  • INSTALL_DIR is the prefix (installation directory) for the toolchain installation
  • TARGET is the target code (tested with TARGET=i386-rtems4.11)
  • BSP the RTEMS BSP (tested with BSP=pc386)

It is critical that you have a recent enough native GCC in your $PATH before beginning.

Please perform each configure/make/make install trio in a separate empty build directory. In the directions below, the versions for RTEMS 4.11 are used. If you are building RTEMS 4.10, update the commands below with the appropriate older versions. Also set PATH=INSTALL_DIR/bin:$PATH.

Source Code and Patches

If you are building from source code, download all of the necessary source code archives, unpackage them, and apply the appropriate patches.

Please use the latest patches available for the tool versions you are using. These should always be in the RTEMS source code at rtems/contrib/crossrpms/patches and at

Rather than building from source code, you may be able to use the pre-built versions of the code provided for various architectures at However, be aware that problems have been identified if the version of the pre-built binutils has an INSTALL_DIR different from the one you are using for the other tools. It is also possible to install the binutils RPMs in a non-default location using rpm2cpio and mv, but this may cause problems in finding "as" on some platforms.