[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/blockcausehanginATme
From: |
Dmitry K. |
Subject: |
Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/blockcausehanginATmega256x |
Date: |
Thu, 10 Apr 2008 08:19:56 +1100 |
User-agent: |
KMail/1.5 |
On Thursday 10 April 2008 06:54, Weddington, Eric wrote:
> > /* avr-gcc 4.4-20080404 + binutils 2.18 produce incorrect code: the
> > foo4()
> > function stores 0 value to 'vp' variable.
> > Options: -W -Wall -Os -mmcu=atmega2560
> > */
> >
> > The code generated by 4.3.0 + Andy's combine patch shows that
> > the foo4()
> > function does NOT store 0 value to 'vp' variable. At least that's my
> > interpretation. As to the validity of what it is storing, I don't know
> > about that.
>
> On further reflection, let me add to the above.
>
> Dmitry, did you mean that this code:
> ldi r24,lo8(gs(foo4))
> ldi r25,hi8(gs(foo4))
> sts (vp)+1,r25
> sts vp,r24
> Stores an effective 0 value to 'vp'? That lo8(gs(foo4)) and hi(gs(foo4))
> evaluate to zero? I was interpreting what you wrote as it stored an
> immediate value of zero to 'vp'. I do not have a FSF GCC stock 4.3.0
> (unpatched) on which to reproduce here. Could you perhaps show the
> assembly that it produces?
Hi.
Yes, I have obtain the same result of compilation.
Incorrect is result of linking (avr-objdump -d):
ldi r24, 0
ldi r25, 0
in case of foo4() only.
The trampoline stub for foo4() was created correctly.
Regards,
Dmitry.
- [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hang in ATmega256x, Stu Bell, 2008/04/08
- [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hang in ATmega256x, Eric Weddington, 2008/04/08
- Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hang in ATmega256x, Dmitry K., 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hangin ATmega256x, Weddington, Eric, 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehangin ATmega256x, Weddington, Eric, 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehanginATmega256x, Stu Bell, 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehanginATmega256x, Weddington, Eric, 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehanginATmega256x, Stu Bell, 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehanginATmega256x, Weddington, Eric, 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/blockcausehanginATmega256x, Weddington, Eric, 2008/04/09
- Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/blockcausehanginATmega256x,
Dmitry K. <=
- Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/blockcausehanginATmega256x, Dmitry K., 2008/04/09
- Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehanginATmega256x, Erik Christiansen, 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/blockcausehanginATmega256x, Stu Bell, 2008/04/10
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hangin ATmega256x, Stu Bell, 2008/04/09
- Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hangin ATmega256x, Dmitry K., 2008/04/09
- RE: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehangin ATmega256x, Weddington, Eric, 2008/04/09
- Re: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block causehangin ATmega256x, Dmitry K., 2008/04/09