--- Comment #6 from Eric dot Doenges at betty-tv dot com 2006-04-26 06:26
---
Unfortunately, removing the __asm__ (r0) from __r0 does not circumvent the
problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27308
: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: blocker
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Eric dot Doenges at betty-tv dot com
GCC host triplet: powerpc-apple-darwin8.5.0
GCC
: Eric dot Doenges at betty-tv dot com
GCC host triplet: powerpc-apple-darwin8.5.0
GCC target triplet: arm-elf-unknown
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27308
--- Comment #3 from Eric dot Doenges at betty-tv dot com 2006-04-25 14:37
---
Storing the result to memory generates correct code
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27308
--- Comment #4 from Eric dot Doenges at betty-tv dot com 2006-04-25 14:43
---
Removing the __asm__ (r0) from __res works around the bug - but then I cannot
depend on gcc
always allocating r0 for __res, can I ? I found no other way to tell gcc which
registers it must use.
I'm assuming
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Eric dot Doenges at betty-tv dot com
GCC host triplet: powerpc-apple-darwin8.5.0
GCC target
--- Comment #2 from Eric dot Doenges at betty-tv dot com 2006-04-04 09:13
---
(In reply to comment #1)
This code is undefined:
len = ((unsigned int)_ram_erase_sector_end
- (unsigned int)_ram_erase_sector_start) / sizeof(unsigned int);
That is obviously undefined