newbie questions

Chris Johns cjohns at
Tue Oct 8 03:27:41 UTC 2002

Wulf Hofbauer wrote:
> Would someone be so kind as to fill me in about the various ifs and
> whys?

Here is what I know. I hope others will help fill in more or correct any 
misunderstandings I may have.

Having RTEMS as a supported OS for GNU Compiler Collection means you can 
  get a supported GCC, ask it to configure the target processor plus 
RTEMS and end up with a set of tools you know will work.

The "ancient" version of the binutils patch is basically setting up 
different executable formats. A sparc build may have been using aout or 
coff as this was all that was supported or worked well, but ELF may now 
work or be fixed and so is the standard format. You assume ELF is ok for 
the m68k (which it happens to be).

The "ancient" GCC patch is adding support for a range of things that the 
compiler and OS need to agree on. An example is the threading model. 
This is important when handling exceptions in C++ code in a 
multi-threaded system.

You meantioned the RTEMS version of GCC etc as being a "customized" 
version. The patches only exist because problems were found or features 
added after a release of GCC has occured. The lastest patch for 3.2 is 
different to the older patch as the older patch has been merged into the 
GCC sources. Not everyone tracks the development path of GCC so tested 
stable changes often do not make it in the release. Puting changes into 
GCC lowers the work for RTEMS maintainers. For example GCC maintainers 
making a global change on how something works or is layed out will 
consider RTEMS and if able to simply handle the change will do so.

RTEMS needing a libc is not that bizzarre to me. A C library can provide 
all sorts of things that are useful to different parts of RTEMS. GCC 
needs a libc to compile libgcc.a, so the interdependence also exists 
else where. My understanding is the score of RTEMS makes little use of 
libc while IMFS does need libc.

You can work with any type of tool chain you like if you are willing to 
support it. You have all the source code and so are able to use it 
however you like within the terms of the licenses. If you have a 
combination of tools that work for you and your testing shows no 
problems, great. If you encounter a problem which you cannot resolve and 
would like someone to help check it out, finding someone with your 
combination of tools is unlikely. If you add something to the tools to 
support a new feature and this is of use to other RTEMS users then 
following the standard tool set makes it easier to get that change into 
a release and then the wider RTEMS community.

  Chris Johns, cjohns at

More information about the users mailing list