Revert jhughes commits.
This commit is contained in:
parent
d535306ce2
commit
5ef24abf00
20
ChangeLog
20
ChangeLog
@ -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.
|
||||
|
13
README-linux
13
README-linux
@ -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>
|
||||
|
@ -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>])
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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 */
|
||||
|
15
process.c
15
process.c
@ -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
161
system.c
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user