Remove redundant parsers
* desc.c (sys_dup): Remove.
* file.c (sys_pivotroot, sys_rmdir, sys_fchdir, sys_chroot, sys_fchroot,
sys_unlink, sys_symlink, sys_rename): Remove.
* linux/syscall.h (sys_chroot, sys_dup, sys_fchdir, sys_pivotroot,
sys_rename, sys_rmdir, sys_symlink, sys_unlink): Remove.
* linux/dummy.h: Add aliases for sys_chroot, sys_dup, sys_pivotroot,
sys_rename, sys_rmdir, sys_symlink, sys_unlink.
* pathtrace.c (pathtrace_match): Update.
* sunos4/dummy.h: Add aliases for sys_chroot, sys_dup, sys_fchdir,
sys_fchroot, sys_rename, sys_rmdir, sys_symlink, sys_unlink.
* svr4/dummy.h: Likewise.
* sunos4/syscall.h (sys_chroot, sys_dup, sys_fchdir, sys_fchroot,
sys_rename, sys_rmdir, sys_symlink, sys_unlink): Remove.
* svr4/syscall.h (sys_chroot, sys_dup, sys_fchdir, sys_fchroot,
sys_rename, sys_rmdir, sys_symlink, sys_unlink): Remove.
diff --git a/desc.c b/desc.c
index ee9aacc..a41514a 100644
--- a/desc.c
+++ b/desc.c
@@ -440,15 +440,6 @@
return 0;
}
-int
-sys_dup(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printfd(tcp, tcp->u_arg[0]);
- }
- return 0;
-}
-
static int
do_dup2(struct tcb *tcp, int flags_arg)
{
diff --git a/file.c b/file.c
index b1d97c7..4e62c2c 100644
--- a/file.c
+++ b/file.c
@@ -1883,18 +1883,6 @@
}
#endif /* SUNOS4 */
-int
-sys_pivotroot(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- tprints(", ");
- printpath(tcp, tcp->u_arg[1]);
- }
- return 0;
-}
-
-
/* directory */
int
sys_chdir(struct tcb *tcp)
@@ -1932,44 +1920,6 @@
#endif
int
-sys_rmdir(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- }
- return 0;
-}
-
-int
-sys_fchdir(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printfd(tcp, tcp->u_arg[0]);
- }
- return 0;
-}
-
-int
-sys_chroot(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- }
- return 0;
-}
-
-#if defined(SUNOS4) || defined(SVR4)
-int
-sys_fchroot(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printfd(tcp, tcp->u_arg[0]);
- }
- return 0;
-}
-#endif /* SUNOS4 || SVR4 */
-
-int
sys_link(struct tcb *tcp)
{
if (entering(tcp)) {
@@ -1997,15 +1947,6 @@
}
#endif
-int
-sys_unlink(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- }
- return 0;
-}
-
#ifdef LINUX
static const struct xlat unlinkatflags[] = {
#ifndef AT_REMOVEDIR
@@ -2028,17 +1969,6 @@
}
#endif
-int
-sys_symlink(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- tprints(", ");
- printpath(tcp, tcp->u_arg[1]);
- }
- return 0;
-}
-
#ifdef LINUX
int
sys_symlinkat(struct tcb *tcp)
@@ -2085,17 +2015,6 @@
}
#endif
-int
-sys_rename(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- tprints(", ");
- printpath(tcp, tcp->u_arg[1]);
- }
- return 0;
-}
-
#ifdef LINUX
int
sys_renameat(struct tcb *tcp)
diff --git a/linux/dummy.h b/linux/dummy.h
index aa8b262..e7ed992 100644
--- a/linux/dummy.h
+++ b/linux/dummy.h
@@ -69,22 +69,29 @@
/* like another call */
#define sys_acct sys_chdir
+#define sys_chroot sys_chdir
#define sys_clock_getres sys_clock_gettime
#define sys_delete_module sys_open
+#define sys_dup sys_close
#define sys_fchdir sys_close
#define sys_fdatasync sys_close
#define sys_getegid sys_getuid
#define sys_geteuid sys_getuid
#define sys_getgid sys_getuid
#define sys_mlock sys_munmap
-#define sys_mq_unlink sys_unlink
+#define sys_mq_unlink sys_chdir
#define sys_munlock sys_munmap
+#define sys_pivotroot sys_link
+#define sys_rename sys_link
+#define sys_rmdir sys_chdir
#define sys_sched_get_priority_max sys_sched_get_priority_min
#define sys_setfsgid sys_setfsuid
#define sys_swapoff sys_chdir
#define sys_swapon sys_chdir
+#define sys_symlink sys_link
#define sys_syncfs sys_close
#define sys_umount sys_chdir
+#define sys_unlink sys_chdir
#define sys_uselib sys_chdir
/* printargs does the right thing */
diff --git a/linux/syscall.h b/linux/syscall.h
index b7ad67c..d755416 100644
--- a/linux/syscall.h
+++ b/linux/syscall.h
@@ -35,18 +35,18 @@
int sys_restart_syscall();
int sys_setup(), sys_exit(), sys_fork(), sys_read(), sys_write();
int sys_open(), sys_close(), sys_waitpid(), sys_creat(), sys_link();
-int sys_unlink(), sys_execve(), sys_chdir(), sys_time(), sys_mknod();
+int sys_execve(), sys_chdir(), sys_time(), sys_mknod();
int sys_chmod(), sys_chown(), sys_break(), sys_oldstat();
int sys_lseek(), sys_getpid(), sys_mount(), sys_umount(), sys_umount2();
int sys_setuid(), sys_getuid(), sys_stime(), sys_ptrace();
int sys_alarm(), sys_oldfstat(), sys_pause(), sys_utime();
int sys_stty(), sys_gtty(), sys_access(), sys_nice(), sys_ftime();
-int sys_sync(), sys_kill(), sys_rename(), sys_mkdir(), sys_rmdir();
-int sys_dup(), sys_pipe(), sys_times(), sys_prof(), sys_brk();
+int sys_sync(), sys_kill(), sys_mkdir();
+int sys_pipe(), sys_times(), sys_prof(), sys_brk();
int sys_setgid(), sys_getgid(), sys_signal(), sys_geteuid();
int sys_getegid(), sys_acct(), sys_phys(), sys_lock(), sys_ioctl();
int sys_fcntl(), sys_mpx(), sys_setpgid(), sys_ulimit();
-int sys_olduname(), sys_umask(), sys_chroot(), sys_ustat();
+int sys_olduname(), sys_umask(), sys_ustat();
int sys_dup2(), sys_getppid(), sys_getpgrp(), sys_setsid();
int sys_sigaction(), sys_siggetmask(), sys_sigsetmask();
int sys_setreuid(), sys_setregid(), sys_sigsuspend();
@@ -54,7 +54,7 @@
int sys_getrlimit(), sys_getrusage(), sys_gettimeofday();
int sys_settimeofday(), sys_getgroups(), sys_setgroups();
int sys_setgroups32(), sys_getgroups32();
-int sys_oldselect(), sys_symlink(), sys_oldlstat(), sys_readlink();
+int sys_oldselect(), sys_oldlstat(), sys_readlink();
int sys_uselib(), sys_swapon(), sys_reboot(), sys_readdir();
int sys_mmap(), sys_munmap(), sys_truncate(), sys_ftruncate();
int sys_fchmod(), sys_fchown(), sys_getpriority();
@@ -67,7 +67,7 @@
int sys_modify_ldt(), sys_adjtimex(), sys_mprotect();
int sys_sigprocmask(), sys_create_module(), sys_init_module();
int sys_delete_module(), sys_get_kernel_syms(), sys_quotactl();
-int sys_getpgid(), sys_fchdir(), sys_bdflush();
+int sys_getpgid(), sys_bdflush();
int sys_sysfs(), sys_personality(), sys_afs_syscall();
int sys_setfsuid(), sys_setfsgid(), sys_llseek();
int sys_getdents(), sys_flock(), sys_msync();
@@ -85,8 +85,7 @@
int sys_rt_sigpending(), sys_rt_sigsuspend(), sys_rt_sigqueueinfo();
int sys_rt_sigtimedwait(), sys_prctl(), sys_poll(), sys_vfork();
int sys_sendfile(), sys_old_mmap(), sys_stat64(), sys_lstat64(), sys_fstat64();
-int sys_truncate64(), sys_ftruncate64(), sys_pivotroot();
-int sys_getdents64();
+int sys_truncate64(), sys_ftruncate64(), sys_getdents64();
int sys_getpmsg(), sys_putpmsg(), sys_readahead(), sys_sendfile64();
int sys_setxattr(), sys_fsetxattr(), sys_getxattr(), sys_fgetxattr();
int sys_listxattr(), sys_flistxattr(), sys_removexattr(), sys_fremovexattr();
diff --git a/pathtrace.c b/pathtrace.c
index 380363c..697dfeb 100644
--- a/pathtrace.c
+++ b/pathtrace.c
@@ -195,7 +195,7 @@
s->sys_func == sys_dup3 ||
s->sys_func == sys_sendfile ||
s->sys_func == sys_sendfile64 ||
- !strcmp(s->sys_name, "tee"))
+ s->sys_func == sys_tee)
{
/* fd, fd */
return fdmatch(tcp, tcp->u_arg[0]) ||
@@ -222,9 +222,6 @@
}
if (s->sys_func == sys_link ||
- s->sys_func == sys_pivotroot ||
- s->sys_func == sys_rename ||
- s->sys_func == sys_symlink ||
s->sys_func == sys_mount)
{
/* path, path */
@@ -254,7 +251,7 @@
upathmatch(tcp, tcp->u_arg[2]);
}
- if (!strcmp(s->sys_name, "splice")) {
+ if (s->sys_func == sys_splice) {
/* fd, x, fd, x, x */
return fdmatch(tcp, tcp->u_arg[0]) ||
fdmatch(tcp, tcp->u_arg[2]);
diff --git a/sunos4/dummy.h b/sunos4/dummy.h
index 136215d..8a8f664 100644
--- a/sunos4/dummy.h
+++ b/sunos4/dummy.h
@@ -52,6 +52,16 @@
#define sys_oldquota printargs
#define sys_getdirentries printargs
+/* like another call */
+#define sys_chroot sys_chdir
+#define sys_rmdir sys_chdir
+#define sys_unlink sys_chdir
+#define sys_dup sys_close
+#define sys_fchdir sys_close
+#define sys_fchroot sys_close
+#define sys_rename sys_link
+#define sys_symlink sys_link
+
/* No interesting parameters or return values */
#define sys_vhangup printargs
#define sys_sys_setsid printargs
diff --git a/sunos4/syscall.h b/sunos4/syscall.h
index 9bbd264..bf71f05 100644
--- a/sunos4/syscall.h
+++ b/sunos4/syscall.h
@@ -57,7 +57,7 @@
int sys_getitimer(),sys_setitimer();
/* 1.5 descriptors */
-int sys_getdtablesize(),sys_dup(),sys_dup2(),sys_close();
+int sys_getdtablesize(),sys_dup2(),sys_close();
int sys_select(),sys_getdopt(),sys_setdopt(),sys_fcntl(),sys_flock();
/* 1.6 resource controls */
@@ -78,12 +78,11 @@
int sys_aioread(), sys_aiowrite(), sys_aiowait(), sys_aiocancel();
/* 2.2 file system */
-int sys_chdir(),sys_chroot();
-int sys_fchdir(),sys_fchroot();
-int sys_mkdir(),sys_rmdir(),sys_getdirentries(), sys_getdents();
-int sys_creat(),sys_open(),sys_mknod(),sys_unlink(),sys_stat(),sys_fstat(),sys_lstat();
+int sys_chdir();
+int sys_mkdir(),sys_getdirentries(), sys_getdents();
+int sys_creat(),sys_open(),sys_mknod(),sys_stat(),sys_fstat(),sys_lstat();
int sys_chown(),sys_fchown(),sys_chmod(),sys_fchmod(),sys_utimes();
-int sys_link(),sys_symlink(),sys_readlink(),sys_rename();
+int sys_link(),sys_readlink();
int sys_lseek(),sys_truncate(),sys_ftruncate(),sys_access(),sys_fsync();
int sys_statfs(),sys_fstatfs();
diff --git a/svr4/dummy.h b/svr4/dummy.h
index 9ee0927..8c14c51 100644
--- a/svr4/dummy.h
+++ b/svr4/dummy.h
@@ -206,6 +206,14 @@
#define sys_ntp_adjtime printargs
/* like another call */
+#define sys_chroot sys_chdir
+#define sys_rmdir sys_chdir
+#define sys_unlink sys_chdir
+#define sys_dup sys_close
+#define sys_fchdir sys_close
+#define sys_fchroot sys_close
+#define sys_rename sys_link
+#define sys_symlink sys_link
#define sys_lchown sys_chown
#define sys_setuid sys_close
#define sys_seteuid sys_close
diff --git a/svr4/syscall.h b/svr4/syscall.h
index 45211c4..f366968 100644
--- a/svr4/syscall.h
+++ b/svr4/syscall.h
@@ -39,7 +39,6 @@
extern int sys_wait();
extern int sys_creat();
extern int sys_link();
-extern int sys_unlink();
extern int sys_exec();
extern int sys_chdir();
extern int sys_time();
@@ -73,7 +72,6 @@
extern int sys_setpgrp();
extern int sys_xenix();
extern int sys_syssgi();
-extern int sys_dup();
extern int sys_pipe();
extern int sys_times();
extern int sys_profil();
@@ -95,10 +93,8 @@
extern int sys_fdsync();
extern int sys_execve();
extern int sys_umask();
-extern int sys_chroot();
extern int sys_fcntl();
extern int sys_ulimit();
-extern int sys_rmdir();
extern int sys_mkdir();
extern int sys_getdents();
extern int sys_sysfs();
@@ -134,8 +130,6 @@
extern int sys_setdomainname();
extern int sys_truncate();
extern int sys_ftruncate();
-extern int sys_rename();
-extern int sys_symlink();
extern int sys_readlink();
extern int sys_nfssvc();
extern int sys_getfh();
@@ -163,7 +157,6 @@
extern int sys_BSDsetpgrp();
extern int sys_vhangup();
extern int sys_fsync();
-extern int sys_fchdir();
extern int sys_getrlimit();
extern int sys_setrlimit();
extern int sys_cacheflush();
@@ -198,7 +191,6 @@
extern int sys_ksigqueue();
#else /* !MIPS */
extern int sys_lstat();
-extern int sys_symlink();
extern int sys_readlink();
extern int sys_setgroups();
extern int sys_getgroups();
@@ -228,7 +220,6 @@
extern int sys_munmap();
extern int sys_fpathconf();
extern int sys_vfork();
-extern int sys_fchdir();
extern int sys_readv();
extern int sys_writev();
extern int sys_xstat();
@@ -242,7 +233,6 @@
extern int sys_memcntl();
extern int sys_getpmsg();
extern int sys_putpmsg();
-extern int sys_rename();
extern int sys_uname();
extern int sys_setegid();
extern int sys_sysconfig();
@@ -257,7 +247,6 @@
extern int sys_lwp_sema_wait();
extern int sys_lwp_sema_post();
extern int sys_modctl();
-extern int sys_fchroot();
extern int sys_utimes();
extern int sys_vhangup();
extern int sys_gettimeofday();