This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I am trying to compile a powerpc cross compiler for the MPC860. Am I better off using egcs-1.1b or gcc-2.8.1 ? I assume egcs is a better compiler (especially for C++) but is gcc more stable ? I also assume that egcs has better powerpc support but it is just a guess. I've tried the following targets for a linux hosted powerpc cross compiler. --target=ppc-elf --target=ppc-eabi I got errors so I thought I'd try --target=m68k-coff as it is pretty mature. The same errors. ppc-eabi gives"as: unrecognized option `-ppc'" m68k-coff gives "as: unrecogized option -a68020" or something simialr. Is it using the correct assembler. Maybe its using the native linux i386 assembler ?? Can anyone help. Some error logs are attatched.
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 -mrelocatable-lib -mno-eabi -mstrict-align" libgcc2.a make[3]: Entering directory `/mnt/home/usr/local/src/egcs-1.1b-build/ppc-eabi/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}; \ /mnt/home/usr/local/src/egcs-1.1b-build/ppc-eabi/gcc/xgcc -B/mnt/home/usr/local/src/egcs-1.1b-build/ppc-eabi/gcc/ -O2 -DCROSS_COMPILE -DIN_GCC -g -O2 -I./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -mrelocatable-lib -mno-eabi -mstrict-align -I. -I/root/egcs-1.1b/gcc -I/root/egcs-1.1b/gcc/config -c -DL${name} \ /root/egcs-1.1b/gcc/libgcc2.c -o ${name}.o; \ if [ $? -eq 0 ] ; then true; else exit 1; fi; \ ppc-eabi-ar rc tmplibgcc2.a ${name}.o; \ rm -f ${name}.o; \ done _muldi3 as: unrecognized option `-ppc' make[3]: *** [libgcc2.a] Error 1 make[3]: Leaving directory `/mnt/home/usr/local/src/egcs-1.1b-build/ppc-eabi/gcc' make[2]: *** [stmp-multilib-sub] Error 2 make[2]: Leaving directory `/mnt/home/usr/local/src/egcs-1.1b-build/ppc-eabi/gcc' make[1]: *** [stmp-multilib] Error 1 make[1]: Leaving directory `/mnt/home/usr/local/src/egcs-1.1b-build/ppc-eabi/gcc' make: *** [cross] Error 2 [root@k9 ppc-eabi]#
make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/libiberty' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/libiberty' make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo' make all-recursive make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo' Making all in intl make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo/intl' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo/intl' Making all in lib make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo/lib' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo/lib' Making all in makeinfo make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo/makeinfo' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo/makeinfo' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/texinfo' make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/libiberty' make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/libiberty' make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/libiberty' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/libiberty' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/bfd' make all-recursive make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/bfd' Making all in doc make[4]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/bfd/doc' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/bfd/doc' make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/bfd' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/bfd' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/opcodes' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/opcodes' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/binutils' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/binutils' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/etc' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/etc' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/gas' make all-recursive make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/gas' Making all in doc make[4]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/gas/doc' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/gas/doc' make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/gas' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/gas' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/ld' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils/ld' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/binutils' Bootstrapping the compiler make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/gcc' make CC="gcc" libdir=/usr/local/egcs/lib LANGUAGES="c " make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/m68k-coff/gcc' rm -f tmplibgcc1.a libgcc1.S cp ../../../egcs-1.1b/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}; \ ./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I../../../egcs-1.1b/gcc -I../../../egcs-1.1b/gcc/config -c -DL${name} libgcc1.S; \ if [ $? -eq 0 ] ; then true; else exit 1; fi; \ mv libgcc1.o ${name}.o; \ ` if [ -f /usr/local/src/egcs-1.1b-build/m68k-coff/gcc/../binutils/ar ] ; then echo /usr/local/src/egcs-1.1b-build/m68k-coff/gcc/../binutils/ar ; else if [ "i586-pc-linux-gnu" = "m68k-unknown-coff" ] ; then echo ar; else t='s,x,x,'; echo ar | sed -e $t ; fi; fi` rc tmplibgcc1.a ${name}.o; \ rm -f ${name}.o; \ done _mulsi3 make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/gcc' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/m68k-coff/gcc'
make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/libiberty' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/libiberty' make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo' make all-recursive make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo' Making all in intl make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo/intl' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo/intl' Making all in lib make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo/lib' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo/lib' Making all in makeinfo make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo/makeinfo' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo/makeinfo' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/texinfo' make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/libiberty' make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/libiberty' make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/libiberty' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/libiberty' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/bfd' make all-recursive make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/bfd' Making all in doc make[4]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/bfd/doc' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/bfd/doc' make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/bfd' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/bfd' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/opcodes' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/opcodes' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/binutils' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/binutils' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/etc' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/etc' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/gas' make all-recursive make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/gas' Making all in doc make[4]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/gas/doc' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/gas/doc' make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/gas' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/gas' make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/ld' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils/ld' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/binutils' Bootstrapping the compiler make[1]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/gcc' make CC="gcc" libdir=/usr/local/egcs/lib LANGUAGES="c " make[2]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/gcc' for i in `./xgcc -B./ --print-multi-lib`; do \ dir=`echo $i | sed -e 's/;.*$//'`; \ flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ make GCC_FOR_TARGET="./xgcc -B./" \ AR="` if [ -f /usr/local/src/egcs-1.1b-build/ppc-elf/gcc/../binutils/ar ] ; then echo /usr/local/src/egcs-1.1b-build/ppc-elf/gcc/../binutils/ar ; else if [ "i586-pc-linux-gnu" = "powerpc-unknown-elf" ] ; then echo ar; else t='s,x,x,'; echo ar | sed -e $t ; fi; fi`" AR_FLAGS="rc" CC="gcc" CFLAGS="-g" \ RANLIB="` if [ -f /usr/local/src/egcs-1.1b-build/ppc-elf/gcc/../binutils/ranlib ] ; then echo /usr/local/src/egcs-1.1b-build/ppc-elf/gcc/../binutils/ranlib ; else if [ "i586-pc-linux-gnu" = "powerpc-unknown-elf" ] ; then echo ranlib; else t='s,x,x,'; echo ranlib | sed -e $t ; fi; fi`" RANLIB_TEST="[ -f ` if [ -f /usr/local/src/egcs-1.1b-build/ppc-elf/gcc/../binutils/ranlib ] ; then echo /usr/local/src/egcs-1.1b-build/ppc-elf/gcc/../binutils/ranlib ; else if [ "i586-pc-linux-gnu" = "powerpc-unknown-elf" ] ; then echo ranlib; else t='s,x,x,'; echo ranlib | sed -e $t ; fi; fi` ] || ( [ "i586-pc-linux-gnu" = "powerpc-unknown-elf" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] )" \ LANGUAGES="c " \ HOST_PREFIX="" HOST_PREFIX_1="loser-" \ LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc ${flags}" \ MULTILIB_CFLAGS="${flags}" \ LIBGCC1="" LIBGCC2="libgcc2.a" \ dir="${dir}" stmp-multilib-sub; \ if [ $? -eq 0 ] ; then true; else exit 1; fi; \ done make[3]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/gcc' rm -f libgcc2.a if [ -d . ]; then \ cd .; \ rm -f libgcc.a ecrti.o ecrtn.o scrt0.o scrti.o scrtn.o; \ else true; \ fi make GCC_FOR_TARGET="./xgcc -B./" \ AR="ar" AR_FLAGS="rc" CC="gcc" CFLAGS="-g" \ HOST_PREFIX="" HOST_PREFIX_1="loser-" \ LANGUAGES="c " \ LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -mstrict-align" libgcc2.a make[4]: Entering directory `/usr/local/src/egcs-1.1b-build/ppc-elf/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}; \ ./xgcc -B./ -O2 -DCROSS_COMPILE -DIN_GCC -g -I./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -mstrict-align -I. -I../../../egcs-1.1b/gcc -I../../../egcs-1.1b/gcc/config -c -DL${name} \ ../../../egcs-1.1b/gcc/libgcc2.c -o ${name}.o; \ if [ $? -eq 0 ] ; then true; else exit 1; fi; \ ar rc tmplibgcc2.a ${name}.o; \ rm -f ${name}.o; \ done _muldi3 make[4]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/gcc' make[3]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/gcc' make[2]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/gcc' make[1]: Leaving directory `/usr/local/src/egcs-1.1b-build/ppc-elf/gcc'