aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/alpha/kernel/vmlinux.lds.S90
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 : {