From 56f3ce8c60a3bdf3a8a96fc3aaad19a0a7e0dbd8 Mon Sep 17 00:00:00 2001 From: shaojinchun Date: Sat, 13 Mar 2021 09:48:57 +0800 Subject: [PATCH] add syscall vfork support --- components/lwp/arch/arm/cortex-a/lwp_gcc.S | 2 ++ components/lwp/lwp_syscall.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/components/lwp/arch/arm/cortex-a/lwp_gcc.S b/components/lwp/arch/arm/cortex-a/lwp_gcc.S index ee91466ef9..452adb7c94 100644 --- a/components/lwp/arch/arm/cortex-a/lwp_gcc.S +++ b/components/lwp/arch/arm/cortex-a/lwp_gcc.S @@ -94,8 +94,10 @@ lwp_get_user_sp: mov pc, lr .global sys_fork +.global sys_vfork .global sys_fork_exit sys_fork: +sys_vfork: push {r4 - r12, lr} bl _sys_fork sys_fork_exit: diff --git a/components/lwp/lwp_syscall.c b/components/lwp/lwp_syscall.c index 85665d38a7..e8791e77bc 100644 --- a/components/lwp/lwp_syscall.c +++ b/components/lwp/lwp_syscall.c @@ -1436,6 +1436,7 @@ static int lwp_copy_files(struct rt_lwp *dst, struct rt_lwp *src) } int sys_fork(void); +int sys_vfork(void); void sys_fork_exit(void); int _sys_fork(void) { @@ -3203,6 +3204,7 @@ const static void* func_table[] = (void *)sys_rename, /* 135 */ (void *)sys_fork, (void *)sys_execve, + (void *)sys_vfork, }; const void *lwp_get_sys_api(rt_uint32_t number) -- Gitee