summaryrefslogtreecommitdiffhomepage
path: root/src/thread/nt64
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-01-08 05:49:33 -0500
committermidipix <writeonce@midipix.org>2019-01-09 22:43:17 -0500
commit6eaa6b836e9d955d3b528caafaf1233b1b0f83e2 (patch)
tree047a5e5e944c8a7aaf421ae5cdaaa44ba2e9b7a8 /src/thread/nt64
parentd88860fd0c6ce41a01c0319bc938db87227a8b39 (diff)
downloadmmglue-6eaa6b836e9d955d3b528caafaf1233b1b0f83e2.tar.bz2
mmglue-6eaa6b836e9d955d3b528caafaf1233b1b0f83e2.tar.xz
mmglue: syscall_cp: added the bits needed by recent musl versions.
Diffstat (limited to 'src/thread/nt64')
-rw-r--r--src/thread/nt64/syscall_cp.s27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/thread/nt64/syscall_cp.s b/src/thread/nt64/syscall_cp.s
index 7d4cbaf..27b649d 100644
--- a/src/thread/nt64/syscall_cp.s
+++ b/src/thread/nt64/syscall_cp.s
@@ -1,13 +1,19 @@
.text
-.globl __syscall_cp_asm
-.globl __cp_begin
-.globl __cp_end
+.global __cp_begin
+.global __cp_end
+.global __cp_cancel
+.global __syscall_cp_asm
+
+.def __cp_begin; .scl 2; .type 32; .endef
+.def __cp_end; .scl 2; .type 32; .endef
+.def __cp_cancel; .scl 2; .type 32; .endef
+.def __syscall_cp_asm; .scl 2; .type 32; .endef
__syscall_cp_asm:
__cp_begin:
movq (%rcx), %rcx # check content of ptr
test %ecx, %ecx
- jnz __cancel # thread is pending cancellation
+ jnz __cp_cancel # thread is pending cancellation
movq %rdx, %rcx # move water
movq %r8, %rdx # from one glass
@@ -28,19 +34,30 @@ __cp_begin:
__cp_end:
ret
+__cp_cancel:
+ jmp __cancel
+
.section .got$__syscall_cp_asm
.global __imp___syscall_cp_asm
__imp___syscall_cp_asm:
.quad __syscall_cp_asm
-
+ .linkonce discard
.section .got$__cp_begin
.global __imp___cp_begin
__imp___cp_begin:
.quad __cp_begin
+ .linkonce discard
.section .got$__cp_end
.global __imp___cp_end
__imp___cp_end:
.quad __cp_end
+ .linkonce discard
+
+ .section .got$__cp_cancel
+ .global __imp___cp_cancel
+__imp___cp_cancel:
+ .quad __cp_cancel
+ .linkonce discard