aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/process.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-04-19 05:15:03 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-04-21 03:45:21 -0400
commit4260415f6a3b92c5c986398d96c314df37a4ccbf (patch)
tree13db8d997677c70d7b3f880daafab41d0b6711f3 /arch/arm/kernel/process.c
parent05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa (diff)
ARM: fix build error in arch/arm/kernel/process.c
/tmp/ccJ3ssZW.s: Assembler messages: /tmp/ccJ3ssZW.s:1952: Error: can't resolve `.text' {.text section} - `.LFB1077' This is caused because: .section .data .section .text .section .text .previous does not return us to the .text section, but the .data section; this makes use of .previous dangerous if the ordering of previous sections is not known. Fix up the other users of .previous; .pushsection and .popsection are a safer pairing to use than .section and .previous. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/process.c')
-rw-r--r--arch/arm/kernel/process.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 0e12e0acbf26..acf5e6fdb6dc 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -355,7 +355,7 @@ EXPORT_SYMBOL(dump_fpu);
355 * the thread function, and r3 points to the exit function. 355 * the thread function, and r3 points to the exit function.
356 */ 356 */
357extern void kernel_thread_helper(void); 357extern void kernel_thread_helper(void);
358asm( ".section .text\n" 358asm( ".pushsection .text\n"
359" .align\n" 359" .align\n"
360" .type kernel_thread_helper, #function\n" 360" .type kernel_thread_helper, #function\n"
361"kernel_thread_helper:\n" 361"kernel_thread_helper:\n"
@@ -363,11 +363,11 @@ asm( ".section .text\n"
363" mov lr, r3\n" 363" mov lr, r3\n"
364" mov pc, r2\n" 364" mov pc, r2\n"
365" .size kernel_thread_helper, . - kernel_thread_helper\n" 365" .size kernel_thread_helper, . - kernel_thread_helper\n"
366" .previous"); 366" .popsection");
367 367
368#ifdef CONFIG_ARM_UNWIND 368#ifdef CONFIG_ARM_UNWIND
369extern void kernel_thread_exit(long code); 369extern void kernel_thread_exit(long code);
370asm( ".section .text\n" 370asm( ".pushsection .text\n"
371" .align\n" 371" .align\n"
372" .type kernel_thread_exit, #function\n" 372" .type kernel_thread_exit, #function\n"
373"kernel_thread_exit:\n" 373"kernel_thread_exit:\n"
@@ -377,7 +377,7 @@ asm( ".section .text\n"
377" nop\n" 377" nop\n"
378" .fnend\n" 378" .fnend\n"
379" .size kernel_thread_exit, . - kernel_thread_exit\n" 379" .size kernel_thread_exit, . - kernel_thread_exit\n"
380" .previous"); 380" .popsection");
381#else 381#else
382#define kernel_thread_exit do_exit 382#define kernel_thread_exit do_exit
383#endif 383#endif