This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

64-bit host to AVR target



 I tried to make "GNULinux-alpha -> AVR"
 cross compiler, but finally make failed with 
 file gcc/unwind-sjlj.c

 Obviously code for handling stack push/pop is screwed 
 somehow.

 Assembly code excerpt generated by "GNULinux-alpha -> AVR" xgcc:

        ldd r26,Z+4
        ldd r27,Z+5
        mov __SPH__,r27
        mov __SPL__,r26
        push r24
        push r25
        ret

 Same thing with "SunOS-sparc -> AVR" and
  "GNULinux-i586 -> AVR" xgcc compilers:

        in __tmp_reg__,__SREG__
        cli
        out __SP_H__,r27
        out __SREG__,__tmp_reg__
        out __SP_L__,r26
        push r24
        push r25
	ret


 Compilation fails because of __SPH__ and __SPL__ which
 are not identified by avr-as.

 So what's wrong?? I guess this is some kind of
 long/int/32/64-bit problem somewhere (again) ...


Iso-H

--


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]