提交 7d2f082e 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

tfork child call exit after calling fptr.

上级 6130053e
.globl forkt .globl forkt
forkt: forkt:
pushq %rdi ## new stack ptr pushq %rdi ## new stack ptr
pushq %rsi ## function ptr pushq %rsi ## function ptr
movq $1, %rdi ## flag for sys_fork movq $1, %rdi ## flag for sys_fork
callq fork callq fork
popq %rsi popq %r10 ## function ptr
popq %rdi popq %r11 ## new stack ptr
cmpl $0, %eax cmpl $0, %eax ## pid/tid
jne 1f jne 1f
movq %rdi, %rsp movq %r11, %rsp
jmp *%rsi andq $(~0xf), %rsp ## alignment for amd64 ABI
movq %rax, %rdi
call *%r10
call exit
1: 1:
ret ret
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论