aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asm-generic/vmlinux.lds.h4
-rw-r--r--include/linux/init.h4
-rw-r--r--include/linux/section-names.h6
3 files changed, 12 insertions, 2 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 7fa660fd449c..eaa06ef6f7d9 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -1,3 +1,5 @@
1#include <linux/section-names.h>
2
1#ifndef LOAD_OFFSET 3#ifndef LOAD_OFFSET
2#define LOAD_OFFSET 0 4#define LOAD_OFFSET 0
3#endif 5#endif
@@ -331,7 +333,7 @@
331#endif 333#endif
332 334
333/* Section used for early init (in .S files) */ 335/* Section used for early init (in .S files) */
334#define HEAD_TEXT *(.head.text) 336#define HEAD_TEXT *(HEAD_TEXT_SECTION)
335 337
336/* init and exit section handling */ 338/* init and exit section handling */
337#define INIT_DATA \ 339#define INIT_DATA \
diff --git a/include/linux/init.h b/include/linux/init.h
index f121a7a10c3d..20a1334e34e9 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -2,6 +2,8 @@
2#define _LINUX_INIT_H 2#define _LINUX_INIT_H
3 3
4#include <linux/compiler.h> 4#include <linux/compiler.h>
5#include <linux/section-names.h>
6#include <linux/stringify.h>
5 7
6/* These macros are used to mark some functions or 8/* These macros are used to mark some functions or
7 * initialized data (doesn't apply to uninitialized data) 9 * initialized data (doesn't apply to uninitialized data)
@@ -107,7 +109,7 @@
107#define __memexitconst __section(.memexit.rodata) 109#define __memexitconst __section(.memexit.rodata)
108 110
109/* For assembly routines */ 111/* For assembly routines */
110#define __HEAD .section ".head.text","ax" 112#define __HEAD .section __stringify(HEAD_TEXT_SECTION),"ax"
111#define __INIT .section ".init.text","ax" 113#define __INIT .section ".init.text","ax"
112#define __FINIT .previous 114#define __FINIT .previous
113 115
diff --git a/include/linux/section-names.h b/include/linux/section-names.h
new file mode 100644
index 000000000000..c956f4eb2adf
--- /dev/null
+++ b/include/linux/section-names.h
@@ -0,0 +1,6 @@
1#ifndef __LINUX_SECTION_NAMES_H
2#define __LINUX_SECTION_NAMES_H
3
4#define HEAD_TEXT_SECTION .head.text
5
6#endif /* !__LINUX_SECTION_NAMES_H */