From 118978c8eb43803e2794233922df4249fa278b83 Mon Sep 17 00:00:00 2001 From: "Woodruff, Richard" Date: Fri, 29 Feb 2008 17:34:35 -0600 Subject: 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 --- examples/Makefile | 4 ++++ examples/stubs.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/Makefile b/examples/Makefile index d63fa703232..60a6f5ea56d 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -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 diff --git a/examples/stubs.c b/examples/stubs.c index 9b3cadde33f..b9dbcf9065b 100644 --- a/examples/stubs.c +++ b/examples/stubs.c @@ -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; } -- cgit v1.2.3 From dfece9500556bed5d8244b1c15d973cec7c25bfe Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Tue, 4 Mar 2008 11:58:26 +0100 Subject: examples/Makefile: build "hello_world" on 8xx, too. Signed-off-by: Wolfgang Denk --- examples/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/Makefile b/examples/Makefile index 60a6f5ea56d..c5d629b68ad 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -77,9 +77,9 @@ SREC = hello_world.srec BIN = hello_world.bin ifeq ($(CPU),mpc8xx) -ELF = test_burst -SREC = test_burst.srec -BIN = test_burst.bin +ELF += test_burst +SREC += test_burst.srec +BIN += test_burst.bin endif ifeq ($(ARCH),i386) -- cgit v1.2.3