eCos is built using
the GNU C and C++ compilers. eCos relies on certain features of these
tools such as constructor priority ordering and selective linking
which are not part of other toolchains.
Some GCC options are required for eCos,
and others can be useful. This chapter gives a brief description
of the required options as well as some recommended eCos-specific options.
All other GCC options (described in the GCC manuals)
are available.
The following command lines demonstrate the
minimum set of options required to
compile and link an eCos program written in C.
Note: Remember that when this manual shows
TARGET-gcc
you should use the full name of the cross compiler,
e.g. i386-elf-gcc,
arm-elf-gcc, or
sh-elf-gcc. When compiling for the
synthetic Linux target, use the native
gcc which must have the features
required by eCos.
Note: Certain targets may require extra options, for example
the SPARClite architectures require the option
-mcpu=sparclite. Examine the
BASE_DIR/examples/Makefile
or the “Global compiler flags” option
(CYGBLD_GLOBAL_CFLAGS) in your generated
eCos configuration) to see if any extra options are
required, and if so, what they are.
The following command lines use some other options
which are recommended because they use the
selective linking feature: