mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
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:
parent
ce1120dd70
commit
118978c8eb
2 changed files with 6 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue