diff options
| author | Sam Ravnborg <sam@ravnborg.org> | 2009-06-14 16:10:41 -0400 |
|---|---|---|
| committer | Sam Ravnborg <sam@ravnborg.org> | 2009-06-14 16:10:41 -0400 |
| commit | 7923f90fffa8746f6457d4eea2109fd3d6414189 (patch) | |
| tree | cd262beed7fd28a20f708fdb7889d6c5d55f39d5 /include/asm-generic | |
| parent | b9d97328e27b9272ed2ff2ad18de61aa1bf12af8 (diff) | |
vmlinux.lds.h update
Updated after review by Tim Abbott.
- Use HEAD_TEXT_SECTION
- Drop use of section-names.h and delete file
- Introduce EXIT_CALL
Deleting section-names.h required a few simple
updates of init.h
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Tim Abbott <tabbott@ksplice.com>
Diffstat (limited to 'include/asm-generic')
| -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 | |||
