cjohns at cybertec.com.au
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
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
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 cybertec.com.au
More information about the users