diff options
Diffstat (limited to 'arch/alpha/kernel')
| -rw-r--r-- | arch/alpha/kernel/vmlinux.lds.S | 90 |
1 files changed, 9 insertions, 81 deletions
diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S index 82803df17977..2906665b1c10 100644 --- a/arch/alpha/kernel/vmlinux.lds.S +++ b/arch/alpha/kernel/vmlinux.lds.S | |||
| @@ -32,84 +32,21 @@ SECTIONS | |||
| 32 | } :kernel | 32 | } :kernel |
| 33 | 33 | ||
| 34 | RODATA | 34 | RODATA |
| 35 | 35 | EXCEPTION_TABLE(16) | |
| 36 | /* Exception table */ | ||
| 37 | . = ALIGN(16); | ||
| 38 | __ex_table : { | ||
| 39 | __start___ex_table = .; | ||
| 40 | *(__ex_table) | ||
| 41 | __stop___ex_table = .; | ||
| 42 | } | ||
| 43 | 36 | ||
| 44 | /* Will be freed after init */ | 37 | /* Will be freed after init */ |
| 45 | . = ALIGN(PAGE_SIZE); | 38 | __init_begin = ALIGN(PAGE_SIZE); |
| 46 | /* Init code and data */ | 39 | INIT_TEXT_SECTION(PAGE_SIZE) |
| 47 | __init_begin = .; | 40 | INIT_DATA_SECTION(16) |
| 48 | .init.text : { | ||
| 49 | _sinittext = .; | ||
| 50 | INIT_TEXT | ||
| 51 | _einittext = .; | ||
| 52 | } | ||
| 53 | .init.data : { | ||
| 54 | INIT_DATA | ||
| 55 | } | ||
| 56 | |||
| 57 | . = ALIGN(16); | ||
| 58 | .init.setup : { | ||
| 59 | __setup_start = .; | ||
| 60 | *(.init.setup) | ||
| 61 | __setup_end = .; | ||
| 62 | } | ||
| 63 | |||
| 64 | . = ALIGN(8); | ||
| 65 | .initcall.init : { | ||
| 66 | __initcall_start = .; | ||
| 67 | INITCALLS | ||
| 68 | __initcall_end = .; | ||
| 69 | } | ||
| 70 | |||
| 71 | #ifdef CONFIG_BLK_DEV_INITRD | ||
| 72 | . = ALIGN(PAGE_SIZE); | ||
| 73 | .init.ramfs : { | ||
| 74 | __initramfs_start = .; | ||
| 75 | *(.init.ramfs) | ||
| 76 | __initramfs_end = .; | ||
| 77 | } | ||
| 78 | #endif | ||
| 79 | |||
| 80 | . = ALIGN(8); | ||
| 81 | .con_initcall.init : { | ||
| 82 | __con_initcall_start = .; | ||
| 83 | *(.con_initcall.init) | ||
| 84 | __con_initcall_end = .; | ||
| 85 | } | ||
| 86 | |||
| 87 | . = ALIGN(8); | ||
| 88 | SECURITY_INIT | ||
| 89 | |||
| 90 | PERCPU(PAGE_SIZE) | 41 | PERCPU(PAGE_SIZE) |
| 91 | 42 | /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page | |
| 92 | . = ALIGN(2 * PAGE_SIZE); | 43 | needed for the THREAD_SIZE aligned init_task gets freed after init */ |
| 44 | . = ALIGN(THREAD_SIZE); | ||
| 93 | __init_end = .; | 45 | __init_end = .; |
| 94 | /* Freed after init ends here */ | 46 | /* Freed after init ends here */ |
| 95 | 47 | ||
| 96 | . = ALIGN(PAGE_SIZE); | ||
| 97 | .data.page_aligned : { | ||
| 98 | *(.data.page_aligned) | ||
| 99 | } | ||
| 100 | |||
| 101 | . = ALIGN(64); | ||
| 102 | .data.cacheline_aligned : { | ||
| 103 | *(.data.cacheline_aligned) | ||
| 104 | } | ||
| 105 | |||
| 106 | _data = .; | 48 | _data = .; |
| 107 | /* Data */ | 49 | RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE) |
| 108 | .data : { | ||
| 109 | INIT_TASK_DATA(THREAD_SIZE) | ||
| 110 | DATA_DATA | ||
| 111 | CONSTRUCTORS | ||
| 112 | } | ||
| 113 | 50 | ||
| 114 | .got : { | 51 | .got : { |
| 115 | *(.got) | 52 | *(.got) |
| @@ -119,16 +56,7 @@ SECTIONS | |||
| 119 | } | 56 | } |
| 120 | _edata = .; /* End of data section */ | 57 | _edata = .; /* End of data section */ |
| 121 | 58 | ||
| 122 | __bss_start = .; | 59 | BSS_SECTION(0, 0, 0) |
| 123 | .sbss : { | ||
| 124 | *(.sbss) | ||
| 125 | *(.scommon) | ||
| 126 | } | ||
| 127 | .bss : { | ||
| 128 | *(.bss) | ||
| 129 | *(COMMON) | ||
| 130 | } | ||
| 131 | __bss_stop = .; | ||
| 132 | _end = .; | 60 | _end = .; |
| 133 | 61 | ||
| 134 | .mdebug 0 : { | 62 | .mdebug 0 : { |
