summaryrefslogtreecommitdiff
path: root/src/thread/arm/syscall_cp.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/thread/arm/syscall_cp.s')
-rw-r--r--src/thread/arm/syscall_cp.s11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/thread/arm/syscall_cp.s b/src/thread/arm/syscall_cp.s
index 66c5ecbd..96ce6135 100644
--- a/src/thread/arm/syscall_cp.s
+++ b/src/thread/arm/syscall_cp.s
@@ -1,9 +1,16 @@
+.global __cp_begin
+.hidden __cp_begin
+.global __cp_end
+.hidden __cp_end
+.global __cp_cancel
+.hidden __cp_cancel
+.hidden __cancel
.global __syscall_cp_asm
+.hidden __syscall_cp_asm
.type __syscall_cp_asm,%function
__syscall_cp_asm:
mov ip,sp
stmfd sp!,{r4,r5,r6,r7,lr}
-.global __cp_begin
__cp_begin:
ldr r0,[r0]
cmp r0,#0
@@ -13,13 +20,11 @@ __cp_begin:
mov r1,r3
ldmfd ip,{r2,r3,r4,r5,r6}
svc 0
-.global __cp_end
__cp_end:
ldmfd sp!,{r4,r5,r6,r7,lr}
tst lr,#1
moveq pc,lr
bx lr
-.global __cp_cancel
__cp_cancel:
ldmfd sp!,{r4,r5,r6,r7,lr}
b __cancel