avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Re: New linux binaries available


From: Michel Catudal
Subject: Re: [avr-gcc-list] Re: New linux binaries available
Date: Sun, 18 Mar 2001 23:32:02 -0500

Denis Chertykov a écrit :
> 
> > My log is identical to yours.
> 
> So, compile binutils.
> Compile your C file as `avr-gcc -Os -S your-c-file', than
> cd to binutils/gas build directory and run
> `as-new your-c-file.s'
> 
> Is you have `Error: register required' ?
> 

Sorry about the delay in responding but I've been busy with a son
with 2 broken arms, and a lot of other things.

Last night I downloaded both latest CVS trees. Binutils from the RedHat CVS
and gcc from the GCC CVS. Binutils compiled without any problem. I now get
some different errors on the compiler. I did compile a C program as you
requested. I didn't get any error.

Here is the result of the compile of gcc. I did assemble the generated file
with avr-as generated by the binutils and got no error. gcc seems to be
the thing that is broken right now.

I have binutils installed on /usr/local/bin


Adding -save-temps in /usr/src/packages/BUILD/avr-gcc-010317/gcc/libgcc.mk
to the first compile I get this


if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi
./xgcc -B./ -B/usr/local/avr/bin/ -isystem /usr/local/avr/include -save-temps 
-O2  -DCROSS_COMPILE -DIN_GCC    -W -Wall -Wwrite-strings -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. -I./. -I./config 
-I./../include -DL_mulqi3 -xassembler-with-cpp -c ./config/avr/libgcc.S
-o libgcc/./_mulqi3.o
libgcc.s: Assembler messages:
libgcc.s:23: Error: suffix or operands invalid for `clr'
libgcc.s:23: Error: no such instruction: `clear result'
libgcc.s:25: Error: no such instruction: `sbrc r24,0'
libgcc.s:26: Error: too many memory references for `add'
libgcc.s:27: Error: too many memory references for `add'
libgcc.s:27: Error: no such instruction: `shift multiplicand'
libgcc.s:28: Error: no such instruction: `breq __mulqi3_exit'
libgcc.s:28: Error: no such instruction: `while multiplicand!=0'
libgcc.s:29: Error: no such instruction: `lsr r24'
libgcc.s:30: Error: no such instruction: `brne __mulqi3_loop'
libgcc.s:30: Error: no such instruction: `exit if multiplier=0'
libgcc.s:32: Error: too many memory references for `mov'
libgcc.s:32: Error: no such instruction: `result to return register'
make[1]: *** [libgcc/./_mulqi3.o] Error 1
make[1]: Leaving directory `/usr/src/packages/BUILD/avr-gcc-010317/gcc'

and this is libgcc.s generated

# 40 "config/avr/libgcc.S"
        .section .text.libgcc, "ax", @progbits

        .macro mov_l r_dest, r_src



        mov \r_dest, \r_src

        .endm

        .macro mov_h r_dest, r_src



        mov \r_dest, \r_src

        .endm
# 69 "config/avr/libgcc.S"
        .global __mulqi3
        .func __mulqi3
__mulqi3:
        clr r0 ; clear result
__mulqi3_loop:
        sbrc r24,0
        add r0,r22
        add r22,r22 ; shift multiplicand
        breq __mulqi3_exit ; while multiplicand != 0
        lsr r24 ;
        brne __mulqi3_loop ; exit if multiplier = 0
__mulqi3_exit:
        mov r24,r0 ; result to return register
        ret





.endfunc


-- 
Tired of Microsoft's rebootive multitasking?
then it's time to upgrade to Linux.
http://www.netonecom.net/~bbcat
We have all kinds of links
and many SuSE 7.0 Linux RPM packages



reply via email to

[Prev in Thread] Current Thread [Next in Thread]