[PATCH v2 2/6] Add new NOSAVE_DATA linker script macro.
Sam Ravnborg
sam at ravnborg.org
Fri May 1 19:21:14 EST 2009
On Thu, Apr 30, 2009 at 03:54:09PM -0400, Tim Abbott wrote:
> This patch is preparation for replacing most ".data.nosave" in the
> kernel with macros, so that the section name can later be changed
> without having to touch a lot of the kernel.
>
> The long-term goal here is to be able to change the kernel's magic
> section names to those that are compatible with -ffunction-sections
> -fdata-sections. This requires renaming all magic sections with names
> of the form ".data.foo".
>
> Signed-off-by: Tim Abbott <tabbott at mit.edu>
> Cc: Sam Ravnborg <sam at ravnborg.org>
> ---
> include/asm-generic/vmlinux.lds.h | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index 3d88c87..f5ebd2b 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -124,6 +124,13 @@
> . = ALIGN(PAGE_SIZE); \
> *(.bss.page_aligned)
>
> +#define NOSAVE_DATA \
> + . = ALIGN(PAGE_SIZE); \
> + __nosave_begin = .; \
> + *(.data.nosave) \
> + . = ALIGN(PAGE_SIZE); \
> + __nosave_end = .;
> +
You need to use:
VMLINUX_SYMBOL(__nosave_begin) = .;
Otherwise architectures such as m68k wil break as they
add a leading underscore.
See other symbols that is defined inside vmlinux.lds.h
Sam
More information about the Linuxppc-dev
mailing list