aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/lib
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/lib
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/lib')
-rw-r--r--arch/arm/lib/backtrace.S4
-rw-r--r--arch/arm/lib/clear_user.S4
-rw-r--r--arch/arm/lib/copy_from_user.S4
-rw-r--r--arch/arm/lib/copy_to_user.S4
-rw-r--r--arch/arm/lib/csumpartialcopyuser.S4
-rw-r--r--arch/arm/lib/getuser.S4
-rw-r--r--arch/arm/lib/putuser.S4
-rw-r--r--arch/arm/lib/strncpy_from_user.S4
-rw-r--r--arch/arm/lib/strnlen_user.S4
-rw-r--r--arch/arm/lib/uaccess.S8
10 files changed, 22 insertions, 22 deletions
diff --git a/arch/arm/lib/backtrace.S b/arch/arm/lib/backtrace.S
index aaf7220d9e30..a673297b0cf1 100644
--- a/arch/arm/lib/backtrace.S
+++ b/arch/arm/lib/backtrace.S
@@ -110,13 +110,13 @@ no_frame: ldmfd sp!, {r4 - r8, pc}
110ENDPROC(__backtrace) 110ENDPROC(__backtrace)
111ENDPROC(c_backtrace) 111ENDPROC(c_backtrace)
112 112
113 .section __ex_table,"a" 113 .pushsection __ex_table,"a"
114 .align 3 114 .align 3
115 .long 1001b, 1006b 115 .long 1001b, 1006b
116 .long 1002b, 1006b 116 .long 1002b, 1006b
117 .long 1003b, 1006b 117 .long 1003b, 1006b
118 .long 1004b, 1006b 118 .long 1004b, 1006b
119 .previous 119 .popsection
120 120
121#define instr r4 121#define instr r4
122#define reg r5 122#define reg r5
diff --git a/arch/arm/lib/clear_user.S b/arch/arm/lib/clear_user.S
index 1279abd8b886..5e3f99620c04 100644
--- a/arch/arm/lib/clear_user.S
+++ b/arch/arm/lib/clear_user.S
@@ -46,8 +46,8 @@ USER( strnebt r2, [r0])
46 ldmfd sp!, {r1, pc} 46 ldmfd sp!, {r1, pc}
47ENDPROC(__clear_user) 47ENDPROC(__clear_user)
48 48
49 .section .fixup,"ax" 49 .pushsection .fixup,"ax"
50 .align 0 50 .align 0
519001: ldmfd sp!, {r0, pc} 519001: ldmfd sp!, {r0, pc}
52 .previous 52 .popsection
53 53
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S
index e4fe124acedc..66a477a3e3cc 100644
--- a/arch/arm/lib/copy_from_user.S
+++ b/arch/arm/lib/copy_from_user.S
@@ -90,7 +90,7 @@ ENTRY(__copy_from_user)
90 90
91ENDPROC(__copy_from_user) 91ENDPROC(__copy_from_user)
92 92
93 .section .fixup,"ax" 93 .pushsection .fixup,"ax"
94 .align 0 94 .align 0
95 copy_abort_preamble 95 copy_abort_preamble
96 ldmfd sp!, {r1, r2} 96 ldmfd sp!, {r1, r2}
@@ -100,5 +100,5 @@ ENDPROC(__copy_from_user)
100 bl __memzero 100 bl __memzero
101 ldr r0, [sp], #4 101 ldr r0, [sp], #4
102 copy_abort_end 102 copy_abort_end
103 .previous 103 .popsection
104 104
diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S
index 1a71e1584442..027b69bdbad1 100644
--- a/arch/arm/lib/copy_to_user.S
+++ b/arch/arm/lib/copy_to_user.S
@@ -94,12 +94,12 @@ WEAK(__copy_to_user)
94 94
95ENDPROC(__copy_to_user) 95ENDPROC(__copy_to_user)
96 96
97 .section .fixup,"ax" 97 .pushsection .fixup,"ax"
98 .align 0 98 .align 0
99 copy_abort_preamble 99 copy_abort_preamble
100 ldmfd sp!, {r1, r2, r3} 100 ldmfd sp!, {r1, r2, r3}
101 sub r0, r0, r1 101 sub r0, r0, r1
102 rsb r0, r0, r2 102 rsb r0, r0, r2
103 copy_abort_end 103 copy_abort_end
104 .previous 104 .popsection
105 105
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S
index fd0e9dcd9fdc..59ff6fdc1e63 100644
--- a/arch/arm/lib/csumpartialcopyuser.S
+++ b/arch/arm/lib/csumpartialcopyuser.S
@@ -68,7 +68,7 @@
68 * so properly, we would have to add in whatever registers were loaded before 68 * so properly, we would have to add in whatever registers were loaded before
69 * the fault, which, with the current asm above is not predictable. 69 * the fault, which, with the current asm above is not predictable.
70 */ 70 */
71 .section .fixup,"ax" 71 .pushsection .fixup,"ax"
72 .align 4 72 .align 4
739001: mov r4, #-EFAULT 739001: mov r4, #-EFAULT
74 ldr r5, [fp, #4] @ *err_ptr 74 ldr r5, [fp, #4] @ *err_ptr
@@ -80,4 +80,4 @@
80 strneb r0, [r1], #1 80 strneb r0, [r1], #1
81 bne 9002b 81 bne 9002b
82 load_regs 82 load_regs
83 .previous 83 .popsection
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S
index a1814d927122..b1631a7dbe75 100644
--- a/arch/arm/lib/getuser.S
+++ b/arch/arm/lib/getuser.S
@@ -64,9 +64,9 @@ __get_user_bad:
64 mov pc, lr 64 mov pc, lr
65ENDPROC(__get_user_bad) 65ENDPROC(__get_user_bad)
66 66
67.section __ex_table, "a" 67.pushsection __ex_table, "a"
68 .long 1b, __get_user_bad 68 .long 1b, __get_user_bad
69 .long 2b, __get_user_bad 69 .long 2b, __get_user_bad
70 .long 3b, __get_user_bad 70 .long 3b, __get_user_bad
71 .long 4b, __get_user_bad 71 .long 4b, __get_user_bad
72.previous 72.popsection
diff --git a/arch/arm/lib/putuser.S b/arch/arm/lib/putuser.S
index 02fedbf07c0d..5a01a23c6c06 100644
--- a/arch/arm/lib/putuser.S
+++ b/arch/arm/lib/putuser.S
@@ -81,11 +81,11 @@ __put_user_bad:
81 mov pc, lr 81 mov pc, lr
82ENDPROC(__put_user_bad) 82ENDPROC(__put_user_bad)
83 83
84.section __ex_table, "a" 84.pushsection __ex_table, "a"
85 .long 1b, __put_user_bad 85 .long 1b, __put_user_bad
86 .long 2b, __put_user_bad 86 .long 2b, __put_user_bad
87 .long 3b, __put_user_bad 87 .long 3b, __put_user_bad
88 .long 4b, __put_user_bad 88 .long 4b, __put_user_bad
89 .long 5b, __put_user_bad 89 .long 5b, __put_user_bad
90 .long 6b, __put_user_bad 90 .long 6b, __put_user_bad
91.previous 91.popsection
diff --git a/arch/arm/lib/strncpy_from_user.S b/arch/arm/lib/strncpy_from_user.S
index 1c9814f346c6..f202d7bd1647 100644
--- a/arch/arm/lib/strncpy_from_user.S
+++ b/arch/arm/lib/strncpy_from_user.S
@@ -33,11 +33,11 @@ ENTRY(__strncpy_from_user)
33 mov pc, lr 33 mov pc, lr
34ENDPROC(__strncpy_from_user) 34ENDPROC(__strncpy_from_user)
35 35
36 .section .fixup,"ax" 36 .pushsection .fixup,"ax"
37 .align 0 37 .align 0
389001: mov r3, #0 389001: mov r3, #0
39 strb r3, [r0, #0] @ null terminate 39 strb r3, [r0, #0] @ null terminate
40 mov r0, #-EFAULT 40 mov r0, #-EFAULT
41 mov pc, lr 41 mov pc, lr
42 .previous 42 .popsection
43 43
diff --git a/arch/arm/lib/strnlen_user.S b/arch/arm/lib/strnlen_user.S
index 7855b2906659..0ecbb459c4f1 100644
--- a/arch/arm/lib/strnlen_user.S
+++ b/arch/arm/lib/strnlen_user.S
@@ -33,8 +33,8 @@ ENTRY(__strnlen_user)
33 mov pc, lr 33 mov pc, lr
34ENDPROC(__strnlen_user) 34ENDPROC(__strnlen_user)
35 35
36 .section .fixup,"ax" 36 .pushsection .fixup,"ax"
37 .align 0 37 .align 0
389001: mov r0, #0 389001: mov r0, #0
39 mov pc, lr 39 mov pc, lr
40 .previous 40 .popsection
diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S
index ffdd27498cee..fee9f6f88adb 100644
--- a/arch/arm/lib/uaccess.S
+++ b/arch/arm/lib/uaccess.S
@@ -279,10 +279,10 @@ USER( strgtbt r3, [r0], #1) @ May fault
279 b .Lc2u_finished 279 b .Lc2u_finished
280ENDPROC(__copy_to_user) 280ENDPROC(__copy_to_user)
281 281
282 .section .fixup,"ax" 282 .pushsection .fixup,"ax"
283 .align 0 283 .align 0
2849001: ldmfd sp!, {r0, r4 - r7, pc} 2849001: ldmfd sp!, {r0, r4 - r7, pc}
285 .previous 285 .popsection
286 286
287/* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n); 287/* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n);
288 * Purpose : copy a block from user memory to kernel memory 288 * Purpose : copy a block from user memory to kernel memory
@@ -545,7 +545,7 @@ USER( ldrgtbt r3, [r1], #1) @ May fault
545 b .Lcfu_finished 545 b .Lcfu_finished
546ENDPROC(__copy_from_user) 546ENDPROC(__copy_from_user)
547 547
548 .section .fixup,"ax" 548 .pushsection .fixup,"ax"
549 .align 0 549 .align 0
550 /* 550 /*
551 * We took an exception. r0 contains a pointer to 551 * We took an exception. r0 contains a pointer to
@@ -559,5 +559,5 @@ ENDPROC(__copy_from_user)
559 blne __memzero 559 blne __memzero
560 mov r0, r4 560 mov r0, r4
561 ldmfd sp!, {r4 - r7, pc} 561 ldmfd sp!, {r4 - r7, pc}
562 .previous 562 .popsection
563 563