projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
re-enable vdso clock_gettime on arm (32-bit) with workaround
[musl]
/
src
/
thread
/
sh
/
syscall_cp.s
diff --git
a/src/thread/sh/syscall_cp.s
b/src/thread/sh/syscall_cp.s
index
5677b9c
..
bb848ef
100644
(file)
--- a/
src/thread/sh/syscall_cp.s
+++ b/
src/thread/sh/syscall_cp.s
@@
-1,32
+1,29
@@
.text
.text
+.global __cp_begin
+.hidden __cp_begin
+.global __cp_end
+.hidden __cp_end
+.global __cp_cancel
+.hidden __cp_cancel
+.hidden __cancel
.global __syscall_cp_asm
.global __syscall_cp_asm
+.hidden __syscall_cp_asm
.type __syscall_cp_asm, @function
__syscall_cp_asm:
.type __syscall_cp_asm, @function
__syscall_cp_asm:
-.global __cp_begin
__cp_begin:
mov.l @r4, r4
tst r4, r4
__cp_begin:
mov.l @r4, r4
tst r4, r4
- bt 2f
-
- mov.l L1, r0
- braf r0
- nop
-1:
-
-.align 2
-L1: .long __cancel@PLT-(1b-.)
-
-2: mov r5, r3
+ bf __cp_cancel
+ mov r5, r3
mov r6, r4
mov r7, r5
mov.l @r15, r6
mov.l @(4,r15), r7
mov.l @(8,r15), r0
mov.l @(12,r15), r1
mov r6, r4
mov r7, r5
mov.l @r15, r6
mov.l @(4,r15), r7
mov.l @(8,r15), r0
mov.l @(12,r15), r1
- trapa #
22
+ trapa #
31
-.global __cp_end
__cp_end:
! work around hardware bug
or r0, r0
__cp_end:
! work around hardware bug
or r0, r0
@@
-37,3
+34,12
@@
__cp_end:
rts
nop
rts
nop
+
+__cp_cancel:
+ mov.l 2f, r0
+ braf r0
+ nop
+1:
+
+.align 2
+2: .long __cancel@PCREL-(1b-.)