diff options
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
-rw-r--r-- | include/asm-generic/vmlinux.lds.h | 17 |
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 | |||