diff options
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/head-nommu.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/init_task.c | 2 | ||||
-rw-r--r-- | arch/arm/kernel/module.c | 4 | ||||
-rw-r--r-- | arch/arm/kernel/smp.c | 4 | ||||
-rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 12 |
6 files changed, 15 insertions, 11 deletions
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S index 0119c0d5f978..5d78ffb8a9a7 100644 --- a/arch/arm/kernel/head-nommu.S +++ b/arch/arm/kernel/head-nommu.S | |||
@@ -33,7 +33,7 @@ | |||
33 | * numbers for r1. | 33 | * numbers for r1. |
34 | * | 34 | * |
35 | */ | 35 | */ |
36 | __INIT | 36 | .section ".text.head", "ax" |
37 | .type stext, %function | 37 | .type stext, %function |
38 | ENTRY(stext) | 38 | ENTRY(stext) |
39 | msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode | 39 | msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 1d35edacc011..41f98b4ba2ee 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -73,7 +73,7 @@ | |||
73 | * crap here - that's what the boot loader (or in extreme, well justified | 73 | * crap here - that's what the boot loader (or in extreme, well justified |
74 | * circumstances, zImage) is for. | 74 | * circumstances, zImage) is for. |
75 | */ | 75 | */ |
76 | __INIT | 76 | .section ".text.head", "ax" |
77 | .type stext, %function | 77 | .type stext, %function |
78 | ENTRY(stext) | 78 | ENTRY(stext) |
79 | msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode | 79 | msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode |
diff --git a/arch/arm/kernel/init_task.c b/arch/arm/kernel/init_task.c index a00cca0000bd..bd4ef53bc6b9 100644 --- a/arch/arm/kernel/init_task.c +++ b/arch/arm/kernel/init_task.c | |||
@@ -31,7 +31,7 @@ EXPORT_SYMBOL(init_mm); | |||
31 | * The things we do for performance.. | 31 | * The things we do for performance.. |
32 | */ | 32 | */ |
33 | union thread_union init_thread_union | 33 | union thread_union init_thread_union |
34 | __attribute__((__section__(".init.task"))) = | 34 | __attribute__((__section__(".data.init_task"))) = |
35 | { INIT_THREAD_INFO(init_task) }; | 35 | { INIT_THREAD_INFO(init_task) }; |
36 | 36 | ||
37 | /* | 37 | /* |
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index 1b061583408e..79b7e5cf5416 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c | |||
@@ -116,8 +116,8 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, | |||
116 | 116 | ||
117 | offset += sym->st_value - loc; | 117 | offset += sym->st_value - loc; |
118 | if (offset & 3 || | 118 | if (offset & 3 || |
119 | offset <= (s32)0xfc000000 || | 119 | offset <= (s32)0xfe000000 || |
120 | offset >= (s32)0x04000000) { | 120 | offset >= (s32)0x02000000) { |
121 | printk(KERN_ERR | 121 | printk(KERN_ERR |
122 | "%s: relocation out of range, section " | 122 | "%s: relocation out of range, section " |
123 | "%d reloc %d sym '%s'\n", module->name, | 123 | "%d reloc %d sym '%s'\n", module->name, |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 070bcb7a6306..1b76d87fa335 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -486,7 +486,7 @@ static void ipi_timer(void) | |||
486 | } | 486 | } |
487 | 487 | ||
488 | #ifdef CONFIG_LOCAL_TIMERS | 488 | #ifdef CONFIG_LOCAL_TIMERS |
489 | asmlinkage void do_local_timer(struct pt_regs *regs) | 489 | asmlinkage void __exception do_local_timer(struct pt_regs *regs) |
490 | { | 490 | { |
491 | struct pt_regs *old_regs = set_irq_regs(regs); | 491 | struct pt_regs *old_regs = set_irq_regs(regs); |
492 | int cpu = smp_processor_id(); | 492 | int cpu = smp_processor_id(); |
@@ -551,7 +551,7 @@ static void ipi_cpu_stop(unsigned int cpu) | |||
551 | * | 551 | * |
552 | * Bit 0 - Inter-processor function call | 552 | * Bit 0 - Inter-processor function call |
553 | */ | 553 | */ |
554 | asmlinkage void do_IPI(struct pt_regs *regs) | 554 | asmlinkage void __exception do_IPI(struct pt_regs *regs) |
555 | { | 555 | { |
556 | unsigned int cpu = smp_processor_id(); | 556 | unsigned int cpu = smp_processor_id(); |
557 | struct ipi_data *ipi = &per_cpu(ipi_data, cpu); | 557 | struct ipi_data *ipi = &per_cpu(ipi_data, cpu); |
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 6be67296f333..e4156e7868ce 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
@@ -23,11 +23,15 @@ SECTIONS | |||
23 | #else | 23 | #else |
24 | . = PAGE_OFFSET + TEXT_OFFSET; | 24 | . = PAGE_OFFSET + TEXT_OFFSET; |
25 | #endif | 25 | #endif |
26 | .init : { /* Init code and data */ | 26 | .text.head : { |
27 | _stext = .; | 27 | _stext = .; |
28 | _sinittext = .; | 28 | _sinittext = .; |
29 | *(.text.head) | ||
30 | } | ||
31 | |||
32 | .init : { /* Init code and data */ | ||
29 | *(.init.text) | 33 | *(.init.text) |
30 | _einittext = .; | 34 | _einittext = .; |
31 | __proc_info_begin = .; | 35 | __proc_info_begin = .; |
32 | *(.proc.info.init) | 36 | *(.proc.info.init) |
33 | __proc_info_end = .; | 37 | __proc_info_end = .; |
@@ -119,7 +123,7 @@ SECTIONS | |||
119 | * first, the init task union, aligned | 123 | * first, the init task union, aligned |
120 | * to an 8192 byte boundary. | 124 | * to an 8192 byte boundary. |
121 | */ | 125 | */ |
122 | *(.init.task) | 126 | *(.data.init_task) |
123 | 127 | ||
124 | #ifdef CONFIG_XIP_KERNEL | 128 | #ifdef CONFIG_XIP_KERNEL |
125 | . = ALIGN(4096); | 129 | . = ALIGN(4096); |