Revert jhughes commits.

This commit is contained in:
Roland McGrath 2004-02-20 02:22:35 +00:00
parent d535306ce2
commit 5ef24abf00
8 changed files with 12 additions and 224 deletions

View File

@ -1,23 +1,3 @@
2004-02-05 John Hughes <john@calva.com>
* linux/dummy.h: better sys_migrate
2004-01-29 John Hughes <john@calva.com>
* README-linux: Document method for finding OpenSSI includes.
* linux/syscallent.h: Add OpenSSI syscalls.
* linux/syscall.h: Add OpenSSI syscalls.
* linux/dummy.h: Add OpenSSI syscalls.
* system.c (tcp;): make sys_ssisys work on Linux.
* process.c (sys_rfork, sys_rexecve): Add cluster syscalls for Linux.
* configure.ac: check for cluster/ssisys.h.
2004-01-13 Roland McGrath <roland@redhat.com>
* stream.c (internal_stream_ioctl): Fix typo strict -> struct.

View File

@ -30,16 +30,3 @@ There are three ways to compile strace with other kernel headers:
* you can link /usr/include/linux and /usr/include/asm to the
corresponding directories in your kernel source-tree.
OpenSSI:
--------
If you want to compile strace with support for the OpenSSI clustering
software the easy way is to use the CPPFLAGS to point configure to your
ci source code:
CPPFLAGS="-I path-to-ci/kernel/include" ./configure
Note that I don't know how to strace across rfork.
- John Hughes <john@calva.com>

View File

@ -188,7 +188,7 @@ AC_CHECK_LIB(nsl, main)
fi
AC_CHECK_FUNCS(sigaction strerror strsignal pread sys_siglist _sys_siglist getdents mctl prctl sendmsg inet_ntop if_indextoname)
AC_CHECK_HEADERS([sys/reg.h sys/filio.h sys/acl.h sys/asynch.h sys/door.h stropts.h sys/conf.h sys/stream.h sys/tihdr.h sys/tiuser.h sys/sysconfig.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h linux/ptrace.h asm/reg.h sys/uio.h sys/aio.h poll.h sys/poll.h sys/vfs.h asm/sysmips.h linux/utsname.h sys/nscsys.h cluster/ssisys.h], [], [])
AC_CHECK_HEADERS([sys/reg.h sys/filio.h sys/acl.h sys/asynch.h sys/door.h stropts.h sys/conf.h sys/stream.h sys/tihdr.h sys/tiuser.h sys/sysconfig.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h linux/ptrace.h asm/reg.h sys/uio.h sys/aio.h poll.h sys/poll.h sys/vfs.h asm/sysmips.h linux/utsname.h sys/nscsys.h], [], [])
AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
[], [], [#include <linux/socket.h>])
AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>])

View File

@ -44,9 +44,6 @@
#define sys_get_thread_area printargs
#define sys_set_thread_area printargs
#endif
#ifndef HAVE_CLUSTER_SSISYS_H
#define sys_ssisys printargs
#endif
#define sys_sched_setparam printargs
#define sys_sched_getparam printargs
@ -72,7 +69,6 @@
#define sys_mlock sys_munmap
#define sys_munlock sys_munmap
#define sys_clock_getres sys_clock_gettime
#define sys_migrate sys_alarm
/* printargs does the right thing */
#define sys_setup printargs

View File

@ -96,18 +96,6 @@ int sys_clock_gettime(), sys_clock_getres(), sys_clock_nanosleep();
int sys_semtimedop(), sys_statfs64(), sys_fstatfs64(), sys_tgkill();
/* OpenSSI cluster syscalls */
int sys_ssisys(), sys_rfork(), sys_rexecve(), sys_migrate();
/* Where are the silly numbers defined? */
#define SYS_ssisys 290
#define SYS_rfork (SYS_ssisys + 1)
#define SYS_rexecve (SYS_ssisys + 2)
#define SYS_migrate (SYS_ssisys + 3)
/* sys_socketcall subcalls */
int sys_socket(), sys_bind(), sys_connect(), sys_listen();

View File

@ -336,11 +336,10 @@
{ 5, 0, printargs, "SYS_287" }, /* 287 */
{ 5, 0, printargs, "SYS_288" }, /* 288 */
{ 5, 0, printargs, "SYS_289" }, /* 289 */
/* OpenSSI syscalls */
{ 2, 0, sys_ssisys, "ssisys" }, /* 290 */
{ 1, 0, sys_rfork, "rfork" }, /* 291 */
{ 4, 0, sys_rexecve, "rexecve" }, /* 292 */
{ 1, 0, sys_migrate, "migrate" }, /* 293 */
{ 5, 0, printargs, "SYS_290" }, /* 290 */
{ 5, 0, printargs, "SYS_291" }, /* 291 */
{ 5, 0, printargs, "SYS_292" }, /* 292 */
{ 5, 0, printargs, "SYS_293" }, /* 293 */
{ 5, 0, printargs, "SYS_294" }, /* 294 */
{ 5, 0, printargs, "SYS_295" }, /* 295 */
{ 5, 0, printargs, "SYS_296" }, /* 296 */

View File

@ -610,19 +610,6 @@ struct tcb *tcp;
return 0;
}
int
sys_rfork(tcp)
struct tcb *tcp;
{
if (entering(tcp)) {
tprintf ("%ld", tcp->u_arg[0]);
}
else {
return RVAL_UDECIMAL;
}
return 0;
}
int
change_syscall(tcp, new)
struct tcb *tcp;
@ -1696,6 +1683,7 @@ struct tcb *tcp;
return 0;
}
#if UNIXWARE > 2
int sys_rexecve(tcp)
struct tcb *tcp;
@ -1707,6 +1695,7 @@ struct tcb *tcp;
return 0;
}
#endif
int
internal_exec(tcp)

161
system.c
View File

@ -2008,197 +2008,55 @@ struct tcb *tcp;
return 0;
}
#endif /* UNIXWARE > 2 */
#ifdef HAVE_SYS_NSCSYS_H
#if defined (HAVE_SYS_NSCSYS_H)
struct cred;
#include <sys/nscsys.h>
#define SSISYS 1
#elif defined (HAVE_CLUSTER_SSISYS_H)
#include <cluster/ssisys.h>
#define SSISYS 1
#endif
#ifdef SSISYS
static struct xlat ssi_cmd [] = {
#ifdef SSISYS_BADOP
{ SSISYS_BADOP, "SSISYS_BADOP" },
#endif
#ifdef SSISYS_LDLVL_INIT
{ SSISYS_LDLVL_INIT,"SSISYS_LDLVL_INIT"},
#endif
#ifdef SSISYS_LDLVL_GETVEC
{ SSISYS_LDLVL_GETVEC,"SSISYS_LDLVL_GETVEC"},
#endif
#ifdef SSISYS_LDLVL_PUTVEC
{ SSISYS_LDLVL_PUTVEC,"SSISYS_LDLVL_PUTVEC"},
#endif
#ifdef SSISYS_LDLVL_PUTRCMDS
{ SSISYS_LDLVL_PUTRCMDS,"SSISYS_LDLVL_PUTRCMDS"},
#endif
#ifdef SSISYS_LDLVL_SETREXEC
{ SSISYS_LDLVL_SETREXEC,"SSISYS_LDLVL_SETREXEC"},
#endif
#ifdef SSISYS_CMS_CLUSTERID
{ SSISYS_CMS_CLUSTERID,"SSISYS_CMS_CLUSTERID"},
#endif
#ifdef SSISYS_CFS_STATVFS
{ SSISYS_CFS_STATVFS,"SSISYS_CFS_STATVFS"},
#endif
#ifdef SSISYS_NODE_GETNUM
{ SSISYS_NODE_GETNUM,"SSISYS_NODE_GETNUM"},
#endif
#ifdef SSISYS_NODE_TABLE
{ SSISYS_NODE_TABLE,"SSISYS_NODE_TABLE"},
#endif
#ifdef SSISYS_NODE_DOWN
{ SSISYS_NODE_DOWN,"SSISYS_NODE_DOWN"},
#endif
#ifdef SSISYS_RECLAIM_CHILD
{ SSISYS_RECLAIM_CHILD,"SSISYS_RECLAIM_CHILD"},
#endif
#ifdef SSISYS_IPC_GETINFO
{ SSISYS_IPC_GETINFO,"SSISYS_IPC_GETINFO"},
#endif
#ifdef SSISYS_ICS_TEST
{ SSISYS_ICS_TEST,"SSISYS_ICS_TEST"},
#endif
#ifdef SSISYS_NODE_PID
{ SSISYS_NODE_PID,"SSISYS_NODE_PID"},
#endif
#ifdef SSISYS_ISLOCAL
{ SSISYS_ISLOCAL,"SSISYS_ISLOCAL"},
#endif
#ifdef SSISYS_CFS_ISSTACKED
{ SSISYS_CFS_ISSTACKED,"SSISYS_CFS_ISSTACKED"},
#endif
#ifdef SSISYS_DNET_SYNC
{ SSISYS_DNET_SYNC,"SSISYS_DNET_SYNC"},
#endif
#ifdef SSISYS_CFS_WAIT_MODE
{ SSISYS_CFS_WAIT_MODE,"SSISYS_CFS_WAIT_MODE"},
#endif
#ifdef SSISYS_CFS_UMOUNT
{ SSISYS_CFS_UMOUNT,"SSISYS_CFS_UMOUNT"},
#endif
#ifdef SSISYS_LLSTAT
{ SSISYS_LLSTAT,"SSISYS_LLSTAT" },
#endif
#ifdef SSISYS_LTS_PERFTEST
{ SSISYS_LTS_PERFTEST,"SSISYS_LTS_PERFTEST"},
#endif
#ifdef SSISYS_LTS_CONFIG
{ SSISYS_LTS_CONFIG,"SSISYS_LTS_CONFIG"},
#endif
#ifdef SSISYS_SNET_PERFTEST
{ SSISYS_SNET_PERFTEST,"SSISYS_SNET_PERFTEST"},
#endif
#ifdef SSISYS_IGNORE_HALFUP
{ SSISYS_IGNORE_HALFUP,"SSISYS_IGNORE_HALFUP"},
#endif
#ifdef SSISYS_NODE_ROOTDEV
{ SSISYS_NODE_ROOTDEV,"SSISYS_NODE_ROOTDEV"},
#endif
#ifdef SSISYS_GET_PRIMARY
{ SSISYS_GET_PRIMARY,"SSISYS_GET_PRIMARY"},
#endif
#ifdef SSISYS_GET_SECONDARY
{ SSISYS_GET_SECONDARY,"SSISYS_GET_SECONDARY"},
#endif
#ifdef SSISYS_GET_ROOTDISK
{ SSISYS_GET_ROOTDISK,"SSISYS_GET_ROOTDISK"},
#endif
#ifdef SSISYS_CLUSTERNODE_NUM
{ SSISYS_CLUSTERNODE_NUM,"SSISYS_CLUSTERNODE_NUM"},
#endif
#ifdef SSISYS_CLUSTER_MEMBERSHIP
{ SSISYS_CLUSTER_MEMBERSHIP,"SSISYS_CLUSTER_MEMBERSHIP"},
#endif
#ifdef SSISYS_CLUSTER_DETAILEDTRANS
{ SSISYS_CLUSTER_DETAILEDTRANS,"SSISYS_CLUSTER_DETAILEDTRANS"},
#endif
#ifdef SSISYS_CLUSTERNODE_INFO
{ SSISYS_CLUSTERNODE_INFO,"SSISYS_CLUSTERNODE_INFO"},
#endif
#ifdef SSISYS_CLUSTERNODE_SETINFO
{ SSISYS_CLUSTERNODE_SETINFO,"SSISYS_CLUSTERNODE_SETINFO"},
#endif
#ifdef SSISYS_CLUSTERNODE_AVAIL
{ SSISYS_CLUSTERNODE_AVAIL,"SSISYS_CLUSTERNODE_AVAIL"},
#endif
#ifdef SSISYS_CLUSTER_MAXNODES
{ SSISYS_CLUSTER_MAXNODES,"SSISYS_CLUSTER_MAXNODES"},
#endif
#ifdef SSISYS_SET_MEMPRIO
{ SSISYS_SET_MEMPRIO,"SSISYS_SET_MEMPRIO"},
#endif
#ifdef SSISYS_GET_USERS
{ SSISYS_GET_USERS,"SSISYS_GET_USERS"},
#endif
#ifdef SSISYS_FORCE_ROOT_NODE
{ SSISYS_FORCE_ROOT_NODE,"SSISYS_FORCE_ROOT_NODE"},
#endif
#ifdef SSISYS_CVIP_SET
{ SSISYS_CVIP_SET,"SSISYS_CVIP_SET"},
#endif
#ifdef SSISYS_CVIP_GET
{ SSISYS_CVIP_GET,"SSISYS_CVIP_GET"},
#endif
#ifdef SSISYS_GET_NODE_COUNTS
{ SSISYS_GET_NODE_COUNTS,"SSISYS_GET_NODE_COUNTS"},
#endif
#ifdef SSISYS_GET_TRANSPORT
{ SSISYS_GET_TRANSPORT,"SSISYS_GET_TRANSPORT"},
#endif
#ifdef SSISYS_CLUSTER_SET_CONFIG
{ SSISYS_CLUSTER_SET_CONFIG,"SSISYS_CLUSTER_SET_CONFIG"},
#endif
#ifdef SSISYS_CLUSTER_INIT_PREROOT
{ SSISYS_CLUSTER_INIT_PREROOT,"SSISYS_CLUSTER_INIT_PREROOT"},
#endif
#ifdef SSISYS_CLUSTER_INIT_POSTROOT
{ SSISYS_CLUSTER_INIT_POSTROOT,"SSISYS_CLUSTER_INIT_POSTROOT"},
#endif
#ifdef SSISYS_CLUSTER_INITPROC
{ SSISYS_CLUSTER_INITPROC,"SSISYS_CLUSTER_INITPROC"},
#endif
#ifdef SSISYS_MOUNT_REMOTE_ROOT
{ SSISYS_MOUNT_REMOTE_ROOT,"SSISYS_MOUNT_REMOTE_ROOT"},
#endif
#ifdef SSISYS_DISCOVER_MOUNTS
{ SSISYS_DISCOVER_MOUNTS,"SSISYS_DISCOVER_MOUNTS"},
#endif
#ifdef SSISYS_CFS_MOUNT
{ SSISYS_CFS_MOUNT,"SSISYS_CFS_MOUNT"},
#endif
#ifdef SSISYS_SET_LVSDIRECTOR
{ SSISYS_SET_LVSDIRECTOR,"SSISYS_SET_LVSDIRECTOR"},
#endif
#ifdef SSISYS_CFS_REMOUNT
{ SSISYS_CFS_REMOUNT,"SSISYS_CFS_REMOUNT"},
#endif
#ifdef SSISYS_CFS_SETROOT
{ SSISYS_CFS_SETROOT,"SSISYS_CFS_SETROOT"},
#endif
#ifdef SSISYS_SET_NODE_CONTEXT
{ SSISYS_SET_NODE_CONTEXT,"SSISYS_SET_NODE_CONTEXT"},
#endif
#ifdef SSISYS_SET_NODENAME
{ SSISYS_SET_NODENAME,"SSISYS_SET_NODENAME"},
#endif
#ifdef SSISYS_SET_IPVSPORTWEIGHT
{ SSISYS_SET_IPVSPORTWEIGHT,"SSISYS_SET_IPVSPORTWEIGHT"},
#endif
#ifdef SSISYS_GET_NODENAME
{ SSISYS_GET_NODENAME,"SSISYS_GET_NODENAME"},
#endif
#ifdef SSISYS_SET_CLUSTERNAME
{ SSISYS_SET_CLUSTERNAME,"SSISYS_SET_CLUSTERNAME"},
#endif
#ifdef SSISYS_GET_CLUSTERNAME
{ SSISYS_GET_CLUSTERNAME,"SSISYS_GET_CLUSTERNAME"},
#endif
{ 0, NULL },
};
@ -2208,7 +2066,6 @@ struct tcb *tcp;
struct ssisys_iovec iov;
cls_nodeinfo_args_t cni;
clusternode_info_t info;
clusternode_t node;
if (entering (tcp)) {
ts_reclaim_child_inargs_t trc;
@ -2227,7 +2084,7 @@ struct tcb *tcp;
umove (tcp, (long) iov.tio_udatain, &trc) < 0)
goto bad;
tprintf (", in={pid=%ld, start=%ld}",
(long) trc.trc_pid, trc.trc_start);
trc.trc_pid, trc.trc_start);
break;
case SSISYS_CLUSTERNODE_INFO:
if (iov.tio_udatainlen != sizeof cni ||
@ -2236,15 +2093,6 @@ struct tcb *tcp;
tprintf (", in={node=%ld, len=%d}",
cni.nodenum, cni.info_len);
break;
case SSISYS_CLUSTERNODE_AVAIL:
#ifdef SSISYS_SET_NODE_CONTEXT
case SSISYS_SET_NODE_CONTEXT:
#endif
if (iov.tio_udatainlen != sizeof node ||
umove (tcp, (long) iov.tio_udatain, &node) < 0)
goto bad;
tprintf (", node=%ld", node);
break;
default:
bad:
if (iov.tio_udatainlen) {
@ -2263,7 +2111,7 @@ struct tcb *tcp;
umove (tcp, (long) iov.tio_udatain, &cni) < 0)
goto bad_out;
if (cni.info_len != sizeof info ||
/* iov.tio_udataoutlen != sizeof info || */
iov.tio_udataoutlen != sizeof &info ||
umove (tcp, (long) iov.tio_udataout, &info) < 0)
goto bad_out;
tprintf (", out={node=%ld, cpus=%d, online=%d}",
@ -2284,8 +2132,9 @@ struct tcb *tcp;
return 0;
}
#endif /* SSISYS */
#endif
#endif /* UNIXWARE > 2 */
#ifdef MIPS