* [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss
@ 2012-05-31 20:55 Geert Uytterhoeven
2012-05-31 23:47 ` Paul Mundt
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2012-05-31 20:55 UTC (permalink / raw)
To: Mike Frysinger, Michal Simek, Paul Mundt, David Woodhouse,
uclinux-dev, linux-mtd
Cc: Geert Uytterhoeven
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.
Not-Yet-Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
This is a prerequisite for some future m68k changes:
- replacing the m68k-specific _[se]bss by the generic __bss_{start,stop},
- using the asm-generic version of <asm/sections.h>.
---
arch/blackfin/kernel/setup.c | 1 -
arch/microblaze/include/asm/sections.h | 4 ----
arch/microblaze/kernel/microblaze_ksyms.c | 3 ---
arch/microblaze/kernel/setup.c | 4 ++--
arch/microblaze/kernel/vmlinux.lds.S | 1 -
arch/sh/include/asm/sections.h | 1 -
arch/sh/kernel/setup.c | 2 +-
arch/sh/kernel/sh_ksyms_32.c | 1 -
arch/sh/kernel/vmlinux.lds.S | 1 -
arch/sh/lib/mcount.S | 8 +++-----
drivers/mtd/maps/uclinux.c | 5 ++---
11 files changed, 8 insertions(+), 23 deletions(-)
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index ada8f0f..fb96e60 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -52,7 +52,6 @@ EXPORT_SYMBOL(reserved_mem_dcache_on);
#ifdef CONFIG_MTD_UCLINUX
extern struct map_info uclinux_ram_map;
unsigned long memory_mtd_end, memory_mtd_start, mtd_size;
-unsigned long _ebss;
EXPORT_SYMBOL(memory_mtd_end);
EXPORT_SYMBOL(memory_mtd_start);
EXPORT_SYMBOL(mtd_size);
diff --git a/arch/microblaze/include/asm/sections.h b/arch/microblaze/include/asm/sections.h
index 4487e15..c07ed5d 100644
--- a/arch/microblaze/include/asm/sections.h
+++ b/arch/microblaze/include/asm/sections.h
@@ -18,10 +18,6 @@ extern char _ssbss[], _esbss[];
extern unsigned long __ivt_start[], __ivt_end[];
extern char _etext[], _stext[];
-# ifdef CONFIG_MTD_UCLINUX
-extern char *_ebss;
-# endif
-
extern u32 _fdt_start[], _fdt_end[];
# endif /* !__ASSEMBLY__ */
diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c
index bb4907c..2b25bcf 100644
--- a/arch/microblaze/kernel/microblaze_ksyms.c
+++ b/arch/microblaze/kernel/microblaze_ksyms.c
@@ -21,9 +21,6 @@
#include <linux/ftrace.h>
#include <linux/uaccess.h>
-extern char *_ebss;
-EXPORT_SYMBOL_GPL(_ebss);
-
#ifdef CONFIG_FUNCTION_TRACER
extern void _mcount(void);
EXPORT_SYMBOL(_mcount);
diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c
index 16d8dfd..4da971d 100644
--- a/arch/microblaze/kernel/setup.c
+++ b/arch/microblaze/kernel/setup.c
@@ -121,7 +121,7 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
/* Move ROMFS out of BSS before clearing it */
if (romfs_size > 0) {
- memmove(&_ebss, (int *)romfs_base, romfs_size);
+ memmove(&__bss_stop, (int *)romfs_base, romfs_size);
klimit += romfs_size;
}
#endif
@@ -165,7 +165,7 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
BUG_ON(romfs_size < 0); /* What else can we do? */
printk("Moved 0x%08x bytes from 0x%08x to 0x%08x\n",
- romfs_size, romfs_base, (unsigned)&_ebss);
+ romfs_size, romfs_base, (unsigned)&__bss_stop);
printk("New klimit: 0x%08x\n", (unsigned)klimit);
#endif
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S
index 109e9d8..936d01a 100644
--- a/arch/microblaze/kernel/vmlinux.lds.S
+++ b/arch/microblaze/kernel/vmlinux.lds.S
@@ -131,7 +131,6 @@ SECTIONS {
*(COMMON)
. = ALIGN (4) ;
__bss_stop = . ;
- _ebss = . ;
}
. = ALIGN(PAGE_SIZE);
_end = .;
diff --git a/arch/sh/include/asm/sections.h b/arch/sh/include/asm/sections.h
index 4a53500..1b61997 100644
--- a/arch/sh/include/asm/sections.h
+++ b/arch/sh/include/asm/sections.h
@@ -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 */
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index 7b57bf1..ebe7a7d 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -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));
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c
index 3896f26..2a0a596 100644
--- a/arch/sh/kernel/sh_ksyms_32.c
+++ b/arch/sh/kernel/sh_ksyms_32.c
@@ -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) \
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
index c98905f..db88cbf 100644
--- a/arch/sh/kernel/vmlinux.lds.S
+++ b/arch/sh/kernel/vmlinux.lds.S
@@ -78,7 +78,6 @@ SECTIONS
. = ALIGN(PAGE_SIZE);
__init_end = .;
BSS_SECTION(0, PAGE_SIZE, 4)
- _ebss = .; /* uClinux MTD sucks */
_end = . ;
STABS_DEBUG
diff --git a/arch/sh/lib/mcount.S b/arch/sh/lib/mcount.S
index 84a5776..60164e6 100644
--- a/arch/sh/lib/mcount.S
+++ b/arch/sh/lib/mcount.S
@@ -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:
diff --git a/drivers/mtd/maps/uclinux.c b/drivers/mtd/maps/uclinux.c
index cfff454..c3bb304 100644
--- a/drivers/mtd/maps/uclinux.c
+++ b/drivers/mtd/maps/uclinux.c
@@ -19,14 +19,13 @@
#include <linux/mtd/map.h>
#include <linux/mtd/partitions.h>
#include <asm/io.h>
+#include <asm/sections.h>
/****************************************************************************/
-extern char _ebss;
-
struct map_info uclinux_ram_map = {
.name = "RAM",
- .phys = (unsigned long)&_ebss,
+ .phys = (unsigned long)__bss_stop,
.size = 0,
};
--
1.7.0.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss
2012-05-31 20:55 [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss Geert Uytterhoeven
@ 2012-05-31 23:47 ` Paul Mundt
2012-06-01 2:20 ` Mike Frysinger
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Paul Mundt @ 2012-05-31 23:47 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: David Woodhouse, Michal Simek, Mike Frysinger, uclinux-dev,
linux-mtd
On Thu, May 31, 2012 at 10:55:39PM +0200, Geert Uytterhoeven wrote:
> 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.
>
> Not-Yet-Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> This is a prerequisite for some future m68k changes:
> - replacing the m68k-specific _[se]bss by the generic __bss_{start,stop},
> - using the asm-generic version of <asm/sections.h>.
I like it. The only reason we have _ebss on sh at all is for the mtd map
anyways.
Acked-by: Paul Mundt <lethal@linux-sh.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss
2012-05-31 20:55 [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss Geert Uytterhoeven
2012-05-31 23:47 ` Paul Mundt
@ 2012-06-01 2:20 ` Mike Frysinger
2012-06-01 4:58 ` Michal Simek
2012-06-01 6:11 ` [uClinux-dev] " Greg Ungerer
3 siblings, 0 replies; 5+ messages in thread
From: Mike Frysinger @ 2012-06-01 2:20 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: linux-mtd, Michal Simek, Paul Mundt, David Woodhouse, uclinux-dev
[-- Attachment #1: Type: Text/Plain, Size: 504 bytes --]
On Thursday 31 May 2012 16:55:39 Geert Uytterhoeven wrote:
> 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.
Blackfin moves the memory & manually sets .phys, so the exact symbol used to
initialize it doesn't matter to us
Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss
2012-05-31 20:55 [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss Geert Uytterhoeven
2012-05-31 23:47 ` Paul Mundt
2012-06-01 2:20 ` Mike Frysinger
@ 2012-06-01 4:58 ` Michal Simek
2012-06-01 6:11 ` [uClinux-dev] " Greg Ungerer
3 siblings, 0 replies; 5+ messages in thread
From: Michal Simek @ 2012-06-01 4:58 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: David Woodhouse, Paul Mundt, Mike Frysinger, uclinux-dev,
linux-mtd
On 05/31/2012 10:55 PM, Geert Uytterhoeven wrote:
> 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.
>
> Not-Yet-Signed-off-by: Geert Uytterhoeven<geert@linux-m68k.org>
> ---
> This is a prerequisite for some future m68k changes:
> - replacing the m68k-specific _[se]bss by the generic __bss_{start,stop},
> - using the asm-generic version of<asm/sections.h>.
> ---
> arch/blackfin/kernel/setup.c | 1 -
> arch/microblaze/include/asm/sections.h | 4 ----
> arch/microblaze/kernel/microblaze_ksyms.c | 3 ---
> arch/microblaze/kernel/setup.c | 4 ++--
> arch/microblaze/kernel/vmlinux.lds.S | 1 -
> arch/sh/include/asm/sections.h | 1 -
> arch/sh/kernel/setup.c | 2 +-
> arch/sh/kernel/sh_ksyms_32.c | 1 -
> arch/sh/kernel/vmlinux.lds.S | 1 -
> arch/sh/lib/mcount.S | 8 +++-----
> drivers/mtd/maps/uclinux.c | 5 ++---
> 11 files changed, 8 insertions(+), 23 deletions(-)
>
Looks good to me.
Acked-by: Michal Simek <monstr@monstr.eu>
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [uClinux-dev] [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss
2012-05-31 20:55 [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss Geert Uytterhoeven
` (2 preceding siblings ...)
2012-06-01 4:58 ` Michal Simek
@ 2012-06-01 6:11 ` Greg Ungerer
3 siblings, 0 replies; 5+ messages in thread
From: Greg Ungerer @ 2012-06-01 6:11 UTC (permalink / raw)
To: uClinux development list
Cc: Michal Simek, Mike Frysinger, Paul Mundt, Geert Uytterhoeven,
linux-mtd, David Woodhouse
Hi Geert,
On 01/06/12 06:55, Geert Uytterhoeven wrote:
> 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.
Looks good to me. Compile and run tested uclinux.c changes on
ColdFire, no problems.
Acked-by: Greg Ungerer <gerg@uclinux.org>
Regards
Greg
> Not-Yet-Signed-off-by: Geert Uytterhoeven<geert@linux-m68k.org>
> ---
> This is a prerequisite for some future m68k changes:
> - replacing the m68k-specific _[se]bss by the generic __bss_{start,stop},
> - using the asm-generic version of<asm/sections.h>.
> ---
> arch/blackfin/kernel/setup.c | 1 -
> arch/microblaze/include/asm/sections.h | 4 ----
> arch/microblaze/kernel/microblaze_ksyms.c | 3 ---
> arch/microblaze/kernel/setup.c | 4 ++--
> arch/microblaze/kernel/vmlinux.lds.S | 1 -
> arch/sh/include/asm/sections.h | 1 -
> arch/sh/kernel/setup.c | 2 +-
> arch/sh/kernel/sh_ksyms_32.c | 1 -
> arch/sh/kernel/vmlinux.lds.S | 1 -
> arch/sh/lib/mcount.S | 8 +++-----
> drivers/mtd/maps/uclinux.c | 5 ++---
> 11 files changed, 8 insertions(+), 23 deletions(-)
>
> diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
> index ada8f0f..fb96e60 100644
> --- a/arch/blackfin/kernel/setup.c
> +++ b/arch/blackfin/kernel/setup.c
> @@ -52,7 +52,6 @@ EXPORT_SYMBOL(reserved_mem_dcache_on);
> #ifdef CONFIG_MTD_UCLINUX
> extern struct map_info uclinux_ram_map;
> unsigned long memory_mtd_end, memory_mtd_start, mtd_size;
> -unsigned long _ebss;
> EXPORT_SYMBOL(memory_mtd_end);
> EXPORT_SYMBOL(memory_mtd_start);
> EXPORT_SYMBOL(mtd_size);
> diff --git a/arch/microblaze/include/asm/sections.h b/arch/microblaze/include/asm/sections.h
> index 4487e15..c07ed5d 100644
> --- a/arch/microblaze/include/asm/sections.h
> +++ b/arch/microblaze/include/asm/sections.h
> @@ -18,10 +18,6 @@ extern char _ssbss[], _esbss[];
> extern unsigned long __ivt_start[], __ivt_end[];
> extern char _etext[], _stext[];
>
> -# ifdef CONFIG_MTD_UCLINUX
> -extern char *_ebss;
> -# endif
> -
> extern u32 _fdt_start[], _fdt_end[];
>
> # endif /* !__ASSEMBLY__ */
> diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c
> index bb4907c..2b25bcf 100644
> --- a/arch/microblaze/kernel/microblaze_ksyms.c
> +++ b/arch/microblaze/kernel/microblaze_ksyms.c
> @@ -21,9 +21,6 @@
> #include<linux/ftrace.h>
> #include<linux/uaccess.h>
>
> -extern char *_ebss;
> -EXPORT_SYMBOL_GPL(_ebss);
> -
> #ifdef CONFIG_FUNCTION_TRACER
> extern void _mcount(void);
> EXPORT_SYMBOL(_mcount);
> diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c
> index 16d8dfd..4da971d 100644
> --- a/arch/microblaze/kernel/setup.c
> +++ b/arch/microblaze/kernel/setup.c
> @@ -121,7 +121,7 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
>
> /* Move ROMFS out of BSS before clearing it */
> if (romfs_size> 0) {
> - memmove(&_ebss, (int *)romfs_base, romfs_size);
> + memmove(&__bss_stop, (int *)romfs_base, romfs_size);
> klimit += romfs_size;
> }
> #endif
> @@ -165,7 +165,7 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
> BUG_ON(romfs_size< 0); /* What else can we do? */
>
> printk("Moved 0x%08x bytes from 0x%08x to 0x%08x\n",
> - romfs_size, romfs_base, (unsigned)&_ebss);
> + romfs_size, romfs_base, (unsigned)&__bss_stop);
>
> printk("New klimit: 0x%08x\n", (unsigned)klimit);
> #endif
> diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S
> index 109e9d8..936d01a 100644
> --- a/arch/microblaze/kernel/vmlinux.lds.S
> +++ b/arch/microblaze/kernel/vmlinux.lds.S
> @@ -131,7 +131,6 @@ SECTIONS {
> *(COMMON)
> . = ALIGN (4) ;
> __bss_stop = . ;
> - _ebss = . ;
> }
> . = ALIGN(PAGE_SIZE);
> _end = .;
> diff --git a/arch/sh/include/asm/sections.h b/arch/sh/include/asm/sections.h
> index 4a53500..1b61997 100644
> --- a/arch/sh/include/asm/sections.h
> +++ b/arch/sh/include/asm/sections.h
> @@ -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 */
> diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
> index 7b57bf1..ebe7a7d 100644
> --- a/arch/sh/kernel/setup.c
> +++ b/arch/sh/kernel/setup.c
> @@ -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));
> diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c
> index 3896f26..2a0a596 100644
> --- a/arch/sh/kernel/sh_ksyms_32.c
> +++ b/arch/sh/kernel/sh_ksyms_32.c
> @@ -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) \
> diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
> index c98905f..db88cbf 100644
> --- a/arch/sh/kernel/vmlinux.lds.S
> +++ b/arch/sh/kernel/vmlinux.lds.S
> @@ -78,7 +78,6 @@ SECTIONS
> . = ALIGN(PAGE_SIZE);
> __init_end = .;
> BSS_SECTION(0, PAGE_SIZE, 4)
> - _ebss = .; /* uClinux MTD sucks */
> _end = . ;
>
> STABS_DEBUG
> diff --git a/arch/sh/lib/mcount.S b/arch/sh/lib/mcount.S
> index 84a5776..60164e6 100644
> --- a/arch/sh/lib/mcount.S
> +++ b/arch/sh/lib/mcount.S
> @@ -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:
> diff --git a/drivers/mtd/maps/uclinux.c b/drivers/mtd/maps/uclinux.c
> index cfff454..c3bb304 100644
> --- a/drivers/mtd/maps/uclinux.c
> +++ b/drivers/mtd/maps/uclinux.c
> @@ -19,14 +19,13 @@
> #include<linux/mtd/map.h>
> #include<linux/mtd/partitions.h>
> #include<asm/io.h>
> +#include<asm/sections.h>
>
> /****************************************************************************/
>
> -extern char _ebss;
> -
> struct map_info uclinux_ram_map = {
> .name = "RAM",
> - .phys = (unsigned long)&_ebss,
> + .phys = (unsigned long)__bss_stop,
> .size = 0,
> };
>
--
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com
SnapGear Group, McAfee PHONE: +61 7 3435 2888
8 Gardner Close FAX: +61 7 3217 5323
Milton, QLD, 4064, Australia WEB: http://www.SnapGear.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-06-01 6:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-31 20:55 [PATCH/RFC] mtd/uclinux: Use generic __bss_stop instead of _ebss Geert Uytterhoeven
2012-05-31 23:47 ` Paul Mundt
2012-06-01 2:20 ` Mike Frysinger
2012-06-01 4:58 ` Michal Simek
2012-06-01 6:11 ` [uClinux-dev] " Greg Ungerer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).