From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: Re: [PATCH v2 2/6] Add new NOSAVE_DATA linker script macro. Date: Fri, 1 May 2009 11:21:14 +0200 Message-ID: <20090501092114.GC18326@uranus.ravnborg.org> References: <1241121253-32341-1-git-send-email-tabbott@mit.edu> <1241121253-32341-2-git-send-email-tabbott@mit.edu> <1241121253-32341-3-git-send-email-tabbott@mit.edu> Mime-Version: 1.0 Return-path: Content-Disposition: inline In-Reply-To: <1241121253-32341-3-git-send-email-tabbott@mit.edu> Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org List-Id: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Tim Abbott Cc: Linux kernel mailing list , Anders Kaseorg , Waseem Daher , Denys Vlasenko , Jeff Arnold , Benjamin Herrenschmidt , Bryan Wu , Chris Zankel , Cyrill Gorcunov , David Howells , "David S. Miller" , dev-etrax@axis.com, Geert Uytterhoeven , Greg Ungerer , Haavard Skinnemoen , Heiko Carstens , Helge Deller , Hirokazu Takata , "H. Peter Anvin" , Ingo Molnar , Jeff Dike , Jesper Nilsson , Kyle McMartin , Linus Torvalds <> 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 > Cc: Sam Ravnborg > --- > 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