diff options
author | Tim Abbott <tabbott@ksplice.com> | 2009-06-23 19:59:35 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2009-06-26 23:58:39 +0200 |
commit | d2af12aeadaedf657c9fb9c3df984d2c5ab25f4c (patch) | |
tree | 13e4e43971b0ab4164ad5c7d6acdd2dc7168fbe6 /include/linux/linkage.h | |
parent | 73f1d9391a6aa72efdcea2f302ee7bfcd313c631 (diff) | |
download | linux-d2af12aeadaedf657c9fb9c3df984d2c5ab25f4c.tar.gz linux-d2af12aeadaedf657c9fb9c3df984d2c5ab25f4c.tar.bz2 linux-d2af12aeadaedf657c9fb9c3df984d2c5ab25f4c.zip |
Add new macros for page-aligned data and bss sections.
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@ksplice.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'include/linux/linkage.h')
-rw-r--r-- | include/linux/linkage.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/linkage.h b/include/linux/linkage.h index fee9e59649c1..691f59171c6c 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" +#define __PAGE_ALIGNED_BSS .section ".bss.page_aligned", "aw" + +/* * This is used by architectures to keep arguments on the stack * untouched by the compiler by keeping them live until the end. * The argument stack may be owned by the assembly-language |