[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