Blame src/thread/nt64/syscall_cp.s

860627
.text
6eaa6b
.global __cp_begin
6eaa6b
.global __cp_end
6eaa6b
.global __cp_cancel
6eaa6b
.global __syscall_cp_asm
6eaa6b
6eaa6b
.def __cp_begin;       .scl 2; .type 32; .endef
6eaa6b
.def __cp_end;         .scl 2; .type 32; .endef
6eaa6b
.def __cp_cancel;      .scl 2; .type 32; .endef
6eaa6b
.def __syscall_cp_asm; .scl 2; .type 32; .endef
860627
860627
__syscall_cp_asm:
860627
__cp_begin:
c5e6e5
	movq	(%rcx),	%rcx		# check content of ptr
860627
	test	%ecx,	%ecx
6eaa6b
	jnz	__cp_cancel		# thread is pending cancellation
860627
c5e6e5
	movq	%rdx,	    %rcx	# move water
c5e6e5
	movq	%r8,	    %rdx	# from one glass
c5e6e5
	movq	%r9,	    %r8 	# to another
860627
	movq	0x28(%rsp), %r9
860627
860627
	movq	0x30(%rsp),%rax
860627
	movq	%rax,	   0x28(%rsp)
860627
860627
	movq	0x38(%rsp),%r10
860627
	movq	%r10,	   0x30(%rsp)
860627
860627
	movq	0x40(%rsp),%r10
860627
	movq	%r10,	   0x38(%rsp)
860627
860627
	jmp	__syscall
860627
860627
__cp_end:
860627
	ret
c00c94
6eaa6b
__cp_cancel:
6eaa6b
	jmp	__cancel
6eaa6b
c00c94
c00c94
	.section .got$__syscall_cp_asm
c00c94
	.global __imp___syscall_cp_asm
c00c94
__imp___syscall_cp_asm:
c00c94
	.quad __syscall_cp_asm
6eaa6b
	.linkonce discard
c00c94
c00c94
	.section .got$__cp_begin
c00c94
	.global __imp___cp_begin
c00c94
__imp___cp_begin:
c00c94
	.quad __cp_begin
6eaa6b
	.linkonce discard
c00c94
c00c94
	.section .got$__cp_end
c00c94
	.global __imp___cp_end
c00c94
__imp___cp_end:
c00c94
	.quad __cp_end
6eaa6b
	.linkonce discard
6eaa6b
6eaa6b
	.section .got$__cp_cancel
6eaa6b
	.global __imp___cp_cancel
6eaa6b
__imp___cp_cancel:
6eaa6b
	.quad __cp_cancel
6eaa6b
	.linkonce discard