mtd/uclinux: Use generic __bss_stop instead of _ebss
The standard (see BSS_SECTION() in <asm-generic/vmlinux.lds.h> and <asm-generic/sections.h>) symbol for the end of BSS is __bss_stop. This allows to remove all local declarations that have been added to several architectures just to please CONFIG_MTD_UCLINUX. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Michal Simek <monstr@monstr.eu> Acked-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
extern long __nosave_begin, __nosave_end;
|
||||
extern long __machvec_start, __machvec_end;
|
||||
extern char __uncached_start, __uncached_end;
|
||||
extern char _ebss[];
|
||||
extern char __start_eh_frame[], __stop_eh_frame[];
|
||||
|
||||
#endif /* __ASM_SH_SECTIONS_H */
|
||||
|
@@ -273,7 +273,7 @@ void __init setup_arch(char **cmdline_p)
|
||||
data_resource.start = virt_to_phys(_etext);
|
||||
data_resource.end = virt_to_phys(_edata)-1;
|
||||
bss_resource.start = virt_to_phys(__bss_start);
|
||||
bss_resource.end = virt_to_phys(_ebss)-1;
|
||||
bss_resource.end = virt_to_phys(__bss_stop)-1;
|
||||
|
||||
#ifdef CONFIG_CMDLINE_OVERWRITE
|
||||
strlcpy(command_line, CONFIG_CMDLINE, sizeof(command_line));
|
||||
|
@@ -19,7 +19,6 @@ EXPORT_SYMBOL(csum_partial);
|
||||
EXPORT_SYMBOL(csum_partial_copy_generic);
|
||||
EXPORT_SYMBOL(copy_page);
|
||||
EXPORT_SYMBOL(__clear_user);
|
||||
EXPORT_SYMBOL(_ebss);
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
||||
#define DECLARE_EXPORT(name) \
|
||||
|
@@ -78,7 +78,6 @@ SECTIONS
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_end = .;
|
||||
BSS_SECTION(0, PAGE_SIZE, 4)
|
||||
_ebss = .; /* uClinux MTD sucks */
|
||||
_end = . ;
|
||||
|
||||
STABS_DEBUG
|
||||
|
@@ -39,7 +39,7 @@
|
||||
*
|
||||
* Make sure the stack pointer contains a valid address. Valid
|
||||
* addresses for kernel stacks are anywhere after the bss
|
||||
* (after _ebss) and anywhere in init_thread_union (init_stack).
|
||||
* (after __bss_stop) and anywhere in init_thread_union (init_stack).
|
||||
*/
|
||||
#define STACK_CHECK() \
|
||||
mov #(THREAD_SIZE >> 10), r0; \
|
||||
@@ -60,7 +60,7 @@
|
||||
cmp/hi r2, r1; \
|
||||
bf stack_panic; \
|
||||
\
|
||||
/* If sp > _ebss then we're OK. */ \
|
||||
/* If sp > __bss_stop then we're OK. */ \
|
||||
mov.l .L_ebss, r1; \
|
||||
cmp/hi r1, r15; \
|
||||
bt 1f; \
|
||||
@@ -70,7 +70,7 @@
|
||||
cmp/hs r1, r15; \
|
||||
bf stack_panic; \
|
||||
\
|
||||
/* If sp > init_stack && sp < _ebss, not OK. */ \
|
||||
/* If sp > init_stack && sp < __bss_stop, not OK. */ \
|
||||
add r0, r1; \
|
||||
cmp/hs r1, r15; \
|
||||
bt stack_panic; \
|
||||
@@ -292,8 +292,6 @@ stack_panic:
|
||||
nop
|
||||
|
||||
.align 2
|
||||
.L_ebss:
|
||||
.long _ebss
|
||||
.L_init_thread_union:
|
||||
.long init_thread_union
|
||||
.Lpanic:
|
||||
|
Reference in New Issue
Block a user