diff options
Diffstat (limited to 'libc/sysdeps/linux/arm/vfork.S')
| -rw-r--r-- | libc/sysdeps/linux/arm/vfork.S | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/arm/vfork.S b/libc/sysdeps/linux/arm/vfork.S index 42595b026..17d6a4db0 100644 --- a/libc/sysdeps/linux/arm/vfork.S +++ b/libc/sysdeps/linux/arm/vfork.S @@ -12,6 +12,15 @@  #include <bits/errno.h>  #include <sys/syscall.h> +#ifndef SAVE_PID +#define SAVE_PID +#endif + +#ifndef RESTORE_PID +#define RESTORE_PID +#endif + +  #ifdef __NR_fork  .text  .global	__vfork @@ -23,7 +32,9 @@  .thumb_func  __vfork:  #ifdef __NR_vfork +	SAVE_PID  	DO_CALL (vfork) +	RESTORE_PID  	ldr		r1, =0xfffff000  	cmp		r0, r1  	bcs		1f @@ -57,7 +68,9 @@ __error:  __vfork:  #ifdef __NR_vfork +	SAVE_PID  	DO_CALL (vfork) +	RESTORE_PID  	cmn	r0, #4096  	IT(t, cc)  #if defined(__USE_BX__)  | 
