From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Richard Hanrick" To: Subject: error creating cross compiler for avr when compiling libgcc.S Date: Thu, 11 Oct 2001 18:26:00 -0000 Message-id: X-SW-Source: 2001-10/msg00087.html I am trying to make a cross compiler for the avr series. I have RH7.2 on a Dell poweredge 2300, 512MB RAM, 2 x PII I have upgraded to GCC3.0.1 and Binutils 2.11.5 I am trying to make the cross compiler in /opt/gcc/avr (Tar file unpacked in /home/public/software/Linux/gcc/gcc-3.0.1) The configure options from /opt/gcc are; /home/public/software/Linux/gcc/gcc-3.0.1/configure --prefix=/opt/gcc/avr -- targer=avr --enable-languages=c Below I have captured the output of the make process. It stops with the error about unrecognised operands etc. This is a second run with make so a lot of files are already made. make[1]: Entering directory `/opt/gcc/libiberty' make[2]: Entering directory `/opt/gcc/libiberty/testsuite' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/opt/gcc/libiberty/testsuite' make[1]: Leaving directory `/opt/gcc/libiberty' make[1]: Entering directory `/opt/gcc/gcc' (cd intl && make all) make[2]: Entering directory `/opt/gcc/gcc/intl' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/opt/gcc/gcc/intl' (cd po && make all) make[2]: Entering directory `/opt/gcc/gcc/po' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/opt/gcc/gcc/po' make GCC_FOR_TARGET="/opt/gcc/gcc/xgcc -B/opt/gcc/gcc/ -B/opt/gcc/avr/avr/bin/ -B /opt/gcc/avr/avr/lib/ -isystem /opt/gcc/avr/avr/include" \ HOST_PREFIX="" HOST_PREFIX_1="loser-" \ AR_FOR_TARGET="avr-ar" \ AR_CREATE_FOR_TARGET="avr-ar rc" \ AR_FLAGS_FOR_TARGET="" \ OLDCC="cc" CCLIBFLAGS="-O" \ CFLAGS="-g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-protot ypes -Wtraditional -pedantic -Wno-long-long" \ RANLIB_FOR_TARGET="avr-ranlib" \ RANLIB_TEST_FOR_TARGET="[ -f avr-ranlib ] || ( [ "i686-pc-linux-gnu" = "avr-unknown-none" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] )" \ NM_FOR_TARGET="nm" AWK="gawk" \ LIBGCC2_CFLAGS="-O2 -DCROSS_COMPILE -DIN_GCC -W -Wall -Wwrite-strings -W strict-prototypes -Wmissing-prototypes -isystem ./include -DDF=SF -Dinhibit_libc -mcall-prologues -g1 -DIN_LIBGCC2 -D__GCC _FLOAT_NOT_NEEDED -Dinhibit_libc" \ INCLUDES="-I. -I. -I/home/public/software/Linux/gcc/gcc-3.0.1/gcc -I/home/pu blic/software/Linux/gcc/gcc-3.0.1/gcc/. -I/home/public/software/Linux/gcc/gc c-3.0.1/gcc/config -I/home/public/software/Linux/gcc/gcc-3.0.1/gcc/../includ e" MAYBE_USE_COLLECT2="" \ CONFIG_H="config.h auto-host.h gansidecl.h /home/public/software/Linux/gcc/gcc-3.0.1/gcc/config/i386/xm-i386.h defaults.h hwint.h tm.h gansidecl.h /home/public/software/Linux/gcc/gcc-3.0.1/gcc/config/avr/avr.h defaults.h insn-codes.h insn-flags.h" MACHMODE_H="machmode.h machmode.def" \ LIB1ASMSRC='avr/libgcc.S' \ MAKEOVERRIDES= \ -f libgcc.mk all make[2]: Entering directory `/opt/gcc/gcc' for d in libgcc avr3 libgcc/avr3 avr4 libgcc/avr4 avr5 libgcc/avr5; do \ if [ -d $d ]; then true; else mkdir $d; fi \ done if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi /opt/gcc/gcc/xgcc -B/opt/gcc/gcc/ -B/opt/gcc/avr/avr/bin/ -B/opt/gcc/avr/avr /lib/ -isystem /opt/gcc/avr/avr/include -O2 -DCROSS_COMPILE -DIN_GCC -W -Wall -Wwrite-s trings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -DDF=SF -Dinhibit_libc -mcall-prologues -g1 -DIN_LIBGCC2 -D__GCC _FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I/home/public/software/Linux/gcc/g cc-3.0.1/gcc -I/home/public/software/Linux/gcc/gcc-3.0.1/gcc/. -I/home/publi c/software/Linux/gcc/gcc-3.0.1/gcc/config -I/home/public/software/Linux/gcc/ gcc-3.0.1/gcc/../include -DL_mulqi3 -xassembler-with-cpp -c /home/public/software/Linux/gcc/gcc-3.0.1/gcc/config/avr/libgcc.S -o libgcc/./_mulqi3.o /tmp/ccSbVvcr.s: Assembler messages: /tmp/ccSbVvcr.s:23: Error: suffix or operands invalid for `clr' /tmp/ccSbVvcr.s:23: Error: no such instruction: `clear result' /tmp/ccSbVvcr.s:25: Error: no such instruction: `sbrc r24,0' /tmp/ccSbVvcr.s:26: Error: too many memory references for `add' /tmp/ccSbVvcr.s:27: Error: too many memory references for `add' /tmp/ccSbVvcr.s:27: Error: no such instruction: `shift multiplicand' /tmp/ccSbVvcr.s:28: Error: no such instruction: `breq __mulqi3_exit' /tmp/ccSbVvcr.s:28: Error: no such instruction: `while multiplicand!=0' /tmp/ccSbVvcr.s:29: Error: no such instruction: `lsr r24' /tmp/ccSbVvcr.s:30: Error: no such instruction: `brne __mulqi3_loop' /tmp/ccSbVvcr.s:30: Error: no such instruction: `exit if multiplier=0' /tmp/ccSbVvcr.s:32: Error: too many memory references for `mov' /tmp/ccSbVvcr.s:32: Error: no such instruction: `result to return register' make[2]: *** [libgcc/./_mulqi3.o] Error 1 make[2]: Leaving directory `/opt/gcc/gcc' make[1]: *** [stmp-multilib] Error 2 make[1]: Leaving directory `/opt/gcc/gcc' make: *** [all-gcc] Error 2 Please help !!!! Richard Hanrick