summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2013-03-05 14:39:39 +0000
committerTom Rini <trini@ti.com>2013-03-15 16:13:58 -0400
commit716cc8cc7f0b935db1b7262cf73b00c9e0ea76ee (patch)
treeb9ddba60a4f8ee455a7a70b388fbbf70b41670d7
parente103b7ae903dffc8e35cd676c1a72712dec14382 (diff)
Change stub example to use asm-generic/sections.h
We can use the declarations of __bss_start and _end from this header instead of declaring them locally. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/mips/include/asm/u-boot-mips.h4
-rw-r--r--arch/nds32/include/asm/u-boot-nds32.h8
-rw-r--r--arch/x86/include/asm/u-boot-x86.h6
-rw-r--r--examples/standalone/stubs.c7
4 files changed, 12 insertions, 13 deletions
diff --git a/arch/mips/include/asm/u-boot-mips.h b/arch/mips/include/asm/u-boot-mips.h
index a483166a9c9..e77636eaaf6 100644
--- a/arch/mips/include/asm/u-boot-mips.h
+++ b/arch/mips/include/asm/u-boot-mips.h
@@ -7,7 +7,7 @@
static inline unsigned long bss_start(void)
{
- extern ulong __bss_start;
+ extern char __bss_start[];
return (unsigned long) &__bss_start;
}
@@ -19,7 +19,7 @@ static inline unsigned long bss_end(void)
static inline unsigned long image_copy_end(void)
{
- extern ulong __image_copy_end;
+ extern char __image_copy_end[];
return (unsigned long) &__image_copy_end;
}
diff --git a/arch/nds32/include/asm/u-boot-nds32.h b/arch/nds32/include/asm/u-boot-nds32.h
index a6d7bebf6fc..f3c7b271e97 100644
--- a/arch/nds32/include/asm/u-boot-nds32.h
+++ b/arch/nds32/include/asm/u-boot-nds32.h
@@ -30,10 +30,10 @@
#define _U_BOOT_NDS32_H_ 1
/* for the following variables, see start.S */
-extern ulong __bss_start; /* BSS start relative to _start */
-extern ulong __bss_end; /* BSS end relative to _start */
-extern ulong _end; /* end of image relative to _start */
-extern ulong _start; /* start of image relative to _start */
+extern char __bss_start[]; /* BSS start relative to _start */
+extern ulong __bss_end; /* BSS end relative to _start */
+extern char _end[]; /* end of image relative to _start */
+extern void _start(void); /* start of image relative to _start */
extern ulong _TEXT_BASE; /* code start */
extern ulong IRQ_STACK_START; /* top of IRQ stack */
extern ulong FIQ_STACK_START; /* top of FIQ stack */
diff --git a/arch/x86/include/asm/u-boot-x86.h b/arch/x86/include/asm/u-boot-x86.h
index 948615d4385..3e380fe81d1 100644
--- a/arch/x86/include/asm/u-boot-x86.h
+++ b/arch/x86/include/asm/u-boot-x86.h
@@ -25,13 +25,13 @@
#define _U_BOOT_I386_H_ 1
/* Exports from the Linker Script */
-extern ulong __text_start;
+extern char __text_start[];
extern ulong __data_end;
extern ulong __rel_dyn_start;
extern ulong __rel_dyn_end;
-extern ulong __bss_start;
+extern char __bss_start[];
extern ulong __bss_end;
-extern ulong _end;
+extern char _end[];
/* cpu/.../cpu.c */
int x86_cpu_init_r(void);
diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c
index 15e9afcacd0..8fb17653b0d 100644
--- a/examples/standalone/stubs.c
+++ b/examples/standalone/stubs.c
@@ -217,16 +217,15 @@ void __attribute__((unused)) dummy(void)
#include <_exports.h>
}
-extern unsigned long __bss_start, _end;
+#include <asm/sections.h>
void app_startup(char * const *argv)
{
- unsigned char * cp = (unsigned char *) &__bss_start;
+ char *cp = __bss_start;
/* Zero out BSS */
- while (cp < (unsigned char *)&_end) {
+ while (cp < _end)
*cp++ = 0;
- }
#if defined(CONFIG_X86)
/* x86 does not have a dedicated register for passing global_data */