diff options
Diffstat (limited to 'arch/arm/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index b16c07914b55..065d35de0e01 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
@@ -40,6 +40,11 @@ SECTIONS | |||
40 | __tagtable_begin = .; | 40 | __tagtable_begin = .; |
41 | *(.taglist.init) | 41 | *(.taglist.init) |
42 | __tagtable_end = .; | 42 | __tagtable_end = .; |
43 | #ifdef CONFIG_SMP_ON_UP | ||
44 | __smpalt_begin = .; | ||
45 | *(.alt.smp.init) | ||
46 | __smpalt_end = .; | ||
47 | #endif | ||
43 | 48 | ||
44 | INIT_SETUP(16) | 49 | INIT_SETUP(16) |
45 | 50 | ||
@@ -104,8 +109,6 @@ SECTIONS | |||
104 | 109 | ||
105 | RO_DATA(PAGE_SIZE) | 110 | RO_DATA(PAGE_SIZE) |
106 | 111 | ||
107 | _etext = .; /* End of text and rodata section */ | ||
108 | |||
109 | #ifdef CONFIG_ARM_UNWIND | 112 | #ifdef CONFIG_ARM_UNWIND |
110 | /* | 113 | /* |
111 | * Stack unwinding tables | 114 | * Stack unwinding tables |
@@ -123,6 +126,8 @@ SECTIONS | |||
123 | } | 126 | } |
124 | #endif | 127 | #endif |
125 | 128 | ||
129 | _etext = .; /* End of text and rodata section */ | ||
130 | |||
126 | #ifdef CONFIG_XIP_KERNEL | 131 | #ifdef CONFIG_XIP_KERNEL |
127 | __data_loc = ALIGN(4); /* location in binary */ | 132 | __data_loc = ALIGN(4); /* location in binary */ |
128 | . = PAGE_OFFSET + TEXT_OFFSET; | 133 | . = PAGE_OFFSET + TEXT_OFFSET; |
@@ -237,6 +242,12 @@ SECTIONS | |||
237 | 242 | ||
238 | /* Default discards */ | 243 | /* Default discards */ |
239 | DISCARDS | 244 | DISCARDS |
245 | |||
246 | #ifndef CONFIG_SMP_ON_UP | ||
247 | /DISCARD/ : { | ||
248 | *(.alt.smp.init) | ||
249 | } | ||
250 | #endif | ||
240 | } | 251 | } |
241 | 252 | ||
242 | /* | 253 | /* |