Fix alignment error on ARM for modules

Fix alignment fault on ARM when running modules.  With out an explicit
linker file gcc4.2.1 will half word align __bss_start's value.  The word
dereference will crash hello_world.

signed-off-by Richard Woodruff <r-woodruff2@ti.com>
This commit is contained in:
Woodruff, Richard 2008-02-29 17:34:35 -06:00 committed by Wolfgang Denk
parent ce1120dd70
commit 118978c8eb
2 changed files with 6 additions and 2 deletions

View file

@ -30,8 +30,12 @@ LOAD_ADDR = 0x40000
endif
ifeq ($(ARCH),arm)
ifeq ($(BOARD),omap2420h4)
LOAD_ADDR = 0x80300000
else
LOAD_ADDR = 0xc100000
endif
endif
ifeq ($(ARCH),mips)
LOAD_ADDR = 0x80200000 -T mips.lds

View file

@ -190,10 +190,10 @@ extern unsigned long __bss_start, _end;
void app_startup(char **argv)
{
unsigned long * cp = &__bss_start;
unsigned char * cp = (unsigned char *) &__bss_start;
/* Zero out BSS */
while (cp < &_end) {
while (cp < (unsigned char *)&_end) {
*cp++ = 0;
}