summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2008-02-19 21:00:18 +0100
committerSam Ravnborg <sam@ravnborg.org>2008-02-19 21:00:18 +0100
commit37c514e3dfc8f55145d9c6895e2838ac31859aa4 (patch)
tree3e626badf00d003c988c318d6de860b5444f5cf2
parentb1d2675a6466090b68d4ef63f9237b4d70a18857 (diff)
Add missing init section definitions
When adding __devinitconst etc. the __initconst variant were missed. Add this one and proper definitions for .head.text for use in .S files. The naming .head.text is preferred over .text.head as the latter will conflict for a function named head when introducing -ffunctions-sections. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--include/asm-generic/vmlinux.lds.h3
-rw-r--r--include/linux/init.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index f784d2f3414..f054778e916 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -238,6 +238,9 @@
*(.kprobes.text) \
VMLINUX_SYMBOL(__kprobes_text_end) = .;
+/* Section used for early init (in .S files) */
+#define HEAD_TEXT *(.head.text)
+
/* init and exit section handling */
#define INIT_DATA \
*(.init.data) \
diff --git a/include/linux/init.h b/include/linux/init.h
index a404a0055dd..fb58c0493cf 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -42,6 +42,7 @@
discard it in modules) */
#define __init __section(.init.text) __cold
#define __initdata __section(.init.data)
+#define __initconst __section(.init.rodata)
#define __exitdata __section(.exit.data)
#define __exit_call __used __section(.exitcall.exit)
@@ -106,6 +107,7 @@
#define __memexitconst __section(.memexit.rodata)
/* For assembly routines */
+#define __HEAD .section ".head.text","ax"
#define __INIT .section ".init.text","ax"
#define __FINIT .previous