Re: [PATCH v2 2/6] Add new NOSAVE_DATA linker script macro.
From: Sam Ravnborg <hidden>
Date: 2009-05-01 09:19:13
Also in:
linux-alpha, linux-m68k, linux-mips, linux-um
From: Sam Ravnborg <hidden>
Date: 2009-05-01 09:19:13
Also in:
linux-alpha, linux-m68k, linux-mips, linux-um
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 <redacted> Cc: Sam Ravnborg <redacted> --- 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