aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/vmlinux.lds.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
-rw-r--r--include/asm-generic/vmlinux.lds.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index fba42236e942..7381f701f3f3 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -12,7 +12,7 @@
12 * { 12 * {
13 * . = START; 13 * . = START;
14 * __init_begin = .; 14 * __init_begin = .;
15 * HEAD_SECTION 15 * HEAD_TEXT_SECTION
16 * INIT_TEXT_SECTION(PAGE_SIZE) 16 * INIT_TEXT_SECTION(PAGE_SIZE)
17 * INIT_DATA_SECTION(...) 17 * INIT_DATA_SECTION(...)
18 * PERCPU(PAGE_SIZE) 18 * PERCPU(PAGE_SIZE)
@@ -38,7 +38,7 @@
38 * /DISCARD/ : { 38 * /DISCARD/ : {
39 * EXIT_TEXT 39 * EXIT_TEXT
40 * EXIT_DATA 40 * EXIT_DATA
41 * *(.exitcall.exit) 41 * EXIT_CALL
42 * } 42 * }
43 * STABS_DEBUG 43 * STABS_DEBUG
44 * DWARF_DEBUG 44 * DWARF_DEBUG
@@ -52,7 +52,6 @@
52 * Examples are: [__initramfs_start, __initramfs_end] for initramfs and 52 * Examples are: [__initramfs_start, __initramfs_end] for initramfs and
53 * [__nosave_begin, __nosave_end] for the nosave data 53 * [__nosave_begin, __nosave_end] for the nosave data
54 */ 54 */
55 #include <linux/section-names.h>
56 55
57#ifndef LOAD_OFFSET 56#ifndef LOAD_OFFSET
58#define LOAD_OFFSET 0 57#define LOAD_OFFSET 0
@@ -414,9 +413,9 @@
414#endif 413#endif
415 414
416/* Section used for early init (in .S files) */ 415/* Section used for early init (in .S files) */
417#define HEAD_TEXT *(HEAD_TEXT_SECTION) 416#define HEAD_TEXT *(.head.text)
418 417
419#define HEAD_SECTION \ 418#define HEAD_TEXT_SECTION \
420 .head.text : AT(ADDR(.head.text) - LOAD_OFFSET) { \ 419 .head.text : AT(ADDR(.head.text) - LOAD_OFFSET) { \
421 HEAD_TEXT \ 420 HEAD_TEXT \
422 } 421 }
@@ -473,6 +472,9 @@
473 CPU_DISCARD(exit.text) \ 472 CPU_DISCARD(exit.text) \
474 MEM_DISCARD(exit.text) 473 MEM_DISCARD(exit.text)
475 474
475#define EXIT_CALL \
476 *(.exitcall.exit)
477
476/* 478/*
477 * bss (Block Started by Symbol) - uninitialized data 479 * bss (Block Started by Symbol) - uninitialized data
478 * zeroed during startup 480 * zeroed during startup
@@ -692,7 +694,7 @@
692 * NOSAVE_DATA starts and ends with a PAGE_SIZE alignment which 694 * NOSAVE_DATA starts and ends with a PAGE_SIZE alignment which
693 * matches the requirment of PAGE_ALIGNED_DATA. 695 * matches the requirment of PAGE_ALIGNED_DATA.
694 * 696 *
695/* use 0 as page_align if page_aligned data is not used */ 697 * use 0 as page_align if page_aligned data is not used */
696#define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask) \ 698#define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask) \
697 . = ALIGN(PAGE_SIZE); \ 699 . = ALIGN(PAGE_SIZE); \
698 .data : AT(ADDR(.data) - LOAD_OFFSET) { \ 700 .data : AT(ADDR(.data) - LOAD_OFFSET) { \
@@ -726,4 +728,5 @@
726#define BSS_SECTION(sbss_align, bss_align) \ 728#define BSS_SECTION(sbss_align, bss_align) \
727 SBSS \ 729 SBSS \
728 BSS(bss_align) \ 730 BSS(bss_align) \
729 . = ALIGN(4); \ 731 . = ALIGN(4);
732