[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global
From: |
Dmitry K. |
Subject: |
Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers |
Date: |
Fri, 14 Jan 2005 08:58:51 +1000 |
User-agent: |
KMail/1.5 |
On Friday 14 January 2005 08:00, you wrote:
> What is the expected result from the testsuite? It bails out for me
> at:
>
> -------- Preservation call-saved regs: at90s2313 -O1
>
> Simulating a at90s2313 device.
>
> WARNING: file avrcore.c: line 1135: Device does not have PORTC.
> *** Simulate: exit with non-zero code
Yes! Test work!
I use avr-gcc 3.3 branch only.
I try 3.4.1: generated code differ !!!
avr-gcc-3.3.4 -Os -S test.c:
~~~~~~~~~~~~~
foo:
/* prologue: frame size=0 */
push r3
...
push r17
push r28
push r29
/* prologue end (size=17) */
ldi r24,lo8(env)
ldi r25,hi8(env)
rcall setjmp
or r24,r25
brne .L3
clr r2
ldi r22,lo8(1)
ldi r23,hi8(1)
ldi r24,lo8(env)
ldi r25,hi8(env)
rcall longjmp
.L3:
mov r24,r2
clr r25
/* epilogue: frame size=0 */
pop r29
pop r28
pop r17
...
pop r3
ret
avr-gcc-3.4.1 -Os -S test.c:
~~~~~~~~~~~~~
foo:
/* prologue: frame size=0 */
/* prologue end (size=0) */
ldi r24,lo8(env)
ldi r25,hi8(env)
rcall setjmp
or r24,r25
brne .L3
clr r2
ldi r22,lo8(1)
ldi r23,hi8(1)
ldi r24,lo8(env)
ldi r25,hi8(env)
rcall longjmp
.L3:
mov r24,r2
clr r25
/* epilogue: frame size=0 */
ret
Thanks, I will look, why it is.
- [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Eric Weddington, 2005/01/07
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Dmitry K., 2005/01/08
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Dmitry K., 2005/01/09
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Dmitry K., 2005/01/10
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Joerg Wunsch, 2005/01/13
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers,
Dmitry K. <=
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Dmitry K., 2005/01/13
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Joerg Wunsch, 2005/01/14
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Paul Schlie, 2005/01/14
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Joerg Wunsch, 2005/01/14
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Paul Schlie, 2005/01/14
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, E. Weddington, 2005/01/14
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, E. Weddington, 2005/01/14
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Dmitry K., 2005/01/14
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Dmitry K., 2005/01/15
- Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers, Joerg Wunsch, 2005/01/16