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 had this same problem. I believe I had to set my path so that the gas(as - gnu assembler) path was first in my path. Otherwise it seemed that xgcc (intermediate compiler) was calling gas(as) from my /usr/bin. What the real fix is I dont know. :) Vaughan ---Brendan Simon <brendan@dgs.monash.edu.au> wrote: > > > 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' > _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com ________________________________________________ To get help for the crossgcc list, send mail to crossgcc-request@cygnus.com with the text 'help' (without the quotes) in the body of the message.