summaryrefslogtreecommitdiffhomepage
path: root/src/process/nt32/tt_fork_v1.s
blob: c659ec5e43941629d7a6360b306fc73a1675dd97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
##########################################################
##  ntapi: Native API core library                      ##
##  Copyright (C) 2013--2017  Z. Gilboa                 ##
##  Released under GPLv2 and GPLv3; see COPYING.NTAPI.  ##
##########################################################

.section .text

.global ___tt_fork_v1
.global ___tt_fork_child_entry_point
.global @__tt_fork_child_entry_point@4
.global ___tt_fork_child_entry_point_adj
.global @__tt_fork_child_entry_point_adj@4

___tt_fork_v1:
___tt_fork_prolog:
	push	%ebp
	mov	%esp, %ebp

___tt_fork_save_regs:
	push	%ecx
	push	%edx
	push	%ebx
	push	%esi
	push	%edi

___tt_fork_impl_call:
	mov	%esp, %ecx
	mov	$0,   %edx
	call @__tt_fork_impl_v1@8

___tt_fork_restore_regs:
	pop	%edi
	pop	%esi
	pop	%ebx
	pop	%edx
	pop	%ecx

___tt_fork_epilog:
	mov	%ebp, %esp
	pop	%ebp
	ret

___tt_fork_child_entry_point:
@__tt_fork_child_entry_point@4:
___tt_fork_child_entry_point_adj:
@__tt_fork_child_entry_point_adj@4:
	xor	%eax, %eax
	mov	%ecx, %esp

___tt_fork_child_restore_regs:
	pop	%edi
	pop	%esi
	pop	%ebx
	pop	%edx
	pop	%ecx

___tt_fork_child_epilog:
	pop	%ebp
	ret