diff options
-rw-r--r-- | include/asm-generic/vmlinux.lds.h | 4 | ||||
-rw-r--r-- | include/linux/init.h | 4 | ||||
-rw-r--r-- | include/linux/section-names.h | 6 |
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 */ | ||