[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RTEMS vs. egcs-1.1a

Eric Norum wrote:

> My attempts at building an m68k-rtems egcs-1.1 haven't been very
> successful.

I seem to have found a reliable way to build/bootstrap the cross-toolchain, without
having any cross-tools installed:

1) Build a unified source tree (one-tree) of all tools
cp -a /lfs/hermes/embedded/newlib-1.8.0-rtems-19980707/* ${SRCDIR}
cp -a /usr/src/packages/egcs/egcs-1.1b/* ${SRCDIR}
cp -a /usr/src/packages/gas/gas-980902/* ${SRCDIR}

2) configure for the target
${SRCDIR}/configure --with-newlib --target=.. --prefix=...

3) build the cross-compiler
make "LANGUAGES=c c++" all
make "LANGUAGES=c c++" install
make all
make install

Furthermore, I noticed:
* The toplevel configure scripts (cygnus configure scripts) in gas and egcs are
inconsistent, i.e. egcs' configure script doesn't work with gas-snapshots
(binutils-2.9.2 snapshots). egcs' toplevel configure script doesn't support
libintl, and gas' configure script does not support "make cross". However I assume
egcs' configure script to work with binutils-2.9.1.
* Using a symlinked one-tree presumably works for egcs+binutils, but doesn't seem
to work with gas-snapshots.
* Once a c/c++ toolchain has been installed, "make all and/or make install" seems
to be sufficient for a full build over all languages (objc seems to access include
files from the installed tool-chain when building egcs) for many targets, but fails
for some.
* I successfully applied the procedure above for --target=sh-rtems and
--target=m68k-rtems on a linux host, alternatively using ether gcc- or
egcs-1.1b in conjunction with binutils-


Ralf Corsepius
Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung (FAW)
Helmholtzstr. 16, 89081 Ulm, Germany     Tel: +49/731/501-8690
mailto:corsepiu at faw.uni-ulm.de           FAX: +49/731/501-999