diff options
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/semaphore.c | 2 | ||||
-rw-r--r-- | arch/arm/kernel/traps.c | 3 | ||||
-rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 8 |
3 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm/kernel/semaphore.c b/arch/arm/kernel/semaphore.c index ac423e3e224b..4c31f2923055 100644 --- a/arch/arm/kernel/semaphore.c +++ b/arch/arm/kernel/semaphore.c | |||
@@ -178,7 +178,7 @@ int __down_trylock(struct semaphore * sem) | |||
178 | * registers (r0 to r3 and lr), but not ip, as we use it as a return | 178 | * registers (r0 to r3 and lr), but not ip, as we use it as a return |
179 | * value in some cases.. | 179 | * value in some cases.. |
180 | */ | 180 | */ |
181 | asm(" .section .sched.text,\"ax\" \n\ | 181 | asm(" .section .sched.text,\"ax\",%progbits \n\ |
182 | .align 5 \n\ | 182 | .align 5 \n\ |
183 | .globl __down_failed \n\ | 183 | .globl __down_failed \n\ |
184 | __down_failed: \n\ | 184 | __down_failed: \n\ |
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 4554c961251c..e7d22dbcb691 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -624,6 +624,9 @@ void __attribute__((noreturn)) __bug(const char *file, int line, void *data) | |||
624 | printk(" - extra data = %p", data); | 624 | printk(" - extra data = %p", data); |
625 | printk("\n"); | 625 | printk("\n"); |
626 | *(int *)0 = 0; | 626 | *(int *)0 = 0; |
627 | |||
628 | /* Avoid "noreturn function does return" */ | ||
629 | for (;;); | ||
627 | } | 630 | } |
628 | EXPORT_SYMBOL(__bug); | 631 | EXPORT_SYMBOL(__bug); |
629 | 632 | ||
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index ad2d66c93a5c..08e58ecd44be 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
@@ -23,20 +23,20 @@ SECTIONS | |||
23 | *(.init.text) | 23 | *(.init.text) |
24 | _einittext = .; | 24 | _einittext = .; |
25 | __proc_info_begin = .; | 25 | __proc_info_begin = .; |
26 | *(.proc.info) | 26 | *(.proc.info.init) |
27 | __proc_info_end = .; | 27 | __proc_info_end = .; |
28 | __arch_info_begin = .; | 28 | __arch_info_begin = .; |
29 | *(.arch.info) | 29 | *(.arch.info.init) |
30 | __arch_info_end = .; | 30 | __arch_info_end = .; |
31 | __tagtable_begin = .; | 31 | __tagtable_begin = .; |
32 | *(.taglist) | 32 | *(.taglist.init) |
33 | __tagtable_end = .; | 33 | __tagtable_end = .; |
34 | . = ALIGN(16); | 34 | . = ALIGN(16); |
35 | __setup_start = .; | 35 | __setup_start = .; |
36 | *(.init.setup) | 36 | *(.init.setup) |
37 | __setup_end = .; | 37 | __setup_end = .; |
38 | __early_begin = .; | 38 | __early_begin = .; |
39 | *(__early_param) | 39 | *(.early_param.init) |
40 | __early_end = .; | 40 | __early_end = .; |
41 | __initcall_start = .; | 41 | __initcall_start = .; |
42 | *(.initcall1.init) | 42 | *(.initcall1.init) |