summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2014-05-12 13:43:10 +0000
committerDmitry V. Levin <ldv@altlinux.org>2014-05-12 20:26:24 +0000
commit6556315493082df9a24dbce9dadea4d6673e9965 (patch)
tree4020c6811ad2b1a65a165b386db449321cf2a494
parente51ce47b1158e8424eee314ca2f3731881355eec (diff)
downloadstrace-6556315493082df9a24dbce9dadea4d6673e9965.tar.gz
strace-6556315493082df9a24dbce9dadea4d6673e9965.tar.bz2
strace-6556315493082df9a24dbce9dadea4d6673e9965.tar.xz
Alias sys_vfork to sys_fork
* process.c (sys_vfork): Remove. * linux/syscall.h (sys_vfork): Likewise. * linux/dummy.h (sys_vfork): Alias to sys_fork. * linux/alpha/syscallent.h: Fix vfork entry. * util.c (setbpt): Do not check for sys_vfork. * syscall.c (syscall_fixup_for_fork_exec): Likewise.
-rw-r--r--linux/alpha/syscallent.h2
-rw-r--r--linux/dummy.h1
-rw-r--r--linux/syscall.h1
-rw-r--r--process.c8
-rw-r--r--syscall.c1
-rw-r--r--util.c3
6 files changed, 3 insertions, 13 deletions
diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
index 28e2eeb..513c074 100644
--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h
@@ -92,7 +92,7 @@
{ 0, 0, sys_getpgrp, "getpgrp" }, /* 63 */
{ 0, 0, sys_getpagesize, "getpagesize" }, /* 64 */
{ 5, TM, printargs, "osf_mremap" }, /* 65, not implemented */
- { 0, TP, sys_fork, "vfork" }, /* 66 */
+ { 0, TP, sys_vfork, "vfork" }, /* 66 */
{ 2, TF, sys_stat, "stat" }, /* 67 */
{ 2, TF, sys_lstat, "lstat" }, /* 68 */
{ 5, TM, printargs, "osf_sbrk" }, /* 69, not implemented */
diff --git a/linux/dummy.h b/linux/dummy.h
index 2fc3498..2371673 100644
--- a/linux/dummy.h
+++ b/linux/dummy.h
@@ -88,6 +88,7 @@
#define sys_umount sys_chdir
#define sys_unlink sys_chdir
#define sys_uselib sys_chdir
+#define sys_vfork sys_fork
/* printargs does the right thing */
#define sys_getpgid printargs
diff --git a/linux/syscall.h b/linux/syscall.h
index 8725040..cfa9086 100644
--- a/linux/syscall.h
+++ b/linux/syscall.h
@@ -302,7 +302,6 @@ int sys_unshare();
int sys_utime();
int sys_utimensat();
int sys_utimes();
-int sys_vfork();
int sys_vmsplice();
int sys_wait4();
int sys_waitid();
diff --git a/process.c b/process.c
index af203ea..1325319 100644
--- a/process.c
+++ b/process.c
@@ -600,14 +600,6 @@ sys_fork(struct tcb *tcp)
return 0;
}
-int
-sys_vfork(struct tcb *tcp)
-{
- if (exiting(tcp))
- return RVAL_UDECIMAL;
- return 0;
-}
-
int sys_getuid(struct tcb *tcp)
{
if (exiting(tcp))
diff --git a/syscall.c b/syscall.c
index 0a4e15d..28bdb66 100644
--- a/syscall.c
+++ b/syscall.c
@@ -1708,7 +1708,6 @@ syscall_fixup_for_fork_exec(struct tcb *tcp)
func = tcp->s_ent->sys_func;
if ( sys_fork == func
- || sys_vfork == func
|| sys_clone == func
) {
internal_fork(tcp);
diff --git a/util.c b/util.c
index d986f7c..ff18b87 100644
--- a/util.c
+++ b/util.c
@@ -1492,8 +1492,7 @@ setbpt(struct tcb *tcp)
}
}
- if (tcp->s_ent->sys_func == sys_fork ||
- tcp->s_ent->sys_func == sys_vfork) {
+ if (tcp->s_ent->sys_func == sys_fork) {
if (arg_setup(tcp, &state) < 0
|| get_arg0(tcp, &state, &tcp->inst[0]) < 0
|| get_arg1(tcp, &state, &tcp->inst[1]) < 0