* {
* . = START;
* __init_begin = .;
- * HEAD_SECTION
+ * HEAD_TEXT_SECTION
* INIT_TEXT_SECTION(PAGE_SIZE)
* INIT_DATA_SECTION(...)
* PERCPU(PAGE_SIZE)
* /DISCARD/ : {
* EXIT_TEXT
* EXIT_DATA
- * *(.exitcall.exit)
+ * EXIT_CALL
* }
* STABS_DEBUG
* DWARF_DEBUG
* Examples are: [__initramfs_start, __initramfs_end] for initramfs and
* [__nosave_begin, __nosave_end] for the nosave data
*/
- #include <linux/section-names.h>
#ifndef LOAD_OFFSET
#define LOAD_OFFSET 0
#endif
/* Section used for early init (in .S files) */
-#define HEAD_TEXT *(HEAD_TEXT_SECTION)
+#define HEAD_TEXT *(.head.text)
-#define HEAD_SECTION \
+#define HEAD_TEXT_SECTION \
.head.text : AT(ADDR(.head.text) - LOAD_OFFSET) { \
HEAD_TEXT \
}
CPU_DISCARD(exit.text) \
MEM_DISCARD(exit.text)
+#define EXIT_CALL \
+ *(.exitcall.exit)
+
/*
* bss (Block Started by Symbol) - uninitialized data
* zeroed during startup
* NOSAVE_DATA starts and ends with a PAGE_SIZE alignment which
* matches the requirment of PAGE_ALIGNED_DATA.
*
-/* use 0 as page_align if page_aligned data is not used */
+ * use 0 as page_align if page_aligned data is not used */
#define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask) \
. = ALIGN(PAGE_SIZE); \
.data : AT(ADDR(.data) - LOAD_OFFSET) { \
#define BSS_SECTION(sbss_align, bss_align) \
SBSS \
BSS(bss_align) \
- . = ALIGN(4); \
+ . = ALIGN(4);
+
#define _LINUX_INIT_H
#include <linux/compiler.h>
-#include <linux/section-names.h>
-#include <linux/stringify.h>
/* These macros are used to mark some functions or
* initialized data (doesn't apply to uninitialized data)
#define __memexitconst __section(.memexit.rodata)
/* For assembly routines */
-#define __HEAD .section __stringify(HEAD_TEXT_SECTION),"ax"
+#define __HEAD .section ".head.text","ax"
#define __INIT .section ".init.text","ax"
#define __FINIT .previous
+++ /dev/null
-#ifndef __LINUX_SECTION_NAMES_H
-#define __LINUX_SECTION_NAMES_H
-
-#define HEAD_TEXT_SECTION .head.text
-
-#endif /* !__LINUX_SECTION_NAMES_H */