vfork.s
来自「它通过提供glibc兼容使得应用程序移植到较小的c 库时相当得容易. 它能够应用」· S 代码 · 共 36 行
S
36 行
#include <asm/unistd.h>#ifndef __NR_vfork#define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */#endif#define IMM # .text .align 2 .globl errno .globl vfork#if defined __HAVE_ELF__ .type vfork,@function#endifvfork: movl %sp@+, %a1 /* save the return address for later */ movl IMM __NR_vfork,%d0 trap #0 movl IMM -4097, %d1 cmpl %d0, %d1 bcs fix_errno jmp %a1@ /* don't return, just jmp directly */fix_errno: negl %d0#ifndef __PIC__ movl errno, %a0#else movl errno@GOT(%a5), %a0#endif movl %d0, %a0@ movl IMM -1, %d0 jmp %a1@ /* don't return, just jmp directly */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?