From: Sam Ravnborg <sam@ravnborg.org>
To: Tim Abbott <tabbott@MIT.EDU>
Cc: linux-mips@linux-mips.org, linux-m68k@vger.kernel.org,
linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
Denys Vlasenko <vda.linux@googlemail.com>,
Greg Ungerer <gerg@uclinux.org>, Jeff Arnold <jbarnold@mit.edu>,
linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>,
"H. Peter Anvin" <hpa@zytor.com>,
sparclinux@vger.kernel.org, Waseem Daher <wdaher@mit.edu>,
linux-s390@vger.kernel.org,
Jesper Nilsson <jesper.nilsson@axis.com>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Helge Deller <deller@gmx.de>, Ingo Molnar <mingo@redhat.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
microblaze-uclinux@itee.uq.edu.au,
Russell King <rmk+kernel@arm.linux.org.uk>,
user-mode-linux-devel@lists.sourceforge.net,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Jeff Dike <jdike@addtoit.com>,
dev-etrax@axis.com, Mikael Starvik <starvik@axis.com>,
Cyrill Gorcunov <gorcunov@openvz.org>,
Michal Simek <monstr@monstr.eu>,
Richard Henderson <rth@twiddle.net>,
Chris Zankel <chris@zankel.net>, Bryan Wu <cooloney@kernel.org>,
Tony Luck <tony.luck@intel.com>,
linux-parisc@vger.kernel.org,
Haavard Skinnemoen <hskinnemoen@atmel.com>,
Hirokazu Takata <takata@linux-m32r.org>,
Linux kernel mailing list <linux-kernel@vger.kernel.org>,
Ralf Baechle <ralf@linux-mips.org>,
Anders Kaseorg <andersk@mit.edu>,
Kyle McMartin <kyle@mcmartin.ca>,
Paul Mundt <lethal@linux-sh.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-alpha@vger.kernel.org,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
uclinux-dist-devel@blackfin.uclinux.org,
Linus Torvalds <torvalds@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 1/6] Add new macros for page-aligned data and bss sections.
Date: Fri, 1 May 2009 11:18:48 +0200 [thread overview]
Message-ID: <20090501091848.GB18326@uranus.ravnborg.org> (raw)
In-Reply-To: <1241121253-32341-2-git-send-email-tabbott@mit.edu>
On Thu, Apr 30, 2009 at 03:54:08PM -0400, Tim Abbott wrote:
> This patch is preparation for replacing most uses of
> ".bss.page_aligned" and ".data.page_aligned" 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>
> Acked-by: David Howells <dhowells@redhat.com>
> ---
> include/asm-generic/vmlinux.lds.h | 8 ++++++++
> include/linux/linkage.h | 9 +++++++++
> 2 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index 89853bc..3d88c87 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -116,6 +116,14 @@
> FTRACE_EVENTS() \
> TRACE_SYSCALLS()
>
> +#define PAGE_ALIGNED_DATA \
> + . = ALIGN(PAGE_SIZE); \
> + *(.data.page_aligned)
> +
> +#define PAGE_ALIGNED_BSS \
> + . = ALIGN(PAGE_SIZE); \
> + *(.bss.page_aligned)
> +
> #define RO_DATA(align) \
> . = ALIGN((align)); \
> .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
> index fee9e59..af051fc 100644
> --- a/include/linux/linkage.h
> +++ b/include/linux/linkage.h
> @@ -22,6 +22,15 @@
> #define __page_aligned_bss __section(.bss.page_aligned) __aligned(PAGE_SIZE)
>
> /*
> + * For assembly routines.
> + *
> + * Note when using these that you must specify the appropriate
> + * alignment directives yourself
> + */
> +#define __PAGE_ALIGNED_DATA .section ".data.page_aligned", "aw", @progbits
> +#define __PAGE_ALIGNED_BSS .section ".bss.page_aligned", "aw", @nobits
The above will work on most architectures but fails (silently?) on arm.
arm uses %{progbits,nobits} where all other uses @{nobits,progbits}.
I know we do not use page_aligned in arm assembler code for now,
but if we do then it should work.
It is my understanding that the linker will automatically
assume nobits for section names starting with .bss and likewise
progbits for section names starting with .data - so we can leave them out?
Sam
next prev parent reply other threads:[~2009-05-01 9:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-30 19:54 [PATCH v2 0/6] macros for section name cleanup Tim Abbott
2009-04-30 19:54 ` [PATCH v2 1/6] Add new macros for page-aligned data and bss sections Tim Abbott
2009-04-30 19:54 ` [PATCH v2 2/6] Add new NOSAVE_DATA linker script macro Tim Abbott
2009-04-30 19:54 ` [PATCH v2 3/6] Add new CACHELINE_ALIGNED_DATA " Tim Abbott
2009-04-30 19:54 ` [PATCH v2 4/6] Add new INIT_TASK_DATA() " Tim Abbott
2009-04-30 19:54 ` [PATCH v2 5/6] Add new READ_MOSTLY_DATA(align) " Tim Abbott
2009-04-30 19:54 ` [PATCH v2 6/6] Add support for __read_mostly to linux/cache.h Tim Abbott
2009-05-01 9:21 ` [PATCH v2 2/6] Add new NOSAVE_DATA linker script macro Sam Ravnborg
2009-05-01 9:18 ` Sam Ravnborg [this message]
2009-05-01 13:54 ` [PATCH v2 1/6] Add new macros for page-aligned data and bss sections Tim Abbott
2009-05-01 16:33 ` H. Peter Anvin
2009-05-01 17:17 ` Sam Ravnborg
2009-05-01 17:18 ` H. Peter Anvin
2009-05-01 17:44 ` Sam Ravnborg
2009-05-01 17:47 ` H. Peter Anvin
2009-05-01 23:02 ` Andreas Schwab
2009-05-01 9:04 ` [PATCH v2 0/6] macros for section name cleanup Sam Ravnborg
2009-05-01 14:21 ` Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090501091848.GB18326@uranus.ravnborg.org \
--to=sam@ravnborg.org \
--cc=andersk@mit.edu \
--cc=chris@zankel.net \
--cc=cooloney@kernel.org \
--cc=davem@davemloft.net \
--cc=deller@gmx.de \
--cc=dev-etrax@axis.com \
--cc=geert@linux-m68k.org \
--cc=gerg@uclinux.org \
--cc=gorcunov@openvz.org \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=hskinnemoen@atmel.com \
--cc=jbarnold@mit.edu \
--cc=jdike@addtoit.com \
--cc=jesper.nilsson@axis.com \
--cc=kyle@mcmartin.ca \
--cc=lethal@linux-sh.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=mingo@redhat.com \
--cc=monstr@monstr.eu \
--cc=paulus@samba.org \
--cc=ralf@linux-mips.org \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=rth@twiddle.net \
--cc=schwidefsky@de.ibm.com \
--cc=sparclinux@vger.kernel.org \
--cc=starvik@axis.com \
--cc=tabbott@MIT.EDU \
--cc=takata@linux-m32r.org \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=torvalds@linux-foundation.org \
--cc=uclinux-dist-devel@blackfin.uclinux.org \
--cc=user-mode-linux-devel@lists.sourceforge.net \
--cc=vda.linux@googlemail.com \
--cc=wdaher@mit.edu \
--cc=ysato@users.sourceforge.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).