diff options
Diffstat (limited to 'arch/blackfin/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/blackfin/kernel/vmlinux.lds.S | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index fb53780247bc..eec43674a465 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -49,7 +49,8 @@ SECTIONS | |||
49 | TEXT_TEXT | 49 | TEXT_TEXT |
50 | SCHED_TEXT | 50 | SCHED_TEXT |
51 | LOCK_TEXT | 51 | LOCK_TEXT |
52 | *(.text.lock) | 52 | KPROBES_TEXT |
53 | *(.text.*) | ||
53 | *(.fixup) | 54 | *(.fixup) |
54 | 55 | ||
55 | . = ALIGN(16); | 56 | . = ALIGN(16); |
@@ -61,7 +62,7 @@ SECTIONS | |||
61 | __etext = .; | 62 | __etext = .; |
62 | } | 63 | } |
63 | 64 | ||
64 | RODATA | 65 | RO_DATA(PAGE_SIZE) |
65 | 66 | ||
66 | .data : | 67 | .data : |
67 | { | 68 | { |
@@ -72,50 +73,63 @@ SECTIONS | |||
72 | __sdata = .; | 73 | __sdata = .; |
73 | . = ALIGN(THREAD_SIZE); | 74 | . = ALIGN(THREAD_SIZE); |
74 | *(.data.init_task) | 75 | *(.data.init_task) |
75 | DATA_DATA | ||
76 | CONSTRUCTORS | ||
77 | 76 | ||
78 | . = ALIGN(32); | 77 | . = ALIGN(32); |
79 | *(.data.cacheline_aligned) | 78 | *(.data.cacheline_aligned) |
80 | 79 | ||
80 | DATA_DATA | ||
81 | *(.data.*) | ||
82 | CONSTRUCTORS | ||
83 | |||
81 | . = ALIGN(THREAD_SIZE); | 84 | . = ALIGN(THREAD_SIZE); |
82 | __edata = .; | 85 | __edata = .; |
83 | } | 86 | } |
84 | 87 | ||
85 | ___init_begin = .; | 88 | ___init_begin = .; |
86 | .init : | 89 | |
90 | .init.text : | ||
87 | { | 91 | { |
88 | . = ALIGN(PAGE_SIZE); | 92 | . = ALIGN(PAGE_SIZE); |
89 | __sinittext = .; | 93 | __sinittext = .; |
90 | *(.init.text) | 94 | *(.init.text) |
91 | __einittext = .; | 95 | __einittext = .; |
96 | } | ||
97 | .init.data : | ||
98 | { | ||
99 | . = ALIGN(16); | ||
92 | *(.init.data) | 100 | *(.init.data) |
101 | } | ||
102 | .init.setup : | ||
103 | { | ||
93 | . = ALIGN(16); | 104 | . = ALIGN(16); |
94 | ___setup_start = .; | 105 | ___setup_start = .; |
95 | *(.init.setup) | 106 | *(.init.setup) |
96 | ___setup_end = .; | 107 | ___setup_end = .; |
97 | ___start___param = .; | 108 | } |
98 | *(__param) | 109 | .initcall.init : |
99 | ___stop___param = .; | 110 | { |
100 | ___initcall_start = .; | 111 | ___initcall_start = .; |
101 | INITCALLS | 112 | INITCALLS |
102 | ___initcall_end = .; | 113 | ___initcall_end = .; |
114 | } | ||
115 | .con_initcall.init : | ||
116 | { | ||
103 | ___con_initcall_start = .; | 117 | ___con_initcall_start = .; |
104 | *(.con_initcall.init) | 118 | *(.con_initcall.init) |
105 | ___con_initcall_end = .; | 119 | ___con_initcall_end = .; |
106 | ___security_initcall_start = .; | 120 | } |
107 | *(.security_initcall.init) | 121 | SECURITY_INIT |
108 | ___security_initcall_end = .; | 122 | .init.ramfs : |
123 | { | ||
109 | . = ALIGN(4); | 124 | . = ALIGN(4); |
110 | ___initramfs_start = .; | 125 | ___initramfs_start = .; |
111 | *(.init.ramfs) | 126 | *(.init.ramfs) |
112 | ___initramfs_end = .; | 127 | ___initramfs_end = .; |
113 | . = ALIGN(4); | ||
114 | } | 128 | } |
115 | 129 | ||
116 | __l1_lma_start = .; | 130 | __l1_lma_start = .; |
117 | 131 | ||
118 | .text_l1 L1_CODE_START : AT(LOADADDR(.init) + SIZEOF(.init)) | 132 | .text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs)) |
119 | { | 133 | { |
120 | . = ALIGN(4); | 134 | . = ALIGN(4); |
121 | __stext_l1 = .; | 135 | __stext_l1 = .; |
@@ -164,13 +178,19 @@ SECTIONS | |||
164 | { | 178 | { |
165 | . = ALIGN(4); | 179 | . = ALIGN(4); |
166 | ___bss_start = .; | 180 | ___bss_start = .; |
167 | *(.bss) | 181 | *(.bss .bss.*) |
168 | *(COMMON) | 182 | *(COMMON) |
169 | . = ALIGN(4); | 183 | . = ALIGN(4); |
170 | ___bss_stop = .; | 184 | ___bss_stop = .; |
171 | __end = .; | 185 | __end = .; |
172 | } | 186 | } |
173 | 187 | ||
188 | STABS_DEBUG | ||
189 | |||
190 | DWARF_DEBUG | ||
191 | |||
192 | NOTES | ||
193 | |||
174 | /DISCARD/ : | 194 | /DISCARD/ : |
175 | { | 195 | { |
176 | *(.exit.text) | 196 | *(.exit.text) |