On Thursday 14 May 2009 09:31, you wrote:
[...]
> I like that solution.  Is this correct?
>
> Index: setjmp.S
> ===================================================================
> RCS file: /sources/avr-libc/avr-libc/libc/stdlib/setjmp.S,v
> retrieving revision 1.7
> diff -u -r1.7 setjmp.S
> --- setjmp.S    1 Apr 2009 23:11:00 -0000       1.7
> +++ setjmp.S    13 May 2009 22:29:57 -0000
> @@ -155,8 +155,10 @@
>  #if  defined(__AVR_3_BYTE_PC__) && __AVR_3_BYTE_PC__
>         ld      __tmp_reg__, X+
>  .L_eijmp:
> -       out     AVR_EXTENDED_INDIRECT_ADDR, __tmp_reg__
> -       eijmp
> +       push    ZL
> +       push    ZH
> +       push    __tmp_reg__
> +       ret
>  #else
>         ijmp
>  #endif

Yes, it is.
And some optimization is needed to exclude pop/push sequences.

Dmitry.




_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to