Message ID | 1241121253-32341-3-git-send-email-tabbott@mit.edu (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
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@mit.edu> > Cc: Sam Ravnborg <sam@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
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 = .; + #define RO_DATA(align) \ . = ALIGN((align)); \ .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
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@mit.edu> Cc: Sam Ravnborg <sam@ravnborg.org> --- include/asm-generic/vmlinux.lds.h | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)