[ECOS] gcc build problems
Johan Almquist
joal@vtd.volvo.se
Thu Oct 12 03:29:00 GMT 2000
Hi,
I get a compilation error when I try to build a cross compiler for
m68k-elf. I followed the instructions on
http://sources.redhat.com/ecos/tools/win-powerpc-eabi.html , except that I
configured for target m68k-elf instead of powerpc-eabi. The binutils built
without any trouble, but gcc stops and shows the error messages included
below.
Does anyone know what might be missing?
Thanks
/Johan Almquist
if [ -f libgcc2.ready ] ; then \
true; \
else \
touch libgcc2.ready; \
fi
rm -f tmplibgcc1.a libgcc1.S
cp /cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/config/m68k/lb1sf68.asm libgcc1.S
for name in _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float
_floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2
_gesf2 _ltsf2 _lesf2; \
do \
echo ${name}; \
/tmp/build/gcc/xgcc -B/tmp/build/gcc/
-B/tools/H-i686-pc-cygwin/m68k-elf/bin/
-I/tools/H-i686-pc-cygwin/m68k-elf/include -O2 -DCROSS_COMPILE -DIN_GCC
-g -O2 -I./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-Dinhibit_libc -I. -I/cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc
-I/cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/config
-I/cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/../include -c -DL${name}
libgcc1.S; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
mv libgcc1.o ${name}.o; \
m68k-elf-ar rc tmplibgcc1.a ${name}.o; \
rm -f ${name}.o; \
done
_mulsi3
_udivsi3
_divsi3
_umodsi3
_modsi3
_double
_float
_floatex
_eqdf2
_nedf2
_gtdf2
_gedf2
_ltdf2
_ledf2
_eqsf2
_nesf2
_gtsf2
_gesf2
_ltsf2
_lesf2
rm -f libgcc1.S
mv tmplibgcc1.a libgcc1-asm.a
cp /cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/config/m68k/fpgnulib.c fpgnulib.c
echo '#define EXTFLOAT' > xfgnulib.c
cat /cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/config/m68k/fpgnulib.c >>
xfgnulib.c
case " c c++ " in \
*" "[cC]"++ "*) \
echo tinfo.o tinfo2.o new.o opnew.o opnewnt.o opvnew.o opvnewnt.o opdel.o
opdelnt.o opvdel.o opvdelnt.o exception.o > cplib2.new;; \
*) \
echo "" > cplib2.new;; \
esac
mv -f cplib2.new cplib2.txt
for i in `/tmp/build/gcc/xgcc -B/tmp/build/gcc/
-B/tools/H-i686-pc-cygwin/m68k-elf/bin/
-I/tools/H-i686-pc-cygwin/m68k-elf/include --print-multi-lib`; do \
dir=`echo $i | sed -e 's/;.*$//'`; \
flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
make GCC_FOR_TARGET="/tmp/build/gcc/xgcc -B/tmp/build/gcc/
-B/tools/H-i686-pc-cygwin/m68k-elf/bin/
-I/tools/H-i686-pc-cygwin/m68k-elf/include" \
AR_FOR_TARGET="m68k-elf-ar" \
AR_FLAGS_FOR_TARGET="rc" \
CC="gcc" CFLAGS="-g -O2" \
RANLIB_FOR_TARGET="m68k-elf-ranlib" \
RANLIB_TEST_FOR_TARGET="[ -f m68k-elf-ranlib ] || ( [
"i686-pc-cygwin32" = "m68k-unknown-elf" ] && [ -f /usr/bin/ranlib -o -f
/bin/ranlib ] )" \
LANGUAGES="c c++" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -O2 -I./include
-g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc ${flags}" \
MULTILIB_CFLAGS="${flags}" \
LIBGCC1="libgcc1-asm.a" LIBGCC2="libgcc2.a" \
dir="${dir}" stmp-multilib-sub; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
done
make[2]: Entering directory `/tmp/build/gcc'
rm -f libgcc2.a
if [ -d . ]; then \
cd .; \
rm -f libgcc.a ; \
else true; \
fi
make GCC_FOR_TARGET="/tmp/build/gcc/xgcc -B/tmp/build/gcc/
-B/tools/H-i686-pc-cygwin/m68k-elf/bin/
-I/tools/H-i686-pc-cygwin/m68k-elf/include" \
AR_FOR_TARGET="m68k-elf-ar" \
AR_FLAGS_FOR_TARGET="rc" \
CC="gcc" CFLAGS="-g -O2" \
HOST_PREFIX="" HOST_PREFIX_1="loser-" \
LANGUAGES="c c++" \
LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -O2 -I./include
-g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc " libgcc2.a
make[3]: Entering directory `/tmp/build/gcc'
rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3
_ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi
_fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _bb _shtab
_clear_cache _trampoline __main _exit _ctors _pure; \
do \
echo ${name}; \
/tmp/build/gcc/xgcc -B/tmp/build/gcc/
-B/tools/H-i686-pc-cygwin/m68k-elf/bin/
-I/tools/H-i686-pc-cygwin/m68k-elf/include -O2 -DCROSS_COMPILE -DIN_GCC
-g -O2 -I./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-Dinhibit_libc -I. -I/cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc
-I/cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/config
-I/cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/../include -c -DL${name} \
/cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/libgcc2.c -o ${name}.o; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
m68k-elf-ar rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done
_muldi3
In file included from /cygdrive/d/gnu/src/gcc/gcc-2.95.2/gcc/libgcc2.c:48:
include/stddef.h:1: Invalid token in expression
make[3]: *** [libgcc2.a] Error 1
make[3]: Leaving directory `/tmp/build/gcc'
make[2]: *** [stmp-multilib-sub] Error 2
make[2]: Leaving directory `/tmp/build/gcc'
make[1]: *** [stmp-multilib] Error 1
make[1]: Leaving directory `/tmp/build/gcc'
make: *** [all-gcc] Error 2
make: Leaving directory `/tmp/build'
More information about the Ecos-discuss
mailing list