diff options
Diffstat (limited to 'arch/arm/lib')
44 files changed, 105 insertions, 23 deletions
diff --git a/arch/arm/lib/ashldi3.S b/arch/arm/lib/ashldi3.S index 55e57a1c2e6d..1154d924080b 100644 --- a/arch/arm/lib/ashldi3.S +++ b/arch/arm/lib/ashldi3.S | |||
@@ -47,3 +47,5 @@ ENTRY(__aeabi_llsl) | |||
47 | mov al, al, lsl r2 | 47 | mov al, al, lsl r2 |
48 | mov pc, lr | 48 | mov pc, lr |
49 | 49 | ||
50 | ENDPROC(__ashldi3) | ||
51 | ENDPROC(__aeabi_llsl) | ||
diff --git a/arch/arm/lib/ashrdi3.S b/arch/arm/lib/ashrdi3.S index 0b31398f89b2..9f8b35572f8c 100644 --- a/arch/arm/lib/ashrdi3.S +++ b/arch/arm/lib/ashrdi3.S | |||
@@ -47,3 +47,5 @@ ENTRY(__aeabi_lasr) | |||
47 | mov ah, ah, asr r2 | 47 | mov ah, ah, asr r2 |
48 | mov pc, lr | 48 | mov pc, lr |
49 | 49 | ||
50 | ENDPROC(__ashrdi3) | ||
51 | ENDPROC(__aeabi_lasr) | ||
diff --git a/arch/arm/lib/backtrace.S b/arch/arm/lib/backtrace.S index 84dc890d2bf3..b0951d0e8b2c 100644 --- a/arch/arm/lib/backtrace.S +++ b/arch/arm/lib/backtrace.S | |||
@@ -30,6 +30,8 @@ ENTRY(c_backtrace) | |||
30 | 30 | ||
31 | #if !defined(CONFIG_FRAME_POINTER) || !defined(CONFIG_PRINTK) | 31 | #if !defined(CONFIG_FRAME_POINTER) || !defined(CONFIG_PRINTK) |
32 | mov pc, lr | 32 | mov pc, lr |
33 | ENDPROC(__backtrace) | ||
34 | ENDPROC(c_backtrace) | ||
33 | #else | 35 | #else |
34 | stmfd sp!, {r4 - r8, lr} @ Save an extra register so we have a location... | 36 | stmfd sp!, {r4 - r8, lr} @ Save an extra register so we have a location... |
35 | movs frame, r0 @ if frame pointer is zero | 37 | movs frame, r0 @ if frame pointer is zero |
@@ -103,6 +105,8 @@ for_each_frame: tst frame, mask @ Check for address exceptions | |||
103 | mov r1, frame | 105 | mov r1, frame |
104 | bl printk | 106 | bl printk |
105 | no_frame: ldmfd sp!, {r4 - r8, pc} | 107 | no_frame: ldmfd sp!, {r4 - r8, pc} |
108 | ENDPROC(__backtrace) | ||
109 | ENDPROC(c_backtrace) | ||
106 | 110 | ||
107 | .section __ex_table,"a" | 111 | .section __ex_table,"a" |
108 | .align 3 | 112 | .align 3 |
diff --git a/arch/arm/lib/changebit.S b/arch/arm/lib/changebit.S index 389567c24090..80f3115cbee2 100644 --- a/arch/arm/lib/changebit.S +++ b/arch/arm/lib/changebit.S | |||
@@ -19,3 +19,5 @@ ENTRY(_change_bit_be) | |||
19 | eor r0, r0, #0x18 @ big endian byte ordering | 19 | eor r0, r0, #0x18 @ big endian byte ordering |
20 | ENTRY(_change_bit_le) | 20 | ENTRY(_change_bit_le) |
21 | bitop eor | 21 | bitop eor |
22 | ENDPROC(_change_bit_be) | ||
23 | ENDPROC(_change_bit_le) | ||
diff --git a/arch/arm/lib/clear_user.S b/arch/arm/lib/clear_user.S index ecb28dcdaf7b..4d6bc71231f3 100644 --- a/arch/arm/lib/clear_user.S +++ b/arch/arm/lib/clear_user.S | |||
@@ -41,9 +41,10 @@ USER( strplt r2, [r0], #4) | |||
41 | USER( strnebt r2, [r0], #1) | 41 | USER( strnebt r2, [r0], #1) |
42 | USER( strnebt r2, [r0], #1) | 42 | USER( strnebt r2, [r0], #1) |
43 | tst r1, #1 @ x1 x0 x1 x0 x1 x0 x1 | 43 | tst r1, #1 @ x1 x0 x1 x0 x1 x0 x1 |
44 | USER( strnebt r2, [r0], #1) | 44 | USER( strnebt r2, [r0]) |
45 | mov r0, #0 | 45 | mov r0, #0 |
46 | ldmfd sp!, {r1, pc} | 46 | ldmfd sp!, {r1, pc} |
47 | ENDPROC(__clear_user) | ||
47 | 48 | ||
48 | .section .fixup,"ax" | 49 | .section .fixup,"ax" |
49 | .align 0 | 50 | .align 0 |
diff --git a/arch/arm/lib/clearbit.S b/arch/arm/lib/clearbit.S index 347516533025..1a63e43a1df0 100644 --- a/arch/arm/lib/clearbit.S +++ b/arch/arm/lib/clearbit.S | |||
@@ -20,3 +20,5 @@ ENTRY(_clear_bit_be) | |||
20 | eor r0, r0, #0x18 @ big endian byte ordering | 20 | eor r0, r0, #0x18 @ big endian byte ordering |
21 | ENTRY(_clear_bit_le) | 21 | ENTRY(_clear_bit_le) |
22 | bitop bic | 22 | bitop bic |
23 | ENDPROC(_clear_bit_be) | ||
24 | ENDPROC(_clear_bit_le) | ||
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S index 6b7363ce749c..56799a165cc4 100644 --- a/arch/arm/lib/copy_from_user.S +++ b/arch/arm/lib/copy_from_user.S | |||
@@ -87,6 +87,8 @@ ENTRY(__copy_from_user) | |||
87 | 87 | ||
88 | #include "copy_template.S" | 88 | #include "copy_template.S" |
89 | 89 | ||
90 | ENDPROC(__copy_from_user) | ||
91 | |||
90 | .section .fixup,"ax" | 92 | .section .fixup,"ax" |
91 | .align 0 | 93 | .align 0 |
92 | copy_abort_preamble | 94 | copy_abort_preamble |
diff --git a/arch/arm/lib/copy_page.S b/arch/arm/lib/copy_page.S index 666c99cc0744..6ae04db1ca4f 100644 --- a/arch/arm/lib/copy_page.S +++ b/arch/arm/lib/copy_page.S | |||
@@ -44,3 +44,4 @@ ENTRY(copy_page) | |||
44 | PLD( ldmeqia r1!, {r3, r4, ip, lr} ) | 44 | PLD( ldmeqia r1!, {r3, r4, ip, lr} ) |
45 | PLD( beq 2b ) | 45 | PLD( beq 2b ) |
46 | ldmfd sp!, {r4, pc} @ 3 | 46 | ldmfd sp!, {r4, pc} @ 3 |
47 | ENDPROC(copy_page) | ||
diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S index 5224d94688d9..22f968bbdffd 100644 --- a/arch/arm/lib/copy_to_user.S +++ b/arch/arm/lib/copy_to_user.S | |||
@@ -90,6 +90,8 @@ ENTRY(__copy_to_user) | |||
90 | 90 | ||
91 | #include "copy_template.S" | 91 | #include "copy_template.S" |
92 | 92 | ||
93 | ENDPROC(__copy_to_user) | ||
94 | |||
93 | .section .fixup,"ax" | 95 | .section .fixup,"ax" |
94 | .align 0 | 96 | .align 0 |
95 | copy_abort_preamble | 97 | copy_abort_preamble |
diff --git a/arch/arm/lib/csumipv6.S b/arch/arm/lib/csumipv6.S index 9621469beec1..3ac6ef01bc43 100644 --- a/arch/arm/lib/csumipv6.S +++ b/arch/arm/lib/csumipv6.S | |||
@@ -29,4 +29,5 @@ ENTRY(__csum_ipv6_magic) | |||
29 | adcs r0, r0, r2 | 29 | adcs r0, r0, r2 |
30 | adcs r0, r0, #0 | 30 | adcs r0, r0, #0 |
31 | ldmfd sp!, {pc} | 31 | ldmfd sp!, {pc} |
32 | ENDPROC(__csum_ipv6_magic) | ||
32 | 33 | ||
diff --git a/arch/arm/lib/csumpartial.S b/arch/arm/lib/csumpartial.S index a78dae5a7b28..31d3cb34740d 100644 --- a/arch/arm/lib/csumpartial.S +++ b/arch/arm/lib/csumpartial.S | |||
@@ -139,3 +139,4 @@ ENTRY(csum_partial) | |||
139 | tst len, #0x1c | 139 | tst len, #0x1c |
140 | bne 4b | 140 | bne 4b |
141 | b .Lless4 | 141 | b .Lless4 |
142 | ENDPROC(csum_partial) | ||
diff --git a/arch/arm/lib/csumpartialcopy.S b/arch/arm/lib/csumpartialcopy.S index 21effe0dbf97..d03fc71fc88c 100644 --- a/arch/arm/lib/csumpartialcopy.S +++ b/arch/arm/lib/csumpartialcopy.S | |||
@@ -18,13 +18,11 @@ | |||
18 | */ | 18 | */ |
19 | 19 | ||
20 | .macro save_regs | 20 | .macro save_regs |
21 | mov ip, sp | 21 | stmfd sp!, {r1, r4 - r8, lr} |
22 | stmfd sp!, {r1, r4 - r8, fp, ip, lr, pc} | ||
23 | sub fp, ip, #4 | ||
24 | .endm | 22 | .endm |
25 | 23 | ||
26 | .macro load_regs | 24 | .macro load_regs |
27 | ldmfd sp, {r1, r4 - r8, fp, sp, pc} | 25 | ldmfd sp!, {r1, r4 - r8, pc} |
28 | .endm | 26 | .endm |
29 | 27 | ||
30 | .macro load1b, reg1 | 28 | .macro load1b, reg1 |
@@ -50,5 +48,6 @@ | |||
50 | .endm | 48 | .endm |
51 | 49 | ||
52 | #define FN_ENTRY ENTRY(csum_partial_copy_nocheck) | 50 | #define FN_ENTRY ENTRY(csum_partial_copy_nocheck) |
51 | #define FN_EXIT ENDPROC(csum_partial_copy_nocheck) | ||
53 | 52 | ||
54 | #include "csumpartialcopygeneric.S" | 53 | #include "csumpartialcopygeneric.S" |
diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S index c50e8f5285d1..d620a5f22a09 100644 --- a/arch/arm/lib/csumpartialcopygeneric.S +++ b/arch/arm/lib/csumpartialcopygeneric.S | |||
@@ -329,3 +329,4 @@ FN_ENTRY | |||
329 | adcs sum, sum, r4, push #24 | 329 | adcs sum, sum, r4, push #24 |
330 | mov r5, r4, get_byte_1 | 330 | mov r5, r4, get_byte_1 |
331 | b .Lexit | 331 | b .Lexit |
332 | FN_EXIT | ||
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S index c3b93e22ea25..14677fb4b0c4 100644 --- a/arch/arm/lib/csumpartialcopyuser.S +++ b/arch/arm/lib/csumpartialcopyuser.S | |||
@@ -18,13 +18,11 @@ | |||
18 | .text | 18 | .text |
19 | 19 | ||
20 | .macro save_regs | 20 | .macro save_regs |
21 | mov ip, sp | 21 | stmfd sp!, {r1, r2, r4 - r8, lr} |
22 | stmfd sp!, {r1 - r2, r4 - r8, fp, ip, lr, pc} | ||
23 | sub fp, ip, #4 | ||
24 | .endm | 22 | .endm |
25 | 23 | ||
26 | .macro load_regs | 24 | .macro load_regs |
27 | ldmfd sp, {r1, r2, r4-r8, fp, sp, pc} | 25 | ldmfd sp!, {r1, r2, r4 - r8, pc} |
28 | .endm | 26 | .endm |
29 | 27 | ||
30 | .macro load1b, reg1 | 28 | .macro load1b, reg1 |
@@ -82,6 +80,7 @@ | |||
82 | */ | 80 | */ |
83 | 81 | ||
84 | #define FN_ENTRY ENTRY(csum_partial_copy_from_user) | 82 | #define FN_ENTRY ENTRY(csum_partial_copy_from_user) |
83 | #define FN_EXIT ENDPROC(csum_partial_copy_from_user) | ||
85 | 84 | ||
86 | #include "csumpartialcopygeneric.S" | 85 | #include "csumpartialcopygeneric.S" |
87 | 86 | ||
diff --git a/arch/arm/lib/delay.S b/arch/arm/lib/delay.S index 930a70259220..8d6a8762ab88 100644 --- a/arch/arm/lib/delay.S +++ b/arch/arm/lib/delay.S | |||
@@ -60,3 +60,6 @@ ENTRY(__delay) | |||
60 | #endif | 60 | #endif |
61 | bhi __delay | 61 | bhi __delay |
62 | mov pc, lr | 62 | mov pc, lr |
63 | ENDPROC(__udelay) | ||
64 | ENDPROC(__const_udelay) | ||
65 | ENDPROC(__delay) | ||
diff --git a/arch/arm/lib/div64.S b/arch/arm/lib/div64.S index 58eef6607629..1425e789ba86 100644 --- a/arch/arm/lib/div64.S +++ b/arch/arm/lib/div64.S | |||
@@ -198,3 +198,4 @@ ENTRY(__do_div64) | |||
198 | mov xh, #0 | 198 | mov xh, #0 |
199 | ldr pc, [sp], #8 | 199 | ldr pc, [sp], #8 |
200 | 200 | ||
201 | ENDPROC(__do_div64) | ||
diff --git a/arch/arm/lib/findbit.S b/arch/arm/lib/findbit.S index a5ca0248aa4e..8c4defc4f3c4 100644 --- a/arch/arm/lib/findbit.S +++ b/arch/arm/lib/findbit.S | |||
@@ -33,6 +33,7 @@ ENTRY(_find_first_zero_bit_le) | |||
33 | blo 1b | 33 | blo 1b |
34 | 3: mov r0, r1 @ no free bits | 34 | 3: mov r0, r1 @ no free bits |
35 | mov pc, lr | 35 | mov pc, lr |
36 | ENDPROC(_find_first_zero_bit_le) | ||
36 | 37 | ||
37 | /* | 38 | /* |
38 | * Purpose : Find next 'zero' bit | 39 | * Purpose : Find next 'zero' bit |
@@ -50,6 +51,7 @@ ENTRY(_find_next_zero_bit_le) | |||
50 | orr r2, r2, #7 @ if zero, then no bits here | 51 | orr r2, r2, #7 @ if zero, then no bits here |
51 | add r2, r2, #1 @ align bit pointer | 52 | add r2, r2, #1 @ align bit pointer |
52 | b 2b @ loop for next bit | 53 | b 2b @ loop for next bit |
54 | ENDPROC(_find_next_zero_bit_le) | ||
53 | 55 | ||
54 | /* | 56 | /* |
55 | * Purpose : Find a 'one' bit | 57 | * Purpose : Find a 'one' bit |
@@ -67,6 +69,7 @@ ENTRY(_find_first_bit_le) | |||
67 | blo 1b | 69 | blo 1b |
68 | 3: mov r0, r1 @ no free bits | 70 | 3: mov r0, r1 @ no free bits |
69 | mov pc, lr | 71 | mov pc, lr |
72 | ENDPROC(_find_first_bit_le) | ||
70 | 73 | ||
71 | /* | 74 | /* |
72 | * Purpose : Find next 'one' bit | 75 | * Purpose : Find next 'one' bit |
@@ -83,6 +86,7 @@ ENTRY(_find_next_bit_le) | |||
83 | orr r2, r2, #7 @ if zero, then no bits here | 86 | orr r2, r2, #7 @ if zero, then no bits here |
84 | add r2, r2, #1 @ align bit pointer | 87 | add r2, r2, #1 @ align bit pointer |
85 | b 2b @ loop for next bit | 88 | b 2b @ loop for next bit |
89 | ENDPROC(_find_next_bit_le) | ||
86 | 90 | ||
87 | #ifdef __ARMEB__ | 91 | #ifdef __ARMEB__ |
88 | 92 | ||
@@ -99,6 +103,7 @@ ENTRY(_find_first_zero_bit_be) | |||
99 | blo 1b | 103 | blo 1b |
100 | 3: mov r0, r1 @ no free bits | 104 | 3: mov r0, r1 @ no free bits |
101 | mov pc, lr | 105 | mov pc, lr |
106 | ENDPROC(_find_first_zero_bit_be) | ||
102 | 107 | ||
103 | ENTRY(_find_next_zero_bit_be) | 108 | ENTRY(_find_next_zero_bit_be) |
104 | teq r1, #0 | 109 | teq r1, #0 |
@@ -113,6 +118,7 @@ ENTRY(_find_next_zero_bit_be) | |||
113 | orr r2, r2, #7 @ if zero, then no bits here | 118 | orr r2, r2, #7 @ if zero, then no bits here |
114 | add r2, r2, #1 @ align bit pointer | 119 | add r2, r2, #1 @ align bit pointer |
115 | b 2b @ loop for next bit | 120 | b 2b @ loop for next bit |
121 | ENDPROC(_find_next_zero_bit_be) | ||
116 | 122 | ||
117 | ENTRY(_find_first_bit_be) | 123 | ENTRY(_find_first_bit_be) |
118 | teq r1, #0 | 124 | teq r1, #0 |
@@ -127,6 +133,7 @@ ENTRY(_find_first_bit_be) | |||
127 | blo 1b | 133 | blo 1b |
128 | 3: mov r0, r1 @ no free bits | 134 | 3: mov r0, r1 @ no free bits |
129 | mov pc, lr | 135 | mov pc, lr |
136 | ENDPROC(_find_first_bit_be) | ||
130 | 137 | ||
131 | ENTRY(_find_next_bit_be) | 138 | ENTRY(_find_next_bit_be) |
132 | teq r1, #0 | 139 | teq r1, #0 |
@@ -140,6 +147,7 @@ ENTRY(_find_next_bit_be) | |||
140 | orr r2, r2, #7 @ if zero, then no bits here | 147 | orr r2, r2, #7 @ if zero, then no bits here |
141 | add r2, r2, #1 @ align bit pointer | 148 | add r2, r2, #1 @ align bit pointer |
142 | b 2b @ loop for next bit | 149 | b 2b @ loop for next bit |
150 | ENDPROC(_find_next_bit_be) | ||
143 | 151 | ||
144 | #endif | 152 | #endif |
145 | 153 | ||
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S index 2034d4dbe6ad..6763088b7607 100644 --- a/arch/arm/lib/getuser.S +++ b/arch/arm/lib/getuser.S | |||
@@ -26,16 +26,16 @@ | |||
26 | * Note that ADDR_LIMIT is either 0 or 0xc0000000. | 26 | * Note that ADDR_LIMIT is either 0 or 0xc0000000. |
27 | * Note also that it is intended that __get_user_bad is not global. | 27 | * Note also that it is intended that __get_user_bad is not global. |
28 | */ | 28 | */ |
29 | #include <linux/linkage.h> | ||
29 | #include <asm/errno.h> | 30 | #include <asm/errno.h> |
30 | 31 | ||
31 | .global __get_user_1 | 32 | ENTRY(__get_user_1) |
32 | __get_user_1: | ||
33 | 1: ldrbt r2, [r0] | 33 | 1: ldrbt r2, [r0] |
34 | mov r0, #0 | 34 | mov r0, #0 |
35 | mov pc, lr | 35 | mov pc, lr |
36 | ENDPROC(__get_user_1) | ||
36 | 37 | ||
37 | .global __get_user_2 | 38 | ENTRY(__get_user_2) |
38 | __get_user_2: | ||
39 | 2: ldrbt r2, [r0], #1 | 39 | 2: ldrbt r2, [r0], #1 |
40 | 3: ldrbt r3, [r0] | 40 | 3: ldrbt r3, [r0] |
41 | #ifndef __ARMEB__ | 41 | #ifndef __ARMEB__ |
@@ -45,17 +45,19 @@ __get_user_2: | |||
45 | #endif | 45 | #endif |
46 | mov r0, #0 | 46 | mov r0, #0 |
47 | mov pc, lr | 47 | mov pc, lr |
48 | ENDPROC(__get_user_2) | ||
48 | 49 | ||
49 | .global __get_user_4 | 50 | ENTRY(__get_user_4) |
50 | __get_user_4: | ||
51 | 4: ldrt r2, [r0] | 51 | 4: ldrt r2, [r0] |
52 | mov r0, #0 | 52 | mov r0, #0 |
53 | mov pc, lr | 53 | mov pc, lr |
54 | ENDPROC(__get_user_4) | ||
54 | 55 | ||
55 | __get_user_bad: | 56 | __get_user_bad: |
56 | mov r2, #0 | 57 | mov r2, #0 |
57 | mov r0, #-EFAULT | 58 | mov r0, #-EFAULT |
58 | mov pc, lr | 59 | mov pc, lr |
60 | ENDPROC(__get_user_bad) | ||
59 | 61 | ||
60 | .section __ex_table, "a" | 62 | .section __ex_table, "a" |
61 | .long 1b, __get_user_bad | 63 | .long 1b, __get_user_bad |
diff --git a/arch/arm/lib/io-readsb.S b/arch/arm/lib/io-readsb.S index fb966ad0276f..9f4238987fe9 100644 --- a/arch/arm/lib/io-readsb.S +++ b/arch/arm/lib/io-readsb.S | |||
@@ -120,3 +120,4 @@ ENTRY(__raw_readsb) | |||
120 | strgtb r3, [r1] | 120 | strgtb r3, [r1] |
121 | 121 | ||
122 | ldmfd sp!, {r4 - r6, pc} | 122 | ldmfd sp!, {r4 - r6, pc} |
123 | ENDPROC(__raw_readsb) | ||
diff --git a/arch/arm/lib/io-readsl.S b/arch/arm/lib/io-readsl.S index 75a9121cb23f..5fb97e7f9f4b 100644 --- a/arch/arm/lib/io-readsl.S +++ b/arch/arm/lib/io-readsl.S | |||
@@ -76,3 +76,4 @@ ENTRY(__raw_readsl) | |||
76 | 8: mov r3, ip, get_byte_0 | 76 | 8: mov r3, ip, get_byte_0 |
77 | strb r3, [r1, #0] | 77 | strb r3, [r1, #0] |
78 | mov pc, lr | 78 | mov pc, lr |
79 | ENDPROC(__raw_readsl) | ||
diff --git a/arch/arm/lib/io-readsw-armv4.S b/arch/arm/lib/io-readsw-armv4.S index 4db1c5f0b219..1f393d42593d 100644 --- a/arch/arm/lib/io-readsw-armv4.S +++ b/arch/arm/lib/io-readsw-armv4.S | |||
@@ -128,3 +128,4 @@ ENTRY(__raw_readsw) | |||
128 | _BE_ONLY_( movne ip, ip, lsr #24 ) | 128 | _BE_ONLY_( movne ip, ip, lsr #24 ) |
129 | strneb ip, [r1] | 129 | strneb ip, [r1] |
130 | ldmfd sp!, {r4, pc} | 130 | ldmfd sp!, {r4, pc} |
131 | ENDPROC(__raw_readsw) | ||
diff --git a/arch/arm/lib/io-writesb.S b/arch/arm/lib/io-writesb.S index 7eba2b6cc69f..68b92f4acaeb 100644 --- a/arch/arm/lib/io-writesb.S +++ b/arch/arm/lib/io-writesb.S | |||
@@ -91,3 +91,4 @@ ENTRY(__raw_writesb) | |||
91 | strgtb r3, [r0] | 91 | strgtb r3, [r0] |
92 | 92 | ||
93 | ldmfd sp!, {r4, r5, pc} | 93 | ldmfd sp!, {r4, r5, pc} |
94 | ENDPROC(__raw_writesb) | ||
diff --git a/arch/arm/lib/io-writesl.S b/arch/arm/lib/io-writesl.S index f8f14dd227ca..8d3b7813725c 100644 --- a/arch/arm/lib/io-writesl.S +++ b/arch/arm/lib/io-writesl.S | |||
@@ -64,3 +64,4 @@ ENTRY(__raw_writesl) | |||
64 | str ip, [r0] | 64 | str ip, [r0] |
65 | bne 6b | 65 | bne 6b |
66 | mov pc, lr | 66 | mov pc, lr |
67 | ENDPROC(__raw_writesl) | ||
diff --git a/arch/arm/lib/io-writesw-armv4.S b/arch/arm/lib/io-writesw-armv4.S index c8e85bd653b7..d6585612c86b 100644 --- a/arch/arm/lib/io-writesw-armv4.S +++ b/arch/arm/lib/io-writesw-armv4.S | |||
@@ -94,3 +94,4 @@ ENTRY(__raw_writesw) | |||
94 | 3: movne ip, r3, lsr #8 | 94 | 3: movne ip, r3, lsr #8 |
95 | strneh ip, [r0] | 95 | strneh ip, [r0] |
96 | mov pc, lr | 96 | mov pc, lr |
97 | ENDPROC(__raw_writesw) | ||
diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S index 4e492f4b3f0e..67964bcfc854 100644 --- a/arch/arm/lib/lib1funcs.S +++ b/arch/arm/lib/lib1funcs.S | |||
@@ -230,6 +230,8 @@ ENTRY(__aeabi_uidiv) | |||
230 | mov r0, r0, lsr r2 | 230 | mov r0, r0, lsr r2 |
231 | mov pc, lr | 231 | mov pc, lr |
232 | 232 | ||
233 | ENDPROC(__udivsi3) | ||
234 | ENDPROC(__aeabi_uidiv) | ||
233 | 235 | ||
234 | ENTRY(__umodsi3) | 236 | ENTRY(__umodsi3) |
235 | 237 | ||
@@ -245,6 +247,7 @@ ENTRY(__umodsi3) | |||
245 | 247 | ||
246 | mov pc, lr | 248 | mov pc, lr |
247 | 249 | ||
250 | ENDPROC(__umodsi3) | ||
248 | 251 | ||
249 | ENTRY(__divsi3) | 252 | ENTRY(__divsi3) |
250 | ENTRY(__aeabi_idiv) | 253 | ENTRY(__aeabi_idiv) |
@@ -284,6 +287,8 @@ ENTRY(__aeabi_idiv) | |||
284 | rsbmi r0, r0, #0 | 287 | rsbmi r0, r0, #0 |
285 | mov pc, lr | 288 | mov pc, lr |
286 | 289 | ||
290 | ENDPROC(__divsi3) | ||
291 | ENDPROC(__aeabi_idiv) | ||
287 | 292 | ||
288 | ENTRY(__modsi3) | 293 | ENTRY(__modsi3) |
289 | 294 | ||
@@ -305,6 +310,8 @@ ENTRY(__modsi3) | |||
305 | rsbmi r0, r0, #0 | 310 | rsbmi r0, r0, #0 |
306 | mov pc, lr | 311 | mov pc, lr |
307 | 312 | ||
313 | ENDPROC(__modsi3) | ||
314 | |||
308 | #ifdef CONFIG_AEABI | 315 | #ifdef CONFIG_AEABI |
309 | 316 | ||
310 | ENTRY(__aeabi_uidivmod) | 317 | ENTRY(__aeabi_uidivmod) |
@@ -316,6 +323,8 @@ ENTRY(__aeabi_uidivmod) | |||
316 | sub r1, r1, r3 | 323 | sub r1, r1, r3 |
317 | mov pc, lr | 324 | mov pc, lr |
318 | 325 | ||
326 | ENDPROC(__aeabi_uidivmod) | ||
327 | |||
319 | ENTRY(__aeabi_idivmod) | 328 | ENTRY(__aeabi_idivmod) |
320 | 329 | ||
321 | stmfd sp!, {r0, r1, ip, lr} | 330 | stmfd sp!, {r0, r1, ip, lr} |
@@ -325,6 +334,8 @@ ENTRY(__aeabi_idivmod) | |||
325 | sub r1, r1, r3 | 334 | sub r1, r1, r3 |
326 | mov pc, lr | 335 | mov pc, lr |
327 | 336 | ||
337 | ENDPROC(__aeabi_idivmod) | ||
338 | |||
328 | #endif | 339 | #endif |
329 | 340 | ||
330 | Ldiv0: | 341 | Ldiv0: |
diff --git a/arch/arm/lib/lshrdi3.S b/arch/arm/lib/lshrdi3.S index a86dbdd59cc4..99ea338bf87c 100644 --- a/arch/arm/lib/lshrdi3.S +++ b/arch/arm/lib/lshrdi3.S | |||
@@ -47,3 +47,5 @@ ENTRY(__aeabi_llsr) | |||
47 | mov ah, ah, lsr r2 | 47 | mov ah, ah, lsr r2 |
48 | mov pc, lr | 48 | mov pc, lr |
49 | 49 | ||
50 | ENDPROC(__lshrdi3) | ||
51 | ENDPROC(__aeabi_llsr) | ||
diff --git a/arch/arm/lib/memchr.S b/arch/arm/lib/memchr.S index e7ab1ea8ebaa..1da86991d700 100644 --- a/arch/arm/lib/memchr.S +++ b/arch/arm/lib/memchr.S | |||
@@ -23,3 +23,4 @@ ENTRY(memchr) | |||
23 | sub r0, r0, #1 | 23 | sub r0, r0, #1 |
24 | 2: movne r0, #0 | 24 | 2: movne r0, #0 |
25 | mov pc, lr | 25 | mov pc, lr |
26 | ENDPROC(memchr) | ||
diff --git a/arch/arm/lib/memcpy.S b/arch/arm/lib/memcpy.S index 7e71d6708a8d..e0d002641d3f 100644 --- a/arch/arm/lib/memcpy.S +++ b/arch/arm/lib/memcpy.S | |||
@@ -57,3 +57,4 @@ ENTRY(memcpy) | |||
57 | 57 | ||
58 | #include "copy_template.S" | 58 | #include "copy_template.S" |
59 | 59 | ||
60 | ENDPROC(memcpy) | ||
diff --git a/arch/arm/lib/memmove.S b/arch/arm/lib/memmove.S index 2e301b7bd8f1..12549187088c 100644 --- a/arch/arm/lib/memmove.S +++ b/arch/arm/lib/memmove.S | |||
@@ -196,3 +196,4 @@ ENTRY(memmove) | |||
196 | 196 | ||
197 | 18: backward_copy_shift push=24 pull=8 | 197 | 18: backward_copy_shift push=24 pull=8 |
198 | 198 | ||
199 | ENDPROC(memmove) | ||
diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S index b477d4ac88ef..761eefa76243 100644 --- a/arch/arm/lib/memset.S +++ b/arch/arm/lib/memset.S | |||
@@ -124,3 +124,4 @@ ENTRY(memset) | |||
124 | tst r2, #1 | 124 | tst r2, #1 |
125 | strneb r1, [r0], #1 | 125 | strneb r1, [r0], #1 |
126 | mov pc, lr | 126 | mov pc, lr |
127 | ENDPROC(memset) | ||
diff --git a/arch/arm/lib/memzero.S b/arch/arm/lib/memzero.S index b8f79d80ee9b..3fbdef5f802a 100644 --- a/arch/arm/lib/memzero.S +++ b/arch/arm/lib/memzero.S | |||
@@ -122,3 +122,4 @@ ENTRY(__memzero) | |||
122 | tst r1, #1 @ 1 a byte left over | 122 | tst r1, #1 @ 1 a byte left over |
123 | strneb r2, [r0], #1 @ 1 | 123 | strneb r2, [r0], #1 @ 1 |
124 | mov pc, lr @ 1 | 124 | mov pc, lr @ 1 |
125 | ENDPROC(__memzero) | ||
diff --git a/arch/arm/lib/muldi3.S b/arch/arm/lib/muldi3.S index d89c60615794..36c91b4957e2 100644 --- a/arch/arm/lib/muldi3.S +++ b/arch/arm/lib/muldi3.S | |||
@@ -43,3 +43,5 @@ ENTRY(__aeabi_lmul) | |||
43 | adc xh, xh, ip, lsr #16 | 43 | adc xh, xh, ip, lsr #16 |
44 | mov pc, lr | 44 | mov pc, lr |
45 | 45 | ||
46 | ENDPROC(__muldi3) | ||
47 | ENDPROC(__aeabi_lmul) | ||
diff --git a/arch/arm/lib/putuser.S b/arch/arm/lib/putuser.S index 08ec7dffa52e..864f3c1c4f18 100644 --- a/arch/arm/lib/putuser.S +++ b/arch/arm/lib/putuser.S | |||
@@ -26,16 +26,16 @@ | |||
26 | * Note that ADDR_LIMIT is either 0 or 0xc0000000 | 26 | * Note that ADDR_LIMIT is either 0 or 0xc0000000 |
27 | * Note also that it is intended that __put_user_bad is not global. | 27 | * Note also that it is intended that __put_user_bad is not global. |
28 | */ | 28 | */ |
29 | #include <linux/linkage.h> | ||
29 | #include <asm/errno.h> | 30 | #include <asm/errno.h> |
30 | 31 | ||
31 | .global __put_user_1 | 32 | ENTRY(__put_user_1) |
32 | __put_user_1: | ||
33 | 1: strbt r2, [r0] | 33 | 1: strbt r2, [r0] |
34 | mov r0, #0 | 34 | mov r0, #0 |
35 | mov pc, lr | 35 | mov pc, lr |
36 | ENDPROC(__put_user_1) | ||
36 | 37 | ||
37 | .global __put_user_2 | 38 | ENTRY(__put_user_2) |
38 | __put_user_2: | ||
39 | mov ip, r2, lsr #8 | 39 | mov ip, r2, lsr #8 |
40 | #ifndef __ARMEB__ | 40 | #ifndef __ARMEB__ |
41 | 2: strbt r2, [r0], #1 | 41 | 2: strbt r2, [r0], #1 |
@@ -46,23 +46,25 @@ __put_user_2: | |||
46 | #endif | 46 | #endif |
47 | mov r0, #0 | 47 | mov r0, #0 |
48 | mov pc, lr | 48 | mov pc, lr |
49 | ENDPROC(__put_user_2) | ||
49 | 50 | ||
50 | .global __put_user_4 | 51 | ENTRY(__put_user_4) |
51 | __put_user_4: | ||
52 | 4: strt r2, [r0] | 52 | 4: strt r2, [r0] |
53 | mov r0, #0 | 53 | mov r0, #0 |
54 | mov pc, lr | 54 | mov pc, lr |
55 | ENDPROC(__put_user_4) | ||
55 | 56 | ||
56 | .global __put_user_8 | 57 | ENTRY(__put_user_8) |
57 | __put_user_8: | ||
58 | 5: strt r2, [r0], #4 | 58 | 5: strt r2, [r0], #4 |
59 | 6: strt r3, [r0] | 59 | 6: strt r3, [r0] |
60 | mov r0, #0 | 60 | mov r0, #0 |
61 | mov pc, lr | 61 | mov pc, lr |
62 | ENDPROC(__put_user_8) | ||
62 | 63 | ||
63 | __put_user_bad: | 64 | __put_user_bad: |
64 | mov r0, #-EFAULT | 65 | mov r0, #-EFAULT |
65 | mov pc, lr | 66 | mov pc, lr |
67 | ENDPROC(__put_user_bad) | ||
66 | 68 | ||
67 | .section __ex_table, "a" | 69 | .section __ex_table, "a" |
68 | .long 1b, __put_user_bad | 70 | .long 1b, __put_user_bad |
diff --git a/arch/arm/lib/setbit.S b/arch/arm/lib/setbit.S index 83bc23d5b037..1dd7176c4b2b 100644 --- a/arch/arm/lib/setbit.S +++ b/arch/arm/lib/setbit.S | |||
@@ -20,3 +20,5 @@ ENTRY(_set_bit_be) | |||
20 | eor r0, r0, #0x18 @ big endian byte ordering | 20 | eor r0, r0, #0x18 @ big endian byte ordering |
21 | ENTRY(_set_bit_le) | 21 | ENTRY(_set_bit_le) |
22 | bitop orr | 22 | bitop orr |
23 | ENDPROC(_set_bit_be) | ||
24 | ENDPROC(_set_bit_le) | ||
diff --git a/arch/arm/lib/sha1.S b/arch/arm/lib/sha1.S index 67c2bf4774b7..a16fb208c841 100644 --- a/arch/arm/lib/sha1.S +++ b/arch/arm/lib/sha1.S | |||
@@ -185,6 +185,8 @@ ENTRY(sha_transform) | |||
185 | 185 | ||
186 | ldmfd sp!, {r4 - r8, pc} | 186 | ldmfd sp!, {r4 - r8, pc} |
187 | 187 | ||
188 | ENDPROC(sha_transform) | ||
189 | |||
188 | .L_sha_K: | 190 | .L_sha_K: |
189 | .word 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 | 191 | .word 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 |
190 | 192 | ||
@@ -204,3 +206,4 @@ ENTRY(sha_init) | |||
204 | stmia r0, {r1, r2, r3, ip, lr} | 206 | stmia r0, {r1, r2, r3, ip, lr} |
205 | ldr pc, [sp], #4 | 207 | ldr pc, [sp], #4 |
206 | 208 | ||
209 | ENDPROC(sha_init) | ||
diff --git a/arch/arm/lib/strchr.S b/arch/arm/lib/strchr.S index 9f18d6fdee6a..d8f2a1c1aea4 100644 --- a/arch/arm/lib/strchr.S +++ b/arch/arm/lib/strchr.S | |||
@@ -24,3 +24,4 @@ ENTRY(strchr) | |||
24 | movne r0, #0 | 24 | movne r0, #0 |
25 | subeq r0, r0, #1 | 25 | subeq r0, r0, #1 |
26 | mov pc, lr | 26 | mov pc, lr |
27 | ENDPROC(strchr) | ||
diff --git a/arch/arm/lib/strncpy_from_user.S b/arch/arm/lib/strncpy_from_user.S index 36e3741a3772..330373c26dd9 100644 --- a/arch/arm/lib/strncpy_from_user.S +++ b/arch/arm/lib/strncpy_from_user.S | |||
@@ -31,6 +31,7 @@ USER( ldrplbt r3, [r1], #1) | |||
31 | sub r1, r1, #1 @ take NUL character out of count | 31 | sub r1, r1, #1 @ take NUL character out of count |
32 | 2: sub r0, r1, ip | 32 | 2: sub r0, r1, ip |
33 | mov pc, lr | 33 | mov pc, lr |
34 | ENDPROC(__strncpy_from_user) | ||
34 | 35 | ||
35 | .section .fixup,"ax" | 36 | .section .fixup,"ax" |
36 | .align 0 | 37 | .align 0 |
diff --git a/arch/arm/lib/strnlen_user.S b/arch/arm/lib/strnlen_user.S index 18d8fa4f925a..90bb9d020836 100644 --- a/arch/arm/lib/strnlen_user.S +++ b/arch/arm/lib/strnlen_user.S | |||
@@ -31,6 +31,7 @@ USER( ldrbt r3, [r0], #1) | |||
31 | add r0, r0, #1 | 31 | add r0, r0, #1 |
32 | 2: sub r0, r0, r2 | 32 | 2: sub r0, r0, r2 |
33 | mov pc, lr | 33 | mov pc, lr |
34 | ENDPROC(__strnlen_user) | ||
34 | 35 | ||
35 | .section .fixup,"ax" | 36 | .section .fixup,"ax" |
36 | .align 0 | 37 | .align 0 |
diff --git a/arch/arm/lib/strrchr.S b/arch/arm/lib/strrchr.S index 538df220aa48..302f20cd2423 100644 --- a/arch/arm/lib/strrchr.S +++ b/arch/arm/lib/strrchr.S | |||
@@ -23,3 +23,4 @@ ENTRY(strrchr) | |||
23 | bne 1b | 23 | bne 1b |
24 | mov r0, r3 | 24 | mov r0, r3 |
25 | mov pc, lr | 25 | mov pc, lr |
26 | ENDPROC(strrchr) | ||
diff --git a/arch/arm/lib/testchangebit.S b/arch/arm/lib/testchangebit.S index b25dcd2be53e..5c98dc567f0f 100644 --- a/arch/arm/lib/testchangebit.S +++ b/arch/arm/lib/testchangebit.S | |||
@@ -16,3 +16,5 @@ ENTRY(_test_and_change_bit_be) | |||
16 | eor r0, r0, #0x18 @ big endian byte ordering | 16 | eor r0, r0, #0x18 @ big endian byte ordering |
17 | ENTRY(_test_and_change_bit_le) | 17 | ENTRY(_test_and_change_bit_le) |
18 | testop eor, strb | 18 | testop eor, strb |
19 | ENDPROC(_test_and_change_bit_be) | ||
20 | ENDPROC(_test_and_change_bit_le) | ||
diff --git a/arch/arm/lib/testclearbit.S b/arch/arm/lib/testclearbit.S index 2dcc4b16b68e..543d7094d18e 100644 --- a/arch/arm/lib/testclearbit.S +++ b/arch/arm/lib/testclearbit.S | |||
@@ -16,3 +16,5 @@ ENTRY(_test_and_clear_bit_be) | |||
16 | eor r0, r0, #0x18 @ big endian byte ordering | 16 | eor r0, r0, #0x18 @ big endian byte ordering |
17 | ENTRY(_test_and_clear_bit_le) | 17 | ENTRY(_test_and_clear_bit_le) |
18 | testop bicne, strneb | 18 | testop bicne, strneb |
19 | ENDPROC(_test_and_clear_bit_be) | ||
20 | ENDPROC(_test_and_clear_bit_le) | ||
diff --git a/arch/arm/lib/testsetbit.S b/arch/arm/lib/testsetbit.S index 9011c969761a..0b3f390401ce 100644 --- a/arch/arm/lib/testsetbit.S +++ b/arch/arm/lib/testsetbit.S | |||
@@ -16,3 +16,5 @@ ENTRY(_test_and_set_bit_be) | |||
16 | eor r0, r0, #0x18 @ big endian byte ordering | 16 | eor r0, r0, #0x18 @ big endian byte ordering |
17 | ENTRY(_test_and_set_bit_le) | 17 | ENTRY(_test_and_set_bit_le) |
18 | testop orreq, streqb | 18 | testop orreq, streqb |
19 | ENDPROC(_test_and_set_bit_be) | ||
20 | ENDPROC(_test_and_set_bit_le) | ||
diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S index b48bd6d5fd83..ffdd27498cee 100644 --- a/arch/arm/lib/uaccess.S +++ b/arch/arm/lib/uaccess.S | |||
@@ -277,6 +277,7 @@ USER( strgebt r3, [r0], #1) @ May fault | |||
277 | ldrgtb r3, [r1], #0 | 277 | ldrgtb r3, [r1], #0 |
278 | USER( strgtbt r3, [r0], #1) @ May fault | 278 | USER( strgtbt r3, [r0], #1) @ May fault |
279 | b .Lc2u_finished | 279 | b .Lc2u_finished |
280 | ENDPROC(__copy_to_user) | ||
280 | 281 | ||
281 | .section .fixup,"ax" | 282 | .section .fixup,"ax" |
282 | .align 0 | 283 | .align 0 |
@@ -542,6 +543,7 @@ USER( ldrgebt r3, [r1], #1) @ May fault | |||
542 | USER( ldrgtbt r3, [r1], #1) @ May fault | 543 | USER( ldrgtbt r3, [r1], #1) @ May fault |
543 | strgtb r3, [r0], #1 | 544 | strgtb r3, [r0], #1 |
544 | b .Lcfu_finished | 545 | b .Lcfu_finished |
546 | ENDPROC(__copy_from_user) | ||
545 | 547 | ||
546 | .section .fixup,"ax" | 548 | .section .fixup,"ax" |
547 | .align 0 | 549 | .align 0 |
diff --git a/arch/arm/lib/ucmpdi2.S b/arch/arm/lib/ucmpdi2.S index f76de07ac182..f0df6a91db04 100644 --- a/arch/arm/lib/ucmpdi2.S +++ b/arch/arm/lib/ucmpdi2.S | |||
@@ -33,6 +33,8 @@ ENTRY(__ucmpdi2) | |||
33 | movhi r0, #2 | 33 | movhi r0, #2 |
34 | mov pc, lr | 34 | mov pc, lr |
35 | 35 | ||
36 | ENDPROC(__ucmpdi2) | ||
37 | |||
36 | #ifdef CONFIG_AEABI | 38 | #ifdef CONFIG_AEABI |
37 | 39 | ||
38 | ENTRY(__aeabi_ulcmp) | 40 | ENTRY(__aeabi_ulcmp) |
@@ -44,5 +46,7 @@ ENTRY(__aeabi_ulcmp) | |||
44 | movhi r0, #1 | 46 | movhi r0, #1 |
45 | mov pc, lr | 47 | mov pc, lr |
46 | 48 | ||
49 | ENDPROC(__aeabi_ulcmp) | ||
50 | |||
47 | #endif | 51 | #endif |
48 | 52 | ||