From f6ae875b0fe0d28489cd9b211e43b80335db0e7160d860207f5e06f177578cc9 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 18 Dec 2006 23:17:52 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/strace?expand=0&rev=1 --- .gitattributes | 23 + .gitignore | 1 + fstatat-ppc64.patch | 11 + ioctl.diff | 11 + proper_inotify.diff | 125 ++ ready | 0 strace-4.5.14.diff | 119 ++ strace-4.5.14.tar.bz2 | 3 + strace-cvs.diff | 2155 ++++++++++++++++++++++++++++++++++ strace-graph.diff | 11 + strace-openat-syscalls.patch | 336 ++++++ strace-pselect6.patch | 65 + strace-s390minusi.patch | 25 + strace-sysinfo.diff | 32 + strace.changes | 539 +++++++++ strace.spec | 313 +++++ syscalls.diff | 416 +++++++ warn.patch | 59 + 18 files changed, 4244 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 fstatat-ppc64.patch create mode 100644 ioctl.diff create mode 100644 proper_inotify.diff create mode 100644 ready create mode 100644 strace-4.5.14.diff create mode 100644 strace-4.5.14.tar.bz2 create mode 100644 strace-cvs.diff create mode 100644 strace-graph.diff create mode 100644 strace-openat-syscalls.patch create mode 100644 strace-pselect6.patch create mode 100644 strace-s390minusi.patch create mode 100644 strace-sysinfo.diff create mode 100644 strace.changes create mode 100644 strace.spec create mode 100644 syscalls.diff create mode 100644 warn.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/fstatat-ppc64.patch b/fstatat-ppc64.patch new file mode 100644 index 0000000..be5d573 --- /dev/null +++ b/fstatat-ppc64.patch @@ -0,0 +1,11 @@ +--- file.c ++++ file.c +@@ -1225,7 +1225,7 @@ + printpath(tcp, tcp->u_arg[1]); + tprintf(", "); + } else { +-#ifdef HAVE_STAT64 ++#if defined HAVE_STAT64 && !(defined POWERPC && defined __powerpc64__) + printstat64(tcp, tcp->u_arg[2]); + #else + printstat(tcp, tcp->u_arg[2]); diff --git a/ioctl.diff b/ioctl.diff new file mode 100644 index 0000000..108c3fd --- /dev/null +++ b/ioctl.diff @@ -0,0 +1,11 @@ +--- term.c ++++ term.c +@@ -414,7 +414,7 @@ + case TIOCGPTN: + #endif + tprintf(", "); +- printnum(tcp, arg, "%d"); ++ printnum_int(tcp, arg, "%d"); + return 1; + + #if 0 diff --git a/proper_inotify.diff b/proper_inotify.diff new file mode 100644 index 0000000..e18a30c --- /dev/null +++ b/proper_inotify.diff @@ -0,0 +1,125 @@ +--- file.c ++++ file.c +@@ -324,6 +324,49 @@ + return 0; + } + ++static const struct xlat inotify_modes[] = { ++ { 0x00000001, "IN_ACCESS" }, ++ { 0x00000002, "IN_MODIFY" }, ++ { 0x00000004, "IN_ATTRIB" }, ++ { 0x00000008, "IN_CLOSE_WRITE" }, ++ { 0x00000010, "IN_CLOSE_NOWRITE" }, ++ { 0x00000020, "IN_OPEN" }, ++ { 0x00000040, "IN_MOVED_FROM" }, ++ { 0x00000080, "IN_MOVED_TO" }, ++ { 0x00000100, "IN_CREATE" }, ++ { 0x00000200, "IN_DELETE" }, ++ { 0x00000400, "IN_DELETE_SELF" }, ++ { 0x00000800, "IN_MOVE_SELF" }, ++ { 0x00002000, "IN_UNMOUNT" }, ++ { 0x00004000, "IN_Q_OVERFLOW" }, ++ { 0x00008000, "IN_IGNORED" }, ++ { 0x40000000, "IN_ISDIR" }, ++ { 0x80000000, "IN_ONESHOT" } ++}; ++ ++int ++sys_inotify_add_watch(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ tprintf("%ld, ", tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ printflags(inotify_modes, tcp->u_arg[2], "IN_???"); ++ } ++ return 0; ++} ++ ++int ++sys_inotify_rm_watch(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ tprintf("%ld, %ld", tcp->u_arg[0], tcp->u_arg[1]); ++ } ++ return 0; ++} ++ + #ifdef LINUXSPARC + static const struct xlat openmodessol[] = { + { 0, "O_RDWR" }, +--- linux/alpha/syscallent.h ++++ linux/alpha/syscallent.h +@@ -473,5 +473,5 @@ + { 3, 0, printargs, "ioprio_set" }, /* 442 */ + { 2, 0, printargs, "ioprio_get" }, /* 443 */ + { 0, 0, printargs, "inotify_init" }, /* 444 */ +- { 3, 0, printargs, "inotify_add_watch" }, /* 445 */ +- { 2, 0, printargs, "inotify_rm_watch" }, /* 446 */ ++ { 3, 0, sys_inotify_add_watch, "inotify_add_watch" }, /* 445 */ ++ { 2, 0, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 446 */ +--- linux/ia64/syscallent.h ++++ linux/ia64/syscallent.h +@@ -1181,8 +1181,8 @@ + { 2, 0, printargs, "ioprio_get" }, /* 1275 */ + { 3, 0, printargs, "set_zone_reclaim" }, /* 1276 */ + { 0, 0, printargs, "inotify_init" }, /* 1277 */ +- { 3, 0, printargs, "inotify_add_watch" }, /* 1278 */ +- { 2, 0, printargs, "inotify_rm_watch" }, /* 1279 */ ++ { 3, 0, sys_inotify_add_watch, "inotify_add_watch" }, /* 1278 */ ++ { 2, 0, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 1279 */ + { 4, 0, printargs, "migrate_pages" }, /* 1280 */ + { 4, TD|TF, sys_openat, "openat" }, /* 1281 */ + { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 1282 */ +--- linux/powerpc/syscallent.h ++++ linux/powerpc/syscallent.h +@@ -305,8 +305,8 @@ + { 3, 0, printargs, "ioprio_set" }, /* 273 */ + { 2, 0, printargs, "ioprio_get" }, /* 274 */ + { 0, 0, printargs, "inotify_init" }, /* 275 */ +- { 3, 0, printargs, "inotify_add_watch" }, /* 276 */ +- { 2, 0, printargs, "inotify_rm_watch" }, /* 277 */ ++ { 3, 0, sys_inotify_add_watch, "inotify_add_watch" }, /* 276 */ ++ { 2, 0, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 277 */ + { 5, 0, printargs, "SYS_278" }, /* 278 */ + { 5, 0, printargs, "SYS_279" }, /* 279 */ + { 5, 0, printargs, "SYS_280" }, /* 280 */ +--- linux/s390/syscallent.h ++++ linux/s390/syscallent.h +@@ -313,8 +313,8 @@ + { 3, 0, printargs, "ioprio_set" }, /* 282 */ + { 2, 0, printargs, "ioprio_get" }, /* 283 */ + { 0, 0, printargs, "inotify_init" }, /* 284 */ +- { 3, 0, printargs, "inotify_add_watch" }, /* 285 */ +- { 2, 0, printargs, "inotify_rm_watch" }, /* 286 */ ++ { 3, 0, sys_inotify_add_watch, "inotify_add_watch" }, /* 285 */ ++ { 2, 0, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 286 */ + + { 5, 0, printargs, "SYS_287" }, /* 287 */ + { 5, 0, printargs, "SYS_288" }, /* 288 */ +--- linux/s390x/syscallent.h ++++ linux/s390x/syscallent.h +@@ -312,8 +312,8 @@ + { 3, 0, printargs, "ioprio_set" }, /* 282 */ + { 2, 0, printargs, "ioprio_get" }, /* 283 */ + { 0, 0, printargs, "inotify_init" }, /* 284 */ +- { 3, 0, printargs, "inotify_add_watch" }, /* 285 */ +- { 2, 0, printargs, "inotify_rm_watch" }, /* 286 */ ++ { 3, 0, sys_inotify_add_watch, "inotify_add_watch" }, /* 285 */ ++ { 2, 0, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 286 */ + + { 5, 0, printargs, "SYS_287" }, /* 287 */ + { 5, 0, printargs, "SYS_288" }, /* 288 */ +--- linux/syscall.h ++++ linux/syscall.h +@@ -102,6 +102,7 @@ + int sys_mbind(), sys_get_mempolicy(), sys_set_mempolicy(); + int sys_arch_prctl(); + int sys_io_setup(), sys_io_submit(), sys_io_cancel(), sys_io_getevents(), sys_io_destroy(); ++int sys_inotify_init(), sys_inotify_add_watch(), sys_inotify_rm_watch(); + + /* sys_socketcall subcalls */ + +merged the two writing of sys_inotify_add_watch and sys_inotify_rm_watch into syscalls.diff diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/strace-4.5.14.diff b/strace-4.5.14.diff new file mode 100644 index 0000000..960557c --- /dev/null +++ b/strace-4.5.14.diff @@ -0,0 +1,119 @@ +--- mem.c ++++ mem.c +@@ -551,7 +551,7 @@ + #if defined(LINUX) && defined(__i386__) + void + print_ldt_entry (ldt_entry) +-struct modify_ldt_ldt_s *ldt_entry; ++struct user_desc *ldt_entry; + { + tprintf("base_addr:%#08lx, " + "limit:%d, " +@@ -576,10 +576,10 @@ + struct tcb *tcp; + { + if (entering(tcp)) { +- struct modify_ldt_ldt_s copy; ++ struct user_desc copy; + tprintf("%ld", tcp->u_arg[0]); + if (tcp->u_arg[1] == 0 +- || tcp->u_arg[2] != sizeof (struct modify_ldt_ldt_s) ++ || tcp->u_arg[2] != sizeof (struct user_desc) + || umove(tcp, tcp->u_arg[1], ©) == -1) + tprintf(", %lx", tcp->u_arg[1]); + else { +@@ -599,7 +599,7 @@ + sys_set_thread_area(tcp) + struct tcb *tcp; + { +- struct modify_ldt_ldt_s copy; ++ struct user_desc copy; + if (entering(tcp)) { + if (umove(tcp, tcp->u_arg[0], ©) != -1) { + if (copy.entry_number == -1) +@@ -628,7 +628,7 @@ + sys_get_thread_area(tcp) + struct tcb *tcp; + { +- struct modify_ldt_ldt_s copy; ++ struct user_desc copy; + if (exiting(tcp)) { + if (umove(tcp, tcp->u_arg[0], ©) != -1) { + tprintf("{entry_number:%d, ", copy.entry_number); +--- process.c ++++ process.c +@@ -589,7 +589,7 @@ + tprintf(", parent_tidptr=%#lx", tcp->u_arg[ARG_PTID]); + if (flags & CLONE_SETTLS) { + # ifdef I386 +- struct modify_ldt_ldt_s copy; ++ struct user_desc copy; + if (umove(tcp, tcp->u_arg[ARG_TLS], ©) != -1) { + tprintf(", {entry_number:%d, ", + copy.entry_number); +--- signal.c ++++ signal.c +@@ -1692,7 +1692,7 @@ + struct tcb *tcp; + { + if (entering(tcp)) { +- tprintf("%ld, %s", tcp->u_arg[0], signame(tcp->u_arg[1])); ++ tprintf("%d, %s", (pid_t)tcp->u_arg[0], signame(tcp->u_arg[1])); + } + return 0; + } +--- strace.c ++++ strace.c +@@ -1382,7 +1382,7 @@ + + #ifdef LINUX + if (zombie != NULL) +- error = detach(zombie) || error; ++ error = detach(zombie, 0) || error; + #endif + + return error; +@@ -1962,7 +1962,7 @@ + fprintf(stderr, + "PANIC: handle_group_exit: %d leader %d\n", + tcp->pid, leader ? leader->pid : -1); +- detach(tcp); /* Already died. */ ++ detach(tcp, 0); /* Already died. */ + } + else { + /* Mark that we are taking the process down. */ +@@ -2259,6 +2259,7 @@ + && (qual_flags[WSTOPSIG(status)] & QUAL_SIGNAL)) { + unsigned long addr = 0, pc = 0; + #ifdef PT_GETSIGINFO ++# if defined IA64 && defined LINUX + # define PSR_RI 41 + struct siginfo si; + unsigned long psr; +@@ -2269,7 +2270,7 @@ + pc += (psr >> PSR_RI) & 0x3; + ptrace(PT_GETSIGINFO, pid, 0, (long) &si); + addr = (unsigned long) si.si_addr; +-#elif defined PTRACE_GETSIGINFO ++# else + if (WSTOPSIG(status) == SIGSEGV || + WSTOPSIG(status) == SIGBUS) { + siginfo_t si; +@@ -2278,6 +2279,7 @@ + addr = (unsigned long) + si.si_addr; + } ++# endif + #endif + printleader(tcp); + tprintf("--- %s (%s) @ %lx (%lx) ---", +--- system.c ++++ system.c +@@ -1578,7 +1578,6 @@ + { CTL_KERN, "CTL_KERN" }, + { CTL_VM, "CTL_VM" }, + { CTL_NET, "CTL_NET" }, +- { CTL_PROC, "CTL_PROC" }, + { CTL_FS, "CTL_FS" }, + { CTL_DEBUG, "CTL_DEBUG" }, + { CTL_DEV, "CTL_DEV" }, diff --git a/strace-4.5.14.tar.bz2 b/strace-4.5.14.tar.bz2 new file mode 100644 index 0000000..47b8731 --- /dev/null +++ b/strace-4.5.14.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6808914cbfead2595dfd061a0f14dcbb0a8bb645e3cfdfa5c247d7ded9e0e7d +size 445134 diff --git a/strace-cvs.diff b/strace-cvs.diff new file mode 100644 index 0000000..792d102 --- /dev/null +++ b/strace-cvs.diff @@ -0,0 +1,2155 @@ +Index: ChangeLog +=================================================================== +RCS file: /cvsroot/strace/strace/ChangeLog,v +retrieving revision 1.417 +retrieving revision 1.425 +diff -u -a -p -r1.417 -r1.425 +--- ChangeLog 17 Jan 2006 06:23:01 -0000 1.417 ++++ ChangeLog 22 Aug 2006 07:37:00 -0000 1.425 +@@ -1,3 +1,52 @@ ++2006-08-22 Roland McGrath ++ ++ * ipc.c (sys_msgget, sys_semget, sys_shmget): Show key values in hex. ++ Fixes RH#198179. ++ ++2006-08-21 Roland McGrath ++ ++ * linux/syscall.h (SYS_socket_subcall): Bump to 400. ++ * linux/syscallent.h: Update table. ++ * linux/arm/syscallent.h: Likewise. ++ * linux/m68k/syscallent.h: Likewise. ++ * linux/s390/syscallent.h: Likewise. ++ * linux/s390x/syscallent.h: Likewise. ++ * linux/powerpc/syscallent.h: Likewise. ++ * linux/sh/syscallent.h: Likewise. ++ * linux/sh64/syscallent.h: Likewise. ++ Fixes RH#202620. ++ ++2006-04-25 Roland McGrath ++ ++ * strace.c (main): Fail when -c is given with -ff. ++ * strace.1: Note their incompatibility. ++ Fixes RH#187847. ++ ++ * strace.c (main): Fail when nonoption args follow -p switches. ++ Fixes Debian#361302. ++ ++ * Makefile.am (EXTRA_DIST): Add xlate.el. ++ ++ * linux/mips/Makefile.in: File removed, unused cruft. ++ * linux/sparc/Makefile.in: Likewise. ++ ++ * strace.spec (Source0): Use http://dl.sourceforge.net URL. ++ ++ * ipc.c (sys_semtimedop): Fixed inverted indirect_ipccall test. ++ * linux/hppa/syscallent.h: Fixed semtimedop entry. ++ From Mike Stroyan . ++ Fixes Debian#340239. ++ ++2006-03-30 Daniel Jacobowitz ++ ++ * linux/arm/syscallent.h: Correct the name of exit. Remove ++ M68K conditionals and sys_security. Correct syscalls 243-282. ++ Fixes Debian#360154. ++ ++ * process.c (change_syscall): Add ARM support. ++ * syscall.c (get_scno): Handle ARM EABI. ++ Fixes Debian#360152. ++ + 2006-01-16 Roland McGrath + + * configure.ac, NEWS: Version 4.5.14. +Index: Makefile.am +=================================================================== +RCS file: /cvsroot/strace/strace/Makefile.am,v +retrieving revision 1.13 +retrieving revision 1.14 +diff -u -a -p -r1.13 -r1.14 +--- Makefile.am 2 Dec 2005 04:27:47 -0000 1.13 ++++ Makefile.am 25 Apr 2006 07:33:20 -0000 1.14 +@@ -74,7 +74,8 @@ EXTRA_DIST = $(man_MANS) errnoent.sh sig + sunos4/ioctlent.h sunos4/ioctlent.sh sunos4/signalent.h \ + sunos4/syscall.h sunos4/syscallent.h \ + svr4/dummy.h svr4/errnoent.h svr4/ioctlent.h svr4/ioctlent.sh \ +- svr4/signalent.h svr4/syscall.h svr4/syscallent.h ++ svr4/signalent.h svr4/syscall.h svr4/syscallent.h \ ++ xlate.el + + if MAINTAINER_MODE + if LINUX +Index: ipc.c +=================================================================== +RCS file: /cvsroot/strace/strace/ipc.c,v +retrieving revision 1.14 +retrieving revision 1.16 +diff -u -a -p -r1.14 -r1.16 +--- ipc.c 2 Dec 2005 04:34:09 -0000 1.14 ++++ ipc.c 22 Aug 2006 07:36:55 -0000 1.16 +@@ -27,7 +27,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: ipc.c,v 1.14 2005/12/02 04:34:09 roland Exp $ ++ * $Id: ipc.c,v 1.16 2006/08/22 07:36:55 roland Exp $ + */ + + #include "defs.h" +@@ -158,7 +158,7 @@ struct tcb *tcp; + { + if (entering(tcp)) { + if (tcp->u_arg[0]) +- tprintf("%lu", tcp->u_arg[0]); ++ tprintf("%#lx", tcp->u_arg[0]); + else + tprintf("IPC_PRIVATE"); + tprintf(", "); +@@ -293,7 +293,7 @@ struct tcb *tcp; + { + if (entering(tcp)) { + tprintf("%lu", tcp->u_arg[0]); +- if (!indirect_ipccall(tcp)) { ++ if (indirect_ipccall(tcp)) { + tprintf(", %#lx", tcp->u_arg[3]); + tprintf(", %lu, ", tcp->u_arg[1]); + printtv(tcp, tcp->u_arg[5]); +@@ -312,7 +312,7 @@ struct tcb *tcp; + { + if (entering(tcp)) { + if (tcp->u_arg[0]) +- tprintf("%lu", tcp->u_arg[0]); ++ tprintf("%#lx", tcp->u_arg[0]); + else + tprintf("IPC_PRIVATE"); + tprintf(", %lu", tcp->u_arg[1]); +@@ -341,7 +341,7 @@ struct tcb *tcp; + { + if (entering(tcp)) { + if (tcp->u_arg[0]) +- tprintf("%lu", tcp->u_arg[0]); ++ tprintf("%#lx", tcp->u_arg[0]); + else + tprintf("IPC_PRIVATE"); + tprintf(", %lu", tcp->u_arg[1]); +Index: process.c +=================================================================== +RCS file: /cvsroot/strace/strace/process.c,v +retrieving revision 1.98 +retrieving revision 1.99 +diff -u -a -p -r1.98 -r1.99 +--- process.c 3 Aug 2005 11:23:43 -0000 1.98 ++++ process.c 25 Apr 2006 07:34:41 -0000 1.99 +@@ -34,7 +34,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: process.c,v 1.98 2005/08/03 11:23:43 roland Exp $ ++ * $Id: process.c,v 1.99 2006/04/25 07:34:41 roland Exp $ + */ + + #include "defs.h" +@@ -694,6 +694,16 @@ int new; + 0x100000 | new) < 0) + return -1; + return 0; ++#elif defined(ARM) ++ /* Some kernels support this, some (pre-2.6.16 or so) don't. */ ++# ifndef PTRACE_SET_SYSCALL ++# define PTRACE_SET_SYSCALL 23 ++# endif ++ ++ if (ptrace (PTRACE_SET_SYSCALL, tcp->pid, 0, new) != 0) ++ return -1; ++ ++ return 0; + #else + #warning Do not know how to handle change_syscall for this architecture + #endif /* architecture */ +Index: strace.1 +=================================================================== +RCS file: /cvsroot/strace/strace/strace.1,v +retrieving revision 1.14 +retrieving revision 1.15 +diff -u -a -p -r1.14 -r1.15 +--- strace.1 2 Dec 2005 03:59:35 -0000 1.14 ++++ strace.1 25 Apr 2006 07:48:03 -0000 1.15 +@@ -25,7 +25,7 @@ + .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + .\" +-.\" $Id: strace.1,v 1.14 2005/12/02 03:59:35 roland Exp $ ++.\" $Id: strace.1,v 1.15 2006/04/25 07:48:03 roland Exp $ + .\" + .de CW + .sp +@@ -220,7 +220,8 @@ Here the second argument represents the + .B \-c + Count time, calls, and errors for each system call and report a summary on + program exit. On Linux, this attempts to show system time (CPU time spent +-running in the kernel) independent of wall clock time. ++running in the kernel) independent of wall clock time. If -c is used with ++-f or -F (below), only aggregate totals for all traced processes are kept. + .TP + .B \-d + Show some debugging output of +@@ -254,6 +255,7 @@ If the + option is in effect, each processes trace is written to + .I filename.pid + where pid is the numeric process id of each process. ++This is incompatible with -c, since no per-process counts are kept. + .TP + .B \-F + Attempt to follow +Index: strace.c +=================================================================== +RCS file: /cvsroot/strace/strace/strace.c,v +retrieving revision 1.68 +retrieving revision 1.70 +diff -u -a -p -r1.68 -r1.70 +--- strace.c 12 Jan 2006 09:50:49 -0000 1.68 ++++ strace.c 25 Apr 2006 07:48:03 -0000 1.70 +@@ -27,7 +27,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: strace.c,v 1.68 2006/01/12 09:50:49 roland Exp $ ++ * $Id: strace.c,v 1.70 2006/04/25 07:48:03 roland Exp $ + */ + + #include "defs.h" +@@ -311,9 +311,16 @@ char *argv[]; + } + } + +- if (optind == argc && !pflag_seen) ++ if ((optind == argc) == !pflag_seen) + usage(stderr, 1); + ++ if (followfork > 1 && cflag) { ++ fprintf(stderr, ++ "%s: -c and -ff are mutually exclusive options\n", ++ progname); ++ exit(1); ++ } ++ + /* See if they want to run as another user. */ + if (username != NULL) { + struct passwd *pent; +Index: strace.spec +=================================================================== +RCS file: /cvsroot/strace/strace/strace.spec,v +retrieving revision 1.32 +retrieving revision 1.33 +diff -u -a -p -r1.32 -r1.33 +--- strace.spec 17 Jan 2006 06:22:57 -0000 1.32 ++++ strace.spec 25 Apr 2006 07:22:02 -0000 1.33 +@@ -5,7 +5,7 @@ Release: 1 + License: BSD + Group: Development/Debuggers + URL: http://sourceforge.net/projects/strace/ +-Source0: %{name}-%{version}.tar.bz2 ++Source0: http://dl.sourceforge.net/strace/%{name}-%{version}.tar.bz2 + BuildRoot: %{_tmppath}/%{name}-root + + %define strace64_arches ppc64 +Index: syscall.c +=================================================================== +RCS file: /cvsroot/strace/strace/syscall.c,v +retrieving revision 1.83 +retrieving revision 1.84 +diff -u -a -p -r1.83 -r1.84 +--- syscall.c 12 Jan 2006 10:18:53 -0000 1.83 ++++ syscall.c 25 Apr 2006 07:34:41 -0000 1.84 +@@ -30,7 +30,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscall.c,v 1.83 2006/01/12 10:18:53 roland Exp $ ++ * $Id: syscall.c,v 1.84 2006/04/25 07:34:41 roland Exp $ + */ + + #include "defs.h" +@@ -1108,16 +1108,25 @@ struct tcb *tcp; + return 0; + } + +- if ((scno & 0x0ff00000) != 0x0f900000) { +- fprintf(stderr, "syscall: unknown syscall trap 0x%08lx\n", +- scno); +- return -1; +- } ++ /* Handle the EABI syscall convention. We do not ++ bother converting structures between the two ++ ABIs, but basic functionality should work even ++ if strace and the traced program have different ++ ABIs. */ ++ if (scno == 0xef000000) { ++ scno = regs.ARM_r7; ++ } else { ++ if ((scno & 0x0ff00000) != 0x0f900000) { ++ fprintf(stderr, "syscall: unknown syscall trap 0x%08lx\n", ++ scno); ++ return -1; ++ } + +- /* +- * Fixup the syscall number +- */ +- scno &= 0x000fffff; ++ /* ++ * Fixup the syscall number ++ */ ++ scno &= 0x000fffff; ++ } + } + + if (tcp->flags & TCB_INSYSCALL) { +Index: linux/syscall.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/syscall.h,v +retrieving revision 1.46 +retrieving revision 1.47 +diff -u -a -p -r1.46 -r1.47 +--- linux/syscall.h 12 Jan 2006 22:34:50 -0000 1.46 ++++ linux/syscall.h 22 Aug 2006 06:06:12 -0000 1.47 +@@ -25,7 +25,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscall.h,v 1.46 2006/01/12 22:34:50 roland Exp $ ++ * $Id: syscall.h,v 1.47 2006/08/22 06:06:12 roland Exp $ + */ + + #include "dummy.h" +@@ -183,7 +183,7 @@ int sys_osf_utimes(); + # undef SYS_sendmsg + # undef SYS_recvmsg + # endif /* IA64 */ +-# define SYS_socket_subcall 300 ++# define SYS_socket_subcall 400 + #define SYS_sub_socket (SYS_socket_subcall + 1) + #define SYS_sub_bind (SYS_socket_subcall + 2) + #define SYS_sub_connect (SYS_socket_subcall + 3) +Index: linux/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/syscallent.h,v +retrieving revision 1.39 +retrieving revision 1.40 +diff -u -a -p -r1.39 -r1.40 +--- linux/syscallent.h 12 Jan 2006 22:34:50 -0000 1.39 ++++ linux/syscallent.h 22 Aug 2006 06:06:12 -0000 1.40 +@@ -25,7 +25,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscallent.h,v 1.39 2006/01/12 22:34:50 roland Exp $ ++ * $Id: syscallent.h,v 1.40 2006/08/22 06:06:12 roland Exp $ + */ + + { 0, 0, sys_restart_syscall, "restart_syscall" }, /* 0 */ +@@ -330,54 +330,154 @@ + { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ ++ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ + +-#if SYS_socket_subcall != 300 ++#if SYS_socket_subcall != 400 + #error fix me + #endif +- { 8, 0, printargs, "socket_subcall"}, /* 300 */ +- { 3, TN, sys_socket, "socket" }, /* 301 */ +- { 3, TN, sys_bind, "bind" }, /* 302 */ +- { 3, TN, sys_connect, "connect" }, /* 303 */ +- { 2, TN, sys_listen, "listen" }, /* 304 */ +- { 3, TN, sys_accept, "accept" }, /* 305 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ +- { 4, TN, sys_send, "send", SYS_sub_send }, /* 309 */ +- { 4, TN, sys_recv, "recv", SYS_sub_recv }, /* 310 */ +- { 6, TN, sys_sendto, "sendto", SYS_sub_sendto }, /* 311 */ +- { 6, TN, sys_recvfrom, "recvfrom", SYS_sub_recvfrom }, /* 312 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send", SYS_sub_send }, /* 409 */ ++ { 4, TN, sys_recv, "recv", SYS_sub_recv }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto", SYS_sub_sendto }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom", SYS_sub_recvfrom }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ + +-#if SYS_ipc_subcall != 318 ++#if SYS_ipc_subcall != 418 + #error fix me + #endif +- { 4, 0, printargs, "ipc_subcall" }, /* 318 */ +- { 4, TI, sys_semop, "semop" }, /* 319 */ +- { 4, TI, sys_semget, "semget" }, /* 320 */ +- { 4, TI, sys_semctl, "semctl" }, /* 321 */ +- { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 323 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 324 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 325 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 326 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 327 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 328 */ +- { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */ +- { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */ +- { 4, TI, sys_msgget, "msgget" }, /* 331 */ +- { 4, TI, sys_msgctl, "msgctl" }, /* 332 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 333 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 334 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 335 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 336 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 337 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 338 */ +- { 4, TI, sys_shmat, "shmat" }, /* 339 */ +- { 4, TI, sys_shmdt, "shmdt" }, /* 340 */ +- { 4, TI, sys_shmget, "shmget" }, /* 341 */ +- { 4, TI, sys_shmctl, "shmctl" }, /* 342 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ ++ { 4, TI, sys_semop, "semop" }, /* 419 */ ++ { 4, TI, sys_semget, "semget" }, /* 420 */ ++ { 4, TI, sys_semctl, "semctl" }, /* 421 */ ++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 423 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 424 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 425 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 426 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 427 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 428 */ ++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */ ++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */ ++ { 4, TI, sys_msgget, "msgget" }, /* 431 */ ++ { 4, TI, sys_msgctl, "msgctl" }, /* 432 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 433 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 434 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 435 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 436 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 437 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 438 */ ++ { 4, TI, sys_shmat, "shmat" }, /* 439 */ ++ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */ ++ { 4, TI, sys_shmget, "shmget" }, /* 441 */ ++ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */ +Index: linux/arm/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/arm/syscallent.h,v +retrieving revision 1.4 +retrieving revision 1.6 +diff -u -a -p -r1.4 -r1.6 +--- linux/arm/syscallent.h 12 Jan 2006 22:34:50 -0000 1.4 ++++ linux/arm/syscallent.h 22 Aug 2006 06:06:12 -0000 1.6 +@@ -25,11 +25,11 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscallent.h,v 1.4 2006/01/12 22:34:50 roland Exp $ ++ * $Id: syscallent.h,v 1.6 2006/08/22 06:06:12 roland Exp $ + */ + + { 0, 0, sys_restart_syscall, "restart_syscall"}, /* 0 */ +- { 1, TP, sys_exit, "_exit" }, /* 1 */ ++ { 1, TP, sys_exit, "exit" }, /* 1 */ + { 0, TP, sys_fork, "fork" }, /* 2 */ + { 3, 0, sys_read, "read" }, /* 3 */ + { 3, 0, sys_write, "write" }, /* 4 */ +@@ -44,11 +44,7 @@ + { 1, 0, sys_time, "time" }, /* 13 */ + { 3, TF, sys_mknod, "mknod" }, /* 14 */ + { 2, TF, sys_chmod, "chmod" }, /* 15 */ +-#ifdef M68K +- { 3, TF, sys_chown, "chown" }, /* 16 */ +-#else + { 3, TF, sys_chown, "lchown" }, /* 16 */ +-#endif + { 0, 0, sys_break, "break" }, /* 17 */ + { 2, TF, sys_oldstat, "oldstat" }, /* 18 */ + { 3, 0, sys_lseek, "lseek" }, /* 19 */ +@@ -155,11 +151,7 @@ + { 5, TP, sys_clone, "clone" }, /* 120 */ + { 2, 0, sys_setdomainname, "setdomainname" }, /* 121 */ + { 1, 0, sys_uname, "uname" }, /* 122 */ +-#ifdef M68K +- { 4, 0, sys_cacheflush, "cacheflush" }, /* 123 */ +-#else + { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 123 */ +-#endif + { 1, 0, sys_adjtimex, "adjtimex" }, /* 124 */ + { 3, 0, sys_mprotect, "mprotect" }, /* 125 */ + { 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */ +@@ -202,11 +194,7 @@ + { 4, 0, sys_mremap, "mremap" }, /* 163 */ + { 3, 0, sys_setresuid, "setresuid" }, /* 164 */ + { 3, 0, sys_getresuid, "getresuid" }, /* 165 */ +-#ifdef M68K +- { 5, 0, printargs, "SYS_166" }, /* 166 */ +-#else + { 5, 0, printargs, "vm86" }, /* 166 */ +-#endif + { 5, 0, sys_query_module, "query_module" }, /* 167 */ + { 3, 0, sys_poll, "poll" }, /* 168 */ + { 3, 0, printargs, "nfsservctl" }, /* 169 */ +@@ -223,11 +211,7 @@ + + { 5, TF, sys_pread, "pread" }, /* 180 */ + { 5, TF, sys_pwrite, "pwrite" }, /* 181 */ +-#ifdef M68K +- { 3, TF, sys_chown, "lchown" }, /* 182 */ +-#else + { 3, TF, sys_chown, "chown" }, /* 182 */ +-#endif + { 2, TF, sys_getcwd, "getcwd" }, /* 183 */ + { 2, 0, sys_capget, "capget" }, /* 184 */ + { 2, 0, sys_capset, "capset" }, /* 185 */ +@@ -268,8 +252,8 @@ + { 3, 0, printargs, "mincore" }, /* 219 */ + { 3, 0, sys_madvise, "madvise" }, /* 220 */ + { 3, 0, sys_fcntl, "fcntl64" }, /* 221 */ +- { 4, 0, printargs, "SYS_222" }, /* 222 */ +-/*TODO*/{ 5, 0, printargs, "security" }, /* 223 */ ++ { 5, 0, printargs, "SYS_222" }, /* 222 */ ++ { 5, 0, printargs, "SYS_223" }, /* 223 */ + { 0, 0, printargs, "gettid" }, /* 224 */ + { 4, 0, sys_readahead, "readahead" }, /* 225 */ + { 5, TF, sys_setxattr, "setxattr" }, /* 226 */ +@@ -289,46 +273,46 @@ + { 5, 0, sys_futex, "futex" }, /* 240 */ + { 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 241 */ + { 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 242 */ +- { 1, 0, sys_set_thread_area, "set_thread_area" }, /* 243 */ +- { 1, 0, sys_get_thread_area, "get_thread_area" }, /* 244 */ +- { 2, 0, printargs, "io_setup" }, /* 245 */ +- { 1, 0, printargs, "io_destroy" }, /* 246 */ +- { 5, 0, printargs, "io_getevents" }, /* 247 */ +- { 3, 0, printargs, "io_submit" }, /* 248 */ +- { 3, 0, printargs, "io_cancel" }, /* 249 */ +- { 5, 0, printargs, "SYS_250" }, /* 250 */ +- { 5, 0, printargs, "SYS_251" }, /* 251 */ +- { 1, TP, sys_exit, "exit_group" }, /* 252 */ +- { 4, 0, printargs, "lookup_dcookie"}, /* 253 */ +- { 1, 0, printargs, "epoll_create" }, /* 254 */ +- { 4, 0, printargs, "epoll_ctl" }, /* 255 */ +- { 4, 0, printargs, "epoll_wait" }, /* 256 */ +- { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 257 */ +- { 1, 0, printargs, "set_tid_address"}, /* 258 */ +- { 3, 0, sys_timer_create, "timer_create" }, /* 259 */ +- { 4, 0, sys_timer_settime, "timer_settime" }, /* 260 */ +- { 2, 0, sys_timer_gettime, "timer_gettime" }, /* 261 */ +- { 1, 0, sys_timer_getoverrun, "timer_getoverrun"}, /* 262 */ +- { 1, 0, sys_timer_delete, "timer_delete" }, /* 263 */ +- { 2, 0, sys_clock_settime, "clock_settime" }, /* 264 */ +- { 2, 0, sys_clock_gettime, "clock_gettime" }, /* 265 */ +- { 2, 0, sys_clock_getres, "clock_getres" }, /* 266 */ +- { 4, 0, sys_clock_nanosleep, "clock_nanosleep"}, /* 267 */ +- { 3, TF, sys_statfs64, "statfs64" }, /* 268 */ +- { 3, 0, sys_fstatfs64, "fstatfs64" }, /* 269 */ +- { 3, TS, sys_tgkill, "tgkill" }, /* 270 */ +- { 2, TF, sys_utimes, "utimes" }, /* 271 */ +- { 5, 0, printargs, "SYS_272" }, /* 272 */ +- { 5, 0, printargs, "SYS_273" }, /* 273 */ +- { 5, 0, printargs, "SYS_274" }, /* 274 */ +- { 5, 0, printargs, "SYS_275" }, /* 275 */ +- { 5, 0, printargs, "SYS_276" }, /* 276 */ +- { 4, 0, sys_mq_open, "mq_open" }, /* 277 */ +- { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 278 */ +- { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 279 */ +- { 5, 0, sys_mq_timedreceive, "mq_timedreceive" }, /* 280 */ +- { 2, 0, sys_mq_notify, "mq_notify" }, /* 281 */ +- { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 282 */ ++ { 2, 0, printargs, "io_setup" }, /* 243 */ ++ { 1, 0, printargs, "io_destroy" }, /* 244 */ ++ { 5, 0, printargs, "io_getevents" }, /* 245 */ ++ { 3, 0, printargs, "io_submit" }, /* 246 */ ++ { 3, 0, printargs, "io_cancel" }, /* 247 */ ++ { 1, TP, sys_exit, "exit_group" }, /* 248 */ ++ { 4, 0, printargs, "lookup_dcookie"}, /* 249 */ ++ { 1, 0, printargs, "epoll_create" }, /* 250 */ ++ { 4, 0, printargs, "epoll_ctl" }, /* 251 */ ++ { 4, 0, printargs, "epoll_wait" }, /* 252 */ ++ { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 253 */ ++ { 5, 0, printargs, "SYS_254" }, /* 254 */ ++ { 5, 0, printargs, "SYS_255" }, /* 255 */ ++ { 1, 0, printargs, "set_tid_address"}, /* 256 */ ++ { 3, 0, sys_timer_create, "timer_create" }, /* 257 */ ++ { 4, 0, sys_timer_settime, "timer_settime" }, /* 258 */ ++ { 2, 0, sys_timer_gettime, "timer_gettime" }, /* 259 */ ++ { 1, 0, sys_timer_getoverrun, "timer_getoverrun"}, /* 260 */ ++ { 1, 0, sys_timer_delete, "timer_delete" }, /* 261 */ ++ { 2, 0, sys_clock_settime, "clock_settime" }, /* 262 */ ++ { 2, 0, sys_clock_gettime, "clock_gettime" }, /* 263 */ ++ { 2, 0, sys_clock_getres, "clock_getres" }, /* 264 */ ++ { 4, 0, sys_clock_nanosleep, "clock_nanosleep"}, /* 265 */ ++ { 3, TF, sys_statfs64, "statfs64" }, /* 266 */ ++ { 3, 0, sys_fstatfs64, "fstatfs64" }, /* 267 */ ++ { 3, TS, sys_tgkill, "tgkill" }, /* 268 */ ++ { 2, TF, sys_utimes, "utimes" }, /* 269 */ ++ { 6, 0, sys_fadvise64_64, "fadvise64_64" }, /* 270 */ ++ { 5, 0, printargs, "pciconfig_iobase" }, /* 271 */ ++ { 5, 0, printargs, "pciconfig_read" }, /* 272 */ ++ { 5, 0, printargs, "pciconfig_write" }, /* 273 */ ++ { 4, 0, sys_mq_open, "mq_open" }, /* 274 */ ++ { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 275 */ ++ { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 276 */ ++ { 5, 0, sys_mq_timedreceive, "mq_timedreceive" }, /* 277 */ ++ { 2, 0, sys_mq_notify, "mq_notify" }, /* 278 */ ++ { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 279 */ ++ { 5, TP, sys_waitid, "waitid" }, /* 280 */ ++ { 5, 0, printargs, "SYS_281" }, /* 281 */ ++ { 5, 0, printargs, "SYS_282" }, /* 282 */ + { 5, 0, printargs, "SYS_283" }, /* 283 */ + { 5, 0, printargs, "SYS_284" }, /* 284 */ + { 5, 0, printargs, "SYS_285" }, /* 285 */ +@@ -346,54 +330,154 @@ + { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ ++ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ + +-#if SYS_socket_subcall != 300 && !defined X86_64 /* pers1 broken on x86-64 */ ++#if SYS_socket_subcall != 400 + #error fix me + #endif +- { 8, 0, printargs, "socket_subcall"}, /* 300 */ +- { 3, TN, sys_socket, "socket" }, /* 301 */ +- { 3, TN, sys_bind, "bind" }, /* 302 */ +- { 3, TN, sys_connect, "connect" }, /* 303 */ +- { 2, TN, sys_listen, "listen" }, /* 304 */ +- { 3, TN, sys_accept, "accept" }, /* 305 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ +- { 4, TN, sys_send, "send" }, /* 309 */ +- { 4, TN, sys_recv, "recv" }, /* 310 */ +- { 6, TN, sys_sendto, "sendto" }, /* 311 */ +- { 6, TN, sys_recvfrom, "recvfrom" }, /* 312 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send" }, /* 409 */ ++ { 4, TN, sys_recv, "recv" }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto" }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ + +-#if SYS_ipc_subcall != 318 && !defined X86_64 /* pers1 broken on x86-64 */ ++#if SYS_ipc_subcall != 418 + #error fix me + #endif +- { 4, 0, printargs, "ipc_subcall" }, /* 318 */ +- { 4, TI, sys_semop, "semop" }, /* 319 */ +- { 4, TI, sys_semget, "semget" }, /* 320 */ +- { 4, TI, sys_semctl, "semctl" }, /* 321 */ +- { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 323 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 324 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 325 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 326 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 327 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 328 */ +- { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */ +- { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */ +- { 4, TI, sys_msgget, "msgget" }, /* 331 */ +- { 4, TI, sys_msgctl, "msgctl" }, /* 332 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 333 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 334 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 335 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 336 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 337 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 338 */ +- { 4, TI, sys_shmat, "shmat" }, /* 339 */ +- { 4, TI, sys_shmdt, "shmdt" }, /* 340 */ +- { 4, TI, sys_shmget, "shmget" }, /* 341 */ +- { 4, TI, sys_shmctl, "shmctl" }, /* 342 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ ++ { 4, TI, sys_semop, "semop" }, /* 419 */ ++ { 4, TI, sys_semget, "semget" }, /* 420 */ ++ { 4, TI, sys_semctl, "semctl" }, /* 421 */ ++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 423 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 424 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 425 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 426 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 427 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 428 */ ++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */ ++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */ ++ { 4, TI, sys_msgget, "msgget" }, /* 431 */ ++ { 4, TI, sys_msgctl, "msgctl" }, /* 432 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 433 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 434 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 435 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 436 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 437 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 438 */ ++ { 4, TI, sys_shmat, "shmat" }, /* 439 */ ++ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */ ++ { 4, TI, sys_shmget, "shmget" }, /* 441 */ ++ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */ +Index: linux/hppa/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/hppa/syscallent.h,v +retrieving revision 1.15 +retrieving revision 1.16 +diff -u -a -p -r1.15 -r1.16 +--- linux/hppa/syscallent.h 12 Jan 2006 22:34:50 -0000 1.15 ++++ linux/hppa/syscallent.h 25 Apr 2006 07:22:01 -0000 1.16 +@@ -1,7 +1,7 @@ + /* + * Copyright (c) 2001 Hewlett-Packard, Matthew Wilcox + * +- * $Id: syscallent.h,v 1.15 2006/01/12 22:34:50 roland Exp $ ++ * $Id: syscallent.h,v 1.16 2006/04/25 07:22:01 roland Exp $ + * + */ + +@@ -233,7 +233,7 @@ + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 225 */ + { 4, TD, sys_epoll_wait, "epoll_wait" }, /* 226 */ + { 5, 0, printargs, "remap_file_pages" }, /* 227 */ +- { 5, 0, printargs, "semtimedop" }, /* 228 */ ++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 228 */ + { 5, 0, printargs, "mq_open" }, /* 229 */ + { 5, 0, printargs, "mq_unlink" }, /* 230 */ + { 5, 0, printargs, "mq_timedsend" }, /* 231 */ +Index: linux/m68k/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/m68k/syscallent.h,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -a -p -r1.2 -r1.3 +--- linux/m68k/syscallent.h 12 Jan 2006 22:34:50 -0000 1.2 ++++ linux/m68k/syscallent.h 22 Aug 2006 06:06:13 -0000 1.3 +@@ -25,7 +25,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscallent.h,v 1.2 2006/01/12 22:34:50 roland Exp $ ++ * $Id: syscallent.h,v 1.3 2006/08/22 06:06:13 roland Exp $ + */ + + { 0, 0, sys_restart_syscall, "restart_syscall" }, /* 0 */ +@@ -329,54 +329,154 @@ + { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ ++ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ + +-#if SYS_socket_subcall != 300 ++#if SYS_socket_subcall != 400 + #error fix me + #endif +- { 8, 0, printargs, "socket_subcall"}, /* 300 */ +- { 3, TN, sys_socket, "socket" }, /* 301 */ +- { 3, TN, sys_bind, "bind" }, /* 302 */ +- { 3, TN, sys_connect, "connect" }, /* 303 */ +- { 2, TN, sys_listen, "listen" }, /* 304 */ +- { 3, TN, sys_accept, "accept" }, /* 305 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ +- { 4, TN, sys_send, "send", SYS_sub_send }, /* 309 */ +- { 4, TN, sys_recv, "recv", SYS_sub_recv }, /* 310 */ +- { 6, TN, sys_sendto, "sendto", SYS_sub_sendto }, /* 311 */ +- { 6, TN, sys_recvfrom, "recvfrom", SYS_sub_recvfrom }, /* 312 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send", SYS_sub_send }, /* 409 */ ++ { 4, TN, sys_recv, "recv", SYS_sub_recv }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto", SYS_sub_sendto }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom", SYS_sub_recvfrom }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ + +-#if SYS_ipc_subcall != 318 ++#if SYS_ipc_subcall != 418 + #error fix me + #endif +- { 4, 0, printargs, "ipc_subcall" }, /* 318 */ +- { 4, TI, sys_semop, "semop" }, /* 319 */ +- { 4, TI, sys_semget, "semget" }, /* 320 */ +- { 4, TI, sys_semctl, "semctl" }, /* 321 */ +- { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 323 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 324 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 325 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 326 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 327 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 328 */ +- { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */ +- { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */ +- { 4, TI, sys_msgget, "msgget" }, /* 331 */ +- { 4, TI, sys_msgctl, "msgctl" }, /* 332 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 333 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 334 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 335 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 336 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 337 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 338 */ +- { 4, TI, sys_shmat, "shmat" }, /* 339 */ +- { 4, TI, sys_shmdt, "shmdt" }, /* 340 */ +- { 4, TI, sys_shmget, "shmget" }, /* 341 */ +- { 4, TI, sys_shmctl, "shmctl" }, /* 342 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ ++ { 4, TI, sys_semop, "semop" }, /* 419 */ ++ { 4, TI, sys_semget, "semget" }, /* 420 */ ++ { 4, TI, sys_semctl, "semctl" }, /* 421 */ ++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 423 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 424 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 425 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 426 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 427 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 428 */ ++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */ ++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */ ++ { 4, TI, sys_msgget, "msgget" }, /* 431 */ ++ { 4, TI, sys_msgctl, "msgctl" }, /* 432 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 433 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 434 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 435 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 436 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 437 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 438 */ ++ { 4, TI, sys_shmat, "shmat" }, /* 439 */ ++ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */ ++ { 4, TI, sys_shmget, "shmget" }, /* 441 */ ++ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */ +Index: linux/powerpc/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/powerpc/syscallent.h,v +retrieving revision 1.23 +retrieving revision 1.24 +diff -u -a -p -r1.23 -r1.24 +--- linux/powerpc/syscallent.h 12 Jan 2006 22:34:50 -0000 1.23 ++++ linux/powerpc/syscallent.h 22 Aug 2006 06:17:33 -0000 1.24 +@@ -25,7 +25,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscallent.h,v 1.23 2006/01/12 22:34:50 roland Exp $ ++ * $Id: syscallent.h,v 1.24 2006/08/22 06:17:33 roland Exp $ + */ + + { 0, 0, sys_restart_syscall, "restart_syscall" }, /* 0 */ +@@ -328,54 +328,159 @@ + { 5, 0, printargs, "SYS_296" }, /* 296 */ + { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ +- { 5, 0, printargs, "SYS_299" }, /* 299 */ ++ { 5, 0, printargs, "SYS_299" }, /* 299 */ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ + +- { 8, 0, printargs, "socket_subcall"}, /* 300 */ +- { 3, TN, sys_socket, "socket" }, /* 301 */ +- { 3, TN, sys_bind, "bind" }, /* 302 */ +- { 3, TN, sys_connect, "connect" }, /* 303 */ +- { 2, TN, sys_listen, "listen" }, /* 304 */ +- { 3, TN, sys_accept, "accept" }, /* 305 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ +- { 4, TN, sys_send, "send" }, /* 309 */ +- { 4, TN, sys_recv, "recv" }, /* 310 */ +- { 6, TN, sys_sendto, "sendto" }, /* 311 */ +- { 6, TN, sys_recvfrom, "recvfrom" }, /* 312 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ ++#if SYS_socket_subcall != 400 ++ #error fix me ++#endif ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send" }, /* 409 */ ++ { 4, TN, sys_recv, "recv" }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto" }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ + +- { 4, 0, printargs, "ipc_subcall" }, /* 318 */ +- { 4, TI, printargs, "semop" }, /* 319 */ +- { 4, TI, sys_semget, "semget" }, /* 320 */ +- { 4, TI, sys_semctl, "semctl" }, /* 321 */ +- { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 323 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 324 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 325 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 326 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 327 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 328 */ +- { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */ +- { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */ +- { 4, TI, sys_msgget, "msgget" }, /* 331 */ +- { 4, TI, sys_msgctl, "msgctl" }, /* 332 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 333 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 334 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 335 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 336 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 337 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 338 */ +- { 4, TI, sys_shmat, "shmat" }, /* 339 */ +- { 4, TI, sys_shmdt, "shmdt" }, /* 340 */ +- { 4, TI, sys_shmget, "shmget" }, /* 341 */ +- { 4, TI, sys_shmctl, "shmctl" }, /* 342 */ +- { 5, 0, printargs, "SYS_343" }, /* 343 */ +- { 5, 0, printargs, "SYS_344" }, /* 344 */ +- { 5, 0, printargs, "SYS_345" }, /* 345 */ +- { 5, 0, printargs, "SYS_346" }, /* 346 */ +- { 5, 0, printargs, "SYS_347" }, /* 347 */ ++#if SYS_ipc_subcall != 418 ++ #error fix me ++#endif ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ ++ { 4, TI, printargs, "semop" }, /* 419 */ ++ { 4, TI, sys_semget, "semget" }, /* 420 */ ++ { 4, TI, sys_semctl, "semctl" }, /* 421 */ ++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 423 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 424 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 425 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 426 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 427 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 428 */ ++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */ ++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */ ++ { 4, TI, sys_msgget, "msgget" }, /* 431 */ ++ { 4, TI, sys_msgctl, "msgctl" }, /* 432 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 433 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 434 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 435 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 436 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 437 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 438 */ ++ { 4, TI, sys_shmat, "shmat" }, /* 439 */ ++ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */ ++ { 4, TI, sys_shmget, "shmget" }, /* 441 */ ++ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */ ++ { 5, 0, printargs, "SYS_343" }, /* 443 */ ++ { 5, 0, printargs, "SYS_344" }, /* 444 */ ++ { 5, 0, printargs, "SYS_345" }, /* 445 */ ++ { 5, 0, printargs, "SYS_346" }, /* 446 */ ++ { 5, 0, printargs, "SYS_347" }, /* 447 */ +Index: linux/s390/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/s390/syscallent.h,v +retrieving revision 1.13 +retrieving revision 1.14 +diff -u -a -p -r1.13 -r1.14 +--- linux/s390/syscallent.h 2 Dec 2005 04:19:13 -0000 1.13 ++++ linux/s390/syscallent.h 22 Aug 2006 06:06:13 -0000 1.14 +@@ -329,54 +329,154 @@ + { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ ++ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ + +-#if SYS_socket_subcall != 300 ++#if SYS_socket_subcall != 400 + #error fix me + #endif +- { 8, 0, printargs, "socket_subcall"}, /* 300 */ +- { 3, TN, sys_socket, "socket" }, /* 301 */ +- { 3, TN, sys_bind, "bind" }, /* 302 */ +- { 3, TN, sys_connect, "connect" }, /* 303 */ +- { 2, TN, sys_listen, "listen" }, /* 304 */ +- { 3, TN, sys_accept, "accept" }, /* 305 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ +- { 4, TN, sys_send, "send" }, /* 309 */ +- { 4, TN, sys_recv, "recv" }, /* 310 */ +- { 6, TN, sys_sendto, "sendto" }, /* 311 */ +- { 6, TN, sys_recvfrom, "recvfrom" }, /* 312 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send" }, /* 409 */ ++ { 4, TN, sys_recv, "recv" }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto" }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ + +-#if SYS_ipc_subcall != 318 ++#if SYS_ipc_subcall != 418 + #error fix me + #endif +- { 4, 0, printargs, "ipc_subcall" }, /* 318 */ +- { 4, TI, sys_semop, "semop" }, /* 319 */ +- { 4, TI, sys_semget, "semget" }, /* 320 */ +- { 4, TI, sys_semctl, "semctl" }, /* 321 */ +- { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 323 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 324 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 325 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 326 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 327 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 328 */ +- { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */ +- { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */ +- { 4, TI, sys_msgget, "msgget" }, /* 331 */ +- { 4, TI, sys_msgctl, "msgctl" }, /* 332 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 333 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 334 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 335 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 336 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 337 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 338 */ +- { 4, TI, sys_shmat, "shmat" }, /* 339 */ +- { 4, TI, sys_shmdt, "shmdt" }, /* 340 */ +- { 4, TI, sys_shmget, "shmget" }, /* 341 */ +- { 4, TI, sys_shmctl, "shmctl" }, /* 342 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ ++ { 4, TI, sys_semop, "semop" }, /* 419 */ ++ { 4, TI, sys_semget, "semget" }, /* 420 */ ++ { 4, TI, sys_semctl, "semctl" }, /* 421 */ ++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 423 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 424 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 425 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 426 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 427 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 428 */ ++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */ ++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */ ++ { 4, TI, sys_msgget, "msgget" }, /* 431 */ ++ { 4, TI, sys_msgctl, "msgctl" }, /* 432 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 433 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 434 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 435 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 436 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 437 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 438 */ ++ { 4, TI, sys_shmat, "shmat" }, /* 439 */ ++ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */ ++ { 4, TI, sys_shmget, "shmget" }, /* 441 */ ++ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */ +Index: linux/s390x/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/s390x/syscallent.h,v +retrieving revision 1.12 +retrieving revision 1.13 +diff -u -a -p -r1.12 -r1.13 +--- linux/s390x/syscallent.h 2 Dec 2005 04:19:13 -0000 1.12 ++++ linux/s390x/syscallent.h 22 Aug 2006 06:06:13 -0000 1.13 +@@ -328,54 +328,154 @@ + { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ ++ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ + +-#if SYS_socket_subcall != 300 ++#if SYS_socket_subcall != 400 + #error fix me + #endif +- { 8, 0, printargs, "socket_subcall"}, /* 300 */ +- { 3, TN, sys_socket, "socket" }, /* 301 */ +- { 3, TN, sys_bind, "bind" }, /* 302 */ +- { 3, TN, sys_connect, "connect" }, /* 303 */ +- { 2, TN, sys_listen, "listen" }, /* 304 */ +- { 3, TN, sys_accept, "accept" }, /* 305 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ +- { 4, TN, sys_send, "send" }, /* 309 */ +- { 4, TN, sys_recv, "recv" }, /* 310 */ +- { 6, TN, sys_sendto, "sendto" }, /* 311 */ +- { 6, TN, sys_recvfrom, "recvfrom" }, /* 312 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send" }, /* 409 */ ++ { 4, TN, sys_recv, "recv" }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto" }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ + +-#if SYS_ipc_subcall != 318 ++#if SYS_ipc_subcall != 418 + #error fix me + #endif +- { 4, 0, printargs, "ipc_subcall" }, /* 318 */ +- { 4, TI, sys_semop, "semop" }, /* 319 */ +- { 4, TI, sys_semget, "semget" }, /* 320 */ +- { 4, TI, sys_semctl, "semctl" }, /* 321 */ +- { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 323 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 324 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 325 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 326 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 327 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 328 */ +- { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */ +- { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */ +- { 4, TI, sys_msgget, "msgget" }, /* 331 */ +- { 4, TI, sys_msgctl, "msgctl" }, /* 332 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 333 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 334 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 335 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 336 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 337 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 338 */ +- { 4, TI, sys_shmat, "shmat" }, /* 339 */ +- { 4, TI, sys_shmdt, "shmdt" }, /* 340 */ +- { 4, TI, sys_shmget, "shmget" }, /* 341 */ +- { 4, TI, sys_shmctl, "shmctl" }, /* 342 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ ++ { 4, TI, sys_semop, "semop" }, /* 419 */ ++ { 4, TI, sys_semget, "semget" }, /* 420 */ ++ { 4, TI, sys_semctl, "semctl" }, /* 421 */ ++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 422 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 423 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 424 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 425 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 426 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 427 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 428 */ ++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 429 */ ++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 430 */ ++ { 4, TI, sys_msgget, "msgget" }, /* 431 */ ++ { 4, TI, sys_msgctl, "msgctl" }, /* 432 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 433 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 434 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 435 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 436 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 437 */ ++ { 4, 0, printargs, "ipc_subcall" }, /* 438 */ ++ { 4, TI, sys_shmat, "shmat" }, /* 439 */ ++ { 4, TI, sys_shmdt, "shmdt" }, /* 440 */ ++ { 4, TI, sys_shmget, "shmget" }, /* 441 */ ++ { 4, TI, sys_shmctl, "shmctl" }, /* 442 */ +Index: linux/sh/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/sh/syscallent.h,v +retrieving revision 1.8 +retrieving revision 1.9 +diff -u -a -p -r1.8 -r1.9 +--- linux/sh/syscallent.h 12 Jan 2006 22:34:50 -0000 1.8 ++++ linux/sh/syscallent.h 22 Aug 2006 06:17:33 -0000 1.9 +@@ -27,7 +27,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscallent.h,v 1.8 2006/01/12 22:34:50 roland Exp $ ++ * $Id: syscallent.h,v 1.9 2006/08/22 06:17:33 roland Exp $ + */ + + { 0, 0, sys_restart_syscall, "restart_syscall"}, /* 0 */ +@@ -314,24 +314,150 @@ + { 5, 0, printargs, "SYS_277" }, /* 277 */ + { 5, 0, printargs, "SYS_278" }, /* 278 */ + { 5, 0, printargs, "SYS_279" }, /* 279 */ +- +- { 8, 0, printargs, "socket_subcall"}, /* 280 */ +- { 3, TN, sys_socket, "socket" }, /* 281 */ +- { 3, TN, sys_bind, "bind" }, /* 282 */ +- { 3, TN, sys_connect, "connect" }, /* 283 */ +- { 2, TN, sys_listen, "listen" }, /* 284 */ +- { 3, TN, sys_accept, "accept" }, /* 285 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 286 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 287 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 288 */ +- { 4, TN, sys_send, "send" }, /* 289 */ +- { 4, TN, sys_recv, "recv" }, /* 290 */ +- { 6, TN, sys_sendto, "sendto" }, /* 291 */ +- { 6, TN, sys_recvfrom, "recvfrom" }, /* 292 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 293 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 294 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 295 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 296 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 297 */ ++ { 5, 0, printargs, "SYS_280" }, /* 280 */ ++ { 5, 0, printargs, "SYS_281" }, /* 281 */ ++ { 5, 0, printargs, "SYS_282" }, /* 282 */ ++ { 5, 0, printargs, "SYS_283" }, /* 283 */ ++ { 5, 0, printargs, "SYS_284" }, /* 284 */ ++ { 5, 0, printargs, "SYS_285" }, /* 285 */ ++ { 5, 0, printargs, "SYS_286" }, /* 286 */ ++ { 5, 0, printargs, "SYS_287" }, /* 287 */ ++ { 5, 0, printargs, "SYS_288" }, /* 288 */ ++ { 5, 0, printargs, "SYS_289" }, /* 289 */ ++ { 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 */ ++ { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ ++ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ ++ ++#if SYS_ipc_subcall != 400 ++ #error fix me ++#endif ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send" }, /* 409 */ ++ { 4, TN, sys_recv, "recv" }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto" }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ ++ ++#if SYS_ipc_subcall != 418 ++ #error fix me ++#endif ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ +Index: linux/sh64/syscallent.h +=================================================================== +RCS file: /cvsroot/strace/strace/linux/sh64/syscallent.h,v +retrieving revision 1.5 +retrieving revision 1.6 +diff -u -a -p -r1.5 -r1.6 +--- linux/sh64/syscallent.h 3 Aug 2005 11:27:34 -0000 1.5 ++++ linux/sh64/syscallent.h 22 Aug 2006 06:17:33 -0000 1.6 +@@ -25,7 +25,7 @@ + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * +- * $Id: syscallent.h,v 1.5 2005/08/03 11:27:34 roland Exp $ ++ * $Id: syscallent.h,v 1.6 2006/08/22 06:17:33 roland Exp $ + */ + + { 0, 0, sys_setup, "setup" }, /* 0 */ +@@ -328,22 +328,130 @@ + { 5, 0, printargs, "SYS_297" }, /* 297 */ + { 5, 0, printargs, "SYS_298" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ +- { 8, 0, printargs, "socket_subcall"}, /* 300 */ +- { 3, TN, sys_socket, "socket" }, /* 301 */ +- { 3, TN, sys_bind, "bind" }, /* 302 */ +- { 3, TN, sys_connect, "connect" }, /* 303 */ +- { 2, TN, sys_listen, "listen" }, /* 304 */ +- { 3, TN, sys_accept, "accept" }, /* 305 */ +- { 3, TN, sys_getsockname, "getsockname" }, /* 306 */ +- { 3, TN, sys_getpeername, "getpeername" }, /* 307 */ +- { 4, TN, sys_socketpair, "socketpair" }, /* 308 */ +- { 4, TN, sys_send, "send" }, /* 309 */ +- { 4, TN, sys_recv, "recv" }, /* 310 */ +- { 6, TN, sys_sendto, "sendto" }, /* 311 */ +- { 6, TN, sys_recvfrom, "recvfrom" }, /* 312 */ +- { 2, TN, sys_shutdown, "shutdown" }, /* 313 */ +- { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */ +- { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */ +- { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */ +- { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */ +- { 4, 0, printargs, "ipc_subcall" }, /* 318 */ ++ { 5, 0, printargs, "SYS_300" }, /* 300 */ ++ { 5, 0, printargs, "SYS_301" }, /* 301 */ ++ { 5, 0, printargs, "SYS_302" }, /* 302 */ ++ { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 5, 0, printargs, "SYS_304" }, /* 304 */ ++ { 5, 0, printargs, "SYS_305" }, /* 305 */ ++ { 5, 0, printargs, "SYS_306" }, /* 306 */ ++ { 5, 0, printargs, "SYS_307" }, /* 307 */ ++ { 5, 0, printargs, "SYS_308" }, /* 308 */ ++ { 5, 0, printargs, "SYS_309" }, /* 309 */ ++ { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "SYS_311" }, /* 311 */ ++ { 5, 0, printargs, "SYS_312" }, /* 312 */ ++ { 5, 0, printargs, "SYS_313" }, /* 313 */ ++ { 5, 0, printargs, "SYS_314" }, /* 314 */ ++ { 5, 0, printargs, "SYS_315" }, /* 315 */ ++ { 5, 0, printargs, "SYS_316" }, /* 316 */ ++ { 5, 0, printargs, "SYS_317" }, /* 317 */ ++ { 5, 0, printargs, "SYS_318" }, /* 318 */ ++ { 5, 0, printargs, "SYS_319" }, /* 319 */ ++ { 5, 0, printargs, "SYS_320" }, /* 320 */ ++ { 5, 0, printargs, "SYS_321" }, /* 321 */ ++ { 5, 0, printargs, "SYS_322" }, /* 322 */ ++ { 5, 0, printargs, "SYS_323" }, /* 323 */ ++ { 5, 0, printargs, "SYS_324" }, /* 324 */ ++ { 5, 0, printargs, "SYS_325" }, /* 325 */ ++ { 5, 0, printargs, "SYS_326" }, /* 326 */ ++ { 5, 0, printargs, "SYS_327" }, /* 327 */ ++ { 5, 0, printargs, "SYS_328" }, /* 328 */ ++ { 5, 0, printargs, "SYS_329" }, /* 329 */ ++ { 5, 0, printargs, "SYS_330" }, /* 330 */ ++ { 5, 0, printargs, "SYS_331" }, /* 331 */ ++ { 5, 0, printargs, "SYS_332" }, /* 332 */ ++ { 5, 0, printargs, "SYS_333" }, /* 333 */ ++ { 5, 0, printargs, "SYS_334" }, /* 334 */ ++ { 5, 0, printargs, "SYS_335" }, /* 335 */ ++ { 5, 0, printargs, "SYS_336" }, /* 336 */ ++ { 5, 0, printargs, "SYS_337" }, /* 337 */ ++ { 5, 0, printargs, "SYS_338" }, /* 338 */ ++ { 5, 0, printargs, "SYS_339" }, /* 339 */ ++ { 5, 0, printargs, "SYS_340" }, /* 340 */ ++ { 5, 0, printargs, "SYS_341" }, /* 341 */ ++ { 5, 0, printargs, "SYS_342" }, /* 342 */ ++ { 5, 0, printargs, "SYS_343" }, /* 343 */ ++ { 5, 0, printargs, "SYS_344" }, /* 344 */ ++ { 5, 0, printargs, "SYS_345" }, /* 345 */ ++ { 5, 0, printargs, "SYS_346" }, /* 346 */ ++ { 5, 0, printargs, "SYS_347" }, /* 347 */ ++ { 5, 0, printargs, "SYS_348" }, /* 348 */ ++ { 5, 0, printargs, "SYS_349" }, /* 349 */ ++ { 5, 0, printargs, "SYS_350" }, /* 350 */ ++ { 5, 0, printargs, "SYS_351" }, /* 351 */ ++ { 5, 0, printargs, "SYS_352" }, /* 352 */ ++ { 5, 0, printargs, "SYS_353" }, /* 353 */ ++ { 5, 0, printargs, "SYS_354" }, /* 354 */ ++ { 5, 0, printargs, "SYS_355" }, /* 355 */ ++ { 5, 0, printargs, "SYS_356" }, /* 356 */ ++ { 5, 0, printargs, "SYS_357" }, /* 357 */ ++ { 5, 0, printargs, "SYS_358" }, /* 358 */ ++ { 5, 0, printargs, "SYS_359" }, /* 359 */ ++ { 5, 0, printargs, "SYS_360" }, /* 360 */ ++ { 5, 0, printargs, "SYS_361" }, /* 361 */ ++ { 5, 0, printargs, "SYS_362" }, /* 362 */ ++ { 5, 0, printargs, "SYS_363" }, /* 363 */ ++ { 5, 0, printargs, "SYS_364" }, /* 364 */ ++ { 5, 0, printargs, "SYS_365" }, /* 365 */ ++ { 5, 0, printargs, "SYS_366" }, /* 366 */ ++ { 5, 0, printargs, "SYS_367" }, /* 367 */ ++ { 5, 0, printargs, "SYS_368" }, /* 368 */ ++ { 5, 0, printargs, "SYS_369" }, /* 369 */ ++ { 5, 0, printargs, "SYS_370" }, /* 370 */ ++ { 5, 0, printargs, "SYS_371" }, /* 371 */ ++ { 5, 0, printargs, "SYS_372" }, /* 372 */ ++ { 5, 0, printargs, "SYS_373" }, /* 373 */ ++ { 5, 0, printargs, "SYS_374" }, /* 374 */ ++ { 5, 0, printargs, "SYS_375" }, /* 375 */ ++ { 5, 0, printargs, "SYS_376" }, /* 376 */ ++ { 5, 0, printargs, "SYS_377" }, /* 377 */ ++ { 5, 0, printargs, "SYS_378" }, /* 378 */ ++ { 5, 0, printargs, "SYS_379" }, /* 379 */ ++ { 5, 0, printargs, "SYS_380" }, /* 380 */ ++ { 5, 0, printargs, "SYS_381" }, /* 381 */ ++ { 5, 0, printargs, "SYS_382" }, /* 382 */ ++ { 5, 0, printargs, "SYS_383" }, /* 383 */ ++ { 5, 0, printargs, "SYS_384" }, /* 384 */ ++ { 5, 0, printargs, "SYS_385" }, /* 385 */ ++ { 5, 0, printargs, "SYS_386" }, /* 386 */ ++ { 5, 0, printargs, "SYS_387" }, /* 387 */ ++ { 5, 0, printargs, "SYS_388" }, /* 388 */ ++ { 5, 0, printargs, "SYS_389" }, /* 389 */ ++ { 5, 0, printargs, "SYS_390" }, /* 390 */ ++ { 5, 0, printargs, "SYS_391" }, /* 391 */ ++ { 5, 0, printargs, "SYS_392" }, /* 392 */ ++ { 5, 0, printargs, "SYS_393" }, /* 393 */ ++ { 5, 0, printargs, "SYS_394" }, /* 394 */ ++ { 5, 0, printargs, "SYS_395" }, /* 395 */ ++ { 5, 0, printargs, "SYS_396" }, /* 396 */ ++ { 5, 0, printargs, "SYS_397" }, /* 397 */ ++ { 5, 0, printargs, "SYS_398" }, /* 398 */ ++ { 5, 0, printargs, "SYS_399" }, /* 399 */ ++ ++#if SYS_ipc_subcall != 400 ++ #error fix me ++#endif ++ { 8, 0, printargs, "socket_subcall"}, /* 400 */ ++ { 3, TN, sys_socket, "socket" }, /* 401 */ ++ { 3, TN, sys_bind, "bind" }, /* 402 */ ++ { 3, TN, sys_connect, "connect" }, /* 403 */ ++ { 2, TN, sys_listen, "listen" }, /* 404 */ ++ { 3, TN, sys_accept, "accept" }, /* 405 */ ++ { 3, TN, sys_getsockname, "getsockname" }, /* 406 */ ++ { 3, TN, sys_getpeername, "getpeername" }, /* 407 */ ++ { 4, TN, sys_socketpair, "socketpair" }, /* 408 */ ++ { 4, TN, sys_send, "send" }, /* 409 */ ++ { 4, TN, sys_recv, "recv" }, /* 410 */ ++ { 6, TN, sys_sendto, "sendto" }, /* 411 */ ++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 412 */ ++ { 2, TN, sys_shutdown, "shutdown" }, /* 413 */ ++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 414 */ ++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 415 */ ++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */ ++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */ ++ ++#if SYS_ipc_subcall != 418 ++ #error fix me ++#endif ++ { 4, 0, printargs, "ipc_subcall" }, /* 418 */ diff --git a/strace-graph.diff b/strace-graph.diff new file mode 100644 index 0000000..6c8f63d --- /dev/null +++ b/strace-graph.diff @@ -0,0 +1,11 @@ +--- strace-graph ++++ strace-graph +@@ -229,7 +229,7 @@ + push @$seq, ['EXEC', $filename, $argv]; + + $pr{$pid}{seq} = $seq; +- } elsif ($call eq 'fork' || $call eq 'clone' || $call eq 'vfork') { ++ } elsif ($call eq 'fork' || $call eq 'clone' || $call eq 'clone2' || $call eq 'vfork') { + return if $result == 0; + + my $seq = $pr{$pid}{seq}; diff --git a/strace-openat-syscalls.patch b/strace-openat-syscalls.patch new file mode 100644 index 0000000..216cedf --- /dev/null +++ b/strace-openat-syscalls.patch @@ -0,0 +1,336 @@ +2006-01-22 initially Ulrich Drepper +- done identically bk@suse.de (not knowing/not having found his patch): + + * file.c (sys_openat, sys_faccessat, sys_newfstatat, sys_mkdirat, + sys_linkat, sys_unlinkat, sys_symlinkat, sys_readlinkat, sys_renameat, + sys_fchownat, sys_fchmodat, sys_futimesat, sys_mknodat): New functions. + +The hooks for the new functions are in the syscalls.diff + +Tested using the glibc testcases by bk@suse.de: + +--- strace.current/file.c 2005-06-08 22:45:28.000000000 +0200 ++++ strace/file.c 2006-03-27 23:52:11.000000000 +0200 +@@ -324,6 +324,33 @@ struct tcb *tcp; + return 0; + } + ++static inline void printdfd(dfd) ++int dfd; ++{ ++ if (dfd == AT_FDCWD) ++ tprintf("AT_FDCWD, "); ++ else ++ tprintf("%d, ", dfd); ++} ++ ++int ++sys_openat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ /* flags */ ++ printflags(openmodes, tcp->u_arg[2] + 1, "O_???"); ++ if (tcp->u_arg[2] & O_CREAT) { ++ /* mode */ ++ tprintf(", %#lo", tcp->u_arg[3]); ++ } ++ } ++ return 0; ++} ++ + #ifdef LINUXSPARC + static const struct xlat openmodessol[] = { + { 0, "O_RDWR" }, +@@ -400,6 +427,19 @@ struct tcb *tcp; + } + + int ++sys_faccessat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ printflags(access_flags, tcp->u_arg[2], "?_OK"); ++ } ++ return 0; ++} ++ ++int + sys_umask(tcp) + struct tcb *tcp; + { +@@ -1128,6 +1168,31 @@ struct tcb *tcp; + } + #endif + ++static const struct xlat fstatatflags[] = { ++ { AT_SYMLINK_NOFOLLOW, "AT_SYMLINK_NOFOLLOW" }, ++ { 0, NULL }, ++}; ++ ++int ++sys_fstatat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ } else { ++#ifdef HAVE_STAT64 ++ printstat64(tcp, tcp->u_arg[2]); ++#else ++ printstat(tcp, tcp->u_arg[2]); ++#endif ++ tprintf(", "); ++ printflags(fstatatflags, tcp->u_arg[3], "AT_???"); ++ } ++ return 0; ++} ++ + int + sys_fstat64(tcp) + struct tcb *tcp; +@@ -1696,6 +1757,18 @@ struct tcb *tcp; + } + + int ++sys_mkdirat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", %#lo", tcp->u_arg[2]); ++ } ++ return 0; ++} ++ ++int + sys_rmdir(tcp) + struct tcb *tcp; + { +@@ -1757,6 +1830,70 @@ struct tcb *tcp; + return 0; + } + ++static const struct xlat unlinkatflags[] = { ++ { AT_REMOVEDIR, "AT_REMOVEDIR" }, ++ { 0, NULL }, ++}; ++ ++int ++sys_linkat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ printdfd(tcp->u_arg[2]); ++ printpath(tcp, tcp->u_arg[3]); ++ tprintf(", %ld", tcp->u_arg[4]); ++ } ++ return 0; ++} ++ ++int ++sys_unlinkat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ printflags(unlinkatflags, tcp->u_arg[2], "AT_???"); ++ } ++ return 0; ++} ++ ++int ++sys_symlinkat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printpath(tcp, tcp->u_arg[0]); ++ tprintf(", "); ++ printdfd(tcp->u_arg[1]); ++ printpath(tcp, tcp->u_arg[2]); ++ } ++ return 0; ++} ++ ++int ++sys_readlinkat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ } else { ++ if (syserror(tcp)) ++ tprintf("%#lx", tcp->u_arg[2]); ++ else ++ printpathn(tcp, tcp->u_arg[2], tcp->u_rval); ++ tprintf(", %lu", tcp->u_arg[3]); ++ } ++ return 0; ++} ++ + int + sys_symlink(tcp) + struct tcb *tcp; +@@ -1799,6 +1936,20 @@ struct tcb *tcp; + } + + int ++sys_renameat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ printdfd(tcp->u_arg[2]); ++ printpath(tcp, tcp->u_arg[3]); ++ } ++ return 0; ++} ++ ++int + sys_chown(tcp) + struct tcb *tcp; + { +@@ -1810,6 +2001,29 @@ struct tcb *tcp; + return 0; + } + ++#ifdef LINUX ++int ++sys_fchownat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ printuid(", ", tcp->u_arg[2]); ++ printuid(", ", tcp->u_arg[3]); ++ tprintf(", "); ++ if (tcp->u_arg[4] & AT_SYMLINK_NOFOLLOW) { ++ tprintf("AT_SYMLINK_NOFOLLOW"); ++ if (tcp->u_arg[4] & ~AT_SYMLINK_NOFOLLOW) ++ tprintf("|"); ++ } ++ if (tcp->u_arg[4] == 0 || (tcp->u_arg[4] & ~AT_SYMLINK_NOFOLLOW)) ++ tprintf("%lx", tcp->u_arg[4]); ++ } ++ return 0; ++} ++#endif ++ + int + sys_fchown(tcp) + struct tcb *tcp; +@@ -1833,6 +2050,20 @@ struct tcb *tcp; + return 0; + } + ++#ifdef LINUX ++int ++sys_fchmodat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", %#lo", tcp->u_arg[2]); ++ } ++ return 0; ++} ++#endif ++ + int + sys_fchmod(tcp) + struct tcb *tcp; +@@ -1869,6 +2103,21 @@ struct tcb *tcp; + return 0; + } + ++#ifdef LINUX ++int ++sys_futimesat(tcp) ++struct tcb *tcp; ++{ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", "); ++ printtv(tcp, tcp->u_arg[2]); ++ } ++ return 0; ++} ++#endif ++ + int + sys_utime(tcp) + struct tcb *tcp; +@@ -1923,6 +2111,36 @@ struct tcb *tcp; + } + + int ++sys_mknodat(tcp) ++struct tcb *tcp; ++{ ++ int mode = tcp->u_arg[2]; ++ ++ if (entering(tcp)) { ++ printdfd(tcp->u_arg[0]); ++ printpath(tcp, tcp->u_arg[1]); ++ tprintf(", %s", sprintmode(mode)); ++ switch (mode & S_IFMT) { ++ case S_IFCHR: case S_IFBLK: ++#ifdef LINUXSPARC ++ if (current_personality == 1) ++ tprintf(", makedev(%lu, %lu)", ++ (unsigned long) ((tcp->u_arg[3] >> 18) & 0x3fff), ++ (unsigned long) (tcp->u_arg[3] & 0x3ffff)); ++ else ++#endif ++ tprintf(", makedev(%lu, %lu)", ++ (unsigned long) major(tcp->u_arg[3]), ++ (unsigned long) minor(tcp->u_arg[3])); ++ break; ++ default: ++ break; ++ } ++ } ++ return 0; ++} ++ ++int + sys_mkfifo(tcp) + struct tcb *tcp; + { +diff -rup strace.current/linux/syscall.h strace/linux/syscall.h +--- strace.current/linux/syscall.h 2006-03-27 18:57:22.000000000 +0200 ++++ strace/linux/syscall.h 2006-03-27 23:33:07.000000000 +0200 +@@ -115,6 +115,12 @@ int sys_query_module(); + int sys_poll(); + int sys_mincore(); + ++/* the 13 openat syscalls and pselect6 */ ++int sys_openat(), sys_mkdirat(), sys_mknodat(), sys_fchownat(); ++int sys_futimesat(), sys_fstatat(), sys_unlinkat(), sys_renameat(); ++int sys_linkat(), sys_symlinkat(), sys_readlinkat(); ++int sys_fchmodat(), sys_faccessat(), sys_pselect6(); ++ + /* architecture-specific calls */ + #ifdef ALPHA + int sys_osf_select(); diff --git a/strace-pselect6.patch b/strace-pselect6.patch new file mode 100644 index 0000000..dd3c674 --- /dev/null +++ b/strace-pselect6.patch @@ -0,0 +1,65 @@ + +Extracted changelog (to only include the pselect6 changes): + +2006-01-22 Ulrich Drepper + + * defs.h: Declare sprintsigmask. + * desc.c (sys_pselect): New function. + * signal.c: Export sprintsigmask. + +Hooking up the new function is done in the syscalls.diff + +Origin: +pselect6 syscall from attachment +https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=123547 +of bug: +https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=178633 +--- strace-4.5.14-old/signal.c 2006-01-12 14:34:50.000000000 -0800 ++++ strace-4.5.14/signal.c 2006-01-20 22:03:27.000000000 -0800 +@@ -313,7 +313,7 @@ int len; + #define copy_sigset(tcp, addr, s) copy_sigset_len(tcp, addr, s, sizeof(sigset_t)) + #endif + +-static char * ++char * + sprintsigmask(s, mask, rt) + char *s; + sigset_t *mask; +--- strace-4.5.14-old/defs.h 2006-01-12 02:18:53.000000000 -0800 ++++ strace-4.5.14/defs.h 2006-01-20 22:01:25.000000000 -0800 +@@ -462,6 +462,7 @@ extern int sigishandled P((struct tcb *, + extern void printcall P((struct tcb *)); + extern const char *signame P((int)); + extern void printsignal P((int)); ++extern char *sprintsigmask P((char *, sigset_t *, int)); + extern void printleader P((struct tcb *)); + extern void printtrailer P((struct tcb *)); + extern void tabto P((int)); +--- strace-4.5.14-old/desc.c 2005-06-01 12:22:07.000000000 -0700 ++++ strace-4.5.14/desc.c 2006-01-20 22:09:31.000000000 -0800 +@@ -871,3 +871,25 @@ int + long *args = tcp->u_arg; + return decode_select(tcp, args, 0); + } ++ ++#ifdef LINUX ++int ++sys_pselect6(tcp) ++struct tcb *tcp; ++{ ++ int rc = decode_select(tcp, tcp->u_arg, 0); ++ if (exiting(tcp)) { ++ struct { ++ void *ss; ++ size_t len; ++ } data; ++ sigset_t ss; ++ if (umove(tcp, tcp->u_arg[5], &data) < 0 ++ || umoven(tcp, data.ss, data.len, &ss) < 0) ++ tprintf("{?}, ?"); ++ else ++ tprintf(", %s, %zu", sprintsigmask("", &ss, 1), data.len); ++ } ++ return rc; ++} ++#endif diff --git a/strace-s390minusi.patch b/strace-s390minusi.patch new file mode 100644 index 0000000..3a3b79b --- /dev/null +++ b/strace-s390minusi.patch @@ -0,0 +1,25 @@ +--- util.c ++++ util.c +@@ -1137,6 +1137,22 @@ + return; + } + tprintf("[%08lx] ", pc); ++#elif defined(S390X) ++ long pc; ++ ++ if (upeek(tcp->pid, PT_PSWADDR, &pc) < 0) { ++ tprintf("[????????????????] "); ++ return; ++ } ++ tprintf("[%016lx] ", pc); ++#elif defined(S390) ++ long pc; ++ ++ if (upeek(tcp->pid, PT_PSWADDR, &pc) < 0) { ++ tprintf("[????????] "); ++ return; ++ } ++ tprintf("[%08lx] ", pc); + #endif /* !architecture */ + #endif /* LINUX */ + diff --git a/strace-sysinfo.diff b/strace-sysinfo.diff new file mode 100644 index 0000000..292dabe --- /dev/null +++ b/strace-sysinfo.diff @@ -0,0 +1,32 @@ + resource.c | 8 +++++++- + 1 files changed, 7 insertions(+), 1 deletion(-) + +Index: resource.c +=================================================================== +--- resource.c.orig 2005-10-28 14:04:55.000000000 +0200 ++++ resource.c 2005-10-31 18:19:31.000000000 +0100 +@@ -36,6 +36,7 @@ + #ifdef LINUX + #include + #include ++#include + #include + #endif /* LINUX */ + #ifdef SUNOS4 +@@ -386,10 +387,15 @@ struct tcb *tcp; + si.loads[2]); + tprintf("totalram=%lu, freeram=%lu, ", + si.totalram, si.freeram); +- tprintf("sharedram=%lu, bufferram=%lu} ", ++ tprintf("sharedram=%lu, bufferram=%lu, ", + si.sharedram, si.bufferram); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,48) + tprintf("totalswap=%lu, freeswap=%lu, procs=%hu}", + si.totalswap, si.freeswap, si.procs); ++#else ++ tprintf("totalswap=%lu, freeswap=%lu, procs=%hu, mem_unit=%u}", ++ si.totalswap, si.freeswap, si.procs, si.mem_unit); ++#endif + } + } + return 0; diff --git a/strace.changes b/strace.changes new file mode 100644 index 0000000..60677c9 --- /dev/null +++ b/strace.changes @@ -0,0 +1,539 @@ +------------------------------------------------------------------- +Mon Oct 9 15:22:08 CEST 2006 - schwab@suse.de + +- Fix compilation with 2.6.18 kernel headers. + +------------------------------------------------------------------- +Fri Sep 29 10:52:03 CEST 2006 - schwab@suse.de + +- Fix use of PT_GETSIGINFO. + +------------------------------------------------------------------- +Fri Sep 8 23:27:35 CEST 2006 - schwab@suse.de + +- Fix last change. + +------------------------------------------------------------------- +Thu Sep 7 17:22:38 CEST 2006 - schwab@suse.de + +- Add fixes from repository. + +------------------------------------------------------------------- +Wed May 31 11:12:11 CEST 2006 - schwab@suse.de + +- Fix missing arguments. + +------------------------------------------------------------------- +Sat Apr 29 16:04:24 CEST 2006 - schwab@suse.de + +- Add *at syscalls on ppc. + +------------------------------------------------------------------- +Thu Apr 27 00:27:06 CEST 2006 - schwab@suse.de + +- Fix socket/ipc subcall decoding. +- Fix ioctl decoding. + +------------------------------------------------------------------- +Wed Apr 5 22:55:48 CEST 2006 - schwab@suse.de + +- Fix last change so it doesn't break ia64. +- Add all other missing syscalls. + +------------------------------------------------------------------- +Fri Mar 31 16:03:10 CEST 2006 - bk@suse.de + +- add parsing for the 13 *at syscalls and pselect6(i386 and x86_84) + +------------------------------------------------------------------- +Sat Mar 4 19:53:41 CET 2006 - schwab@suse.de + +- Update to strace 4.5.14 (numerous bug fixes, required to support new + kernel features). + +------------------------------------------------------------------- +Wed Jan 25 21:30:58 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Nov 7 17:42:33 CET 2005 - schwab@suse.de + +- Follow all fork-like syscalls in strace-graph. + +------------------------------------------------------------------- +Mon Oct 31 19:14:00 CET 2005 - od@suse.de + +- add struct sysinfo member mem_unit for linux >= 2.3.48 + +------------------------------------------------------------------- +Fri Oct 28 16:21:49 CEST 2005 - dmueller@suse.de + +- actually add inotify support + +------------------------------------------------------------------- +Thu Oct 13 15:54:23 CEST 2005 - schwab@suse.de + +- Add more syscall entries. + +------------------------------------------------------------------- +Fri Oct 7 18:04:40 CEST 2005 - schwab@suse.de + +- Fix decoding of IPC syscalls. + +------------------------------------------------------------------- +Thu Jul 21 10:48:21 CEST 2005 - schwab@suse.de + +- Update quota patch. + +------------------------------------------------------------------- +Wed Jun 22 14:47:01 CEST 2005 - schwab@suse.de + +- Fix decoding of gettid. + +------------------------------------------------------------------- +Mon Jun 20 11:10:18 CEST 2005 - schwab@suse.de + +- Update to strace 4.5.12. + +------------------------------------------------------------------- +Wed Mar 30 11:25:23 CEST 2005 - schwab@suse.de + +- Update to strace 4.5.11. + +------------------------------------------------------------------- +Wed Mar 16 15:07:40 CET 2005 - schwab@suse.de + +- Update to strace 4.5.10. + +------------------------------------------------------------------- +Mon Feb 28 00:05:53 CET 2005 - schwab@suse.de + +- Fix getrval2 on ia64. + +------------------------------------------------------------------- +Fri Feb 4 15:49:50 CET 2005 - schwab@suse.de + +- Update to strace 4.5.9. + +------------------------------------------------------------------- +Sat Jan 22 17:33:05 CET 2005 - schwab@suse.de + +- Fix getsockopt decoding. + +------------------------------------------------------------------- +Tue Dec 7 16:15:05 CET 2004 - uli@suse.de + +- added -i support on s390* + +------------------------------------------------------------------- +Fri Nov 12 01:15:11 CET 2004 - schwab@suse.de + +- Update to strace 4.5.8. + +------------------------------------------------------------------- +Tue Aug 31 14:02:13 CEST 2004 - schwab@suse.de + +- Update to strace 4.5.7. + +------------------------------------------------------------------- +Mon Jul 12 21:38:24 CEST 2004 - schwab@suse.de + +- Update to strace 4.5.6. + +------------------------------------------------------------------- +Mon Jun 28 14:54:36 CEST 2004 - schwab@suse.de + +- Update to strace 4.5.5. + +------------------------------------------------------------------- +Sat Jun 5 14:44:55 CEST 2004 - schwab@suse.de + +- Update to strace 4.5.4. + +------------------------------------------------------------------- +Wed May 5 23:41:34 CEST 2004 - schwab@suse.de + +- Fix handing of execve [#38479]. + +------------------------------------------------------------------- +Sat Apr 17 20:33:45 CEST 2004 - schwab@suse.de + +- Update to strace 4.5.3. + +------------------------------------------------------------------- +Mon Apr 5 23:41:59 CEST 2004 - schwab@suse.de + +- Sign extend pid in sys_kill [#38433]. + +------------------------------------------------------------------- +Mon Mar 8 12:07:41 CET 2004 - schwab@suse.de + +- Update to strace 4.5.2, incorporates all recent changes. + +------------------------------------------------------------------- +Thu Feb 26 17:40:22 CET 2004 - schwab@suse.de + +- Update from CVS. +- Fix decoding of pipe syscall. + +------------------------------------------------------------------- +Thu Jan 15 12:09:51 CET 2004 - schwab@suse.de + +- Fix use of kernel headers. + +------------------------------------------------------------------- +Wed Nov 26 13:32:41 CET 2003 - schwab@suse.de + +- Update to strace 4.5.1. + +------------------------------------------------------------------- +Tue Oct 7 22:39:19 CEST 2003 - schwab@suse.de + +- Fix building with new kernel headers. + +------------------------------------------------------------------- +Thu Sep 25 14:33:56 CEST 2003 - schwab@suse.de + +- Update to strace 4.5. + +------------------------------------------------------------------- +Tue Aug 5 18:50:10 CEST 2003 - ro@suse.de + +- fix compile with new quota include header + +------------------------------------------------------------------- +Wed Jun 11 13:06:05 CEST 2003 - schwab@suse.de + +- Update to strace 4.4.98. + +------------------------------------------------------------------- +Sat May 10 17:11:46 CEST 2003 - schwab@suse.de + +- Fix modify_ldt_ldt_s -> user_desc. + +------------------------------------------------------------------- +Fri May 9 20:47:08 CEST 2003 - schwab@suse.de + +- Fix building with new kernel headers. + +------------------------------------------------------------------- +Wed Apr 2 17:51:04 CEST 2003 - schwab@suse.de + +- Update to 4.4.94. + +------------------------------------------------------------------- +Mon Jan 20 16:02:19 CET 2003 - schwab@suse.de + +- Update to 4.4.92. + +------------------------------------------------------------------- +Mon Nov 18 01:04:10 CET 2002 - ro@suse.de + +- fix build with latest autoconf + +------------------------------------------------------------------- +Thu Nov 7 18:07:48 CET 2002 - schwab@suse.de + +- Fix ia64 aio syscalls. + +------------------------------------------------------------------- +Tue Nov 5 18:56:33 CET 2002 - schwab@suse.de + +- Last change extended to s390/s390x. + +------------------------------------------------------------------- +Wed Oct 23 14:31:41 CEST 2002 - schwab@suse.de + +- Basic support for aio syscalls. + +------------------------------------------------------------------- +Tue Oct 8 15:49:16 CEST 2002 - froh@suse.de + +- s390/s390x: add fix for obscure problem in the inner workings of + strace, symptom was SIGSEGV on e.g. 'strace getfacl .' (#20447) + +------------------------------------------------------------------- +Thu Sep 26 21:33:31 CEST 2002 - schwab@suse.de + +- Add support for xattr syscalls [#18051]. +- Update ia64 patch. + +------------------------------------------------------------------- +Thu Sep 19 16:03:21 CEST 2002 - mludvig@suse.cz + +- fixed old_mmap argument printing on x86-64 + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Thu Sep 12 16:03:32 CEST 2002 - meissner@suse.de + +- Added ppc64 support. + +------------------------------------------------------------------- +Thu Sep 12 13:28:02 CEST 2002 - uli@suse.de + +- added x86-64 biarch support by mludvig as reqd. by aj + +------------------------------------------------------------------- +Mon Aug 12 21:28:21 CEST 2002 - schwab@suse.de + +- Add fixes for s390/s390x. + +------------------------------------------------------------------- +Mon Jun 24 16:08:14 CEST 2002 - schwab@suse.de + +- Fix ioctl decoding on ppc. + +------------------------------------------------------------------- +Tue Apr 23 16:19:01 CEST 2002 - schwab@suse.de + +- Fix ipc syscall decoding for architectures not using the ipc dispatcher. + +------------------------------------------------------------------- +Mon Apr 22 13:00:53 CEST 2002 - schwab@suse.de + +- Cleanup x86-64 patch. +- Use autoreconf. + +------------------------------------------------------------------- +Mon Apr 22 09:36:11 CEST 2002 - sf@suse.de + +- added support for x86-64 (by ak@suse.de) +- added %{suse_update_config} + +------------------------------------------------------------------- +Mon Mar 4 14:54:03 CET 2002 - schwab@suse.de + +- Fix displaying of terminal ioctls [#14396]. + +------------------------------------------------------------------- +Wed Nov 21 17:31:08 CET 2001 - schwab@suse.de + +- Run autoconf to get up-to-date configure script. + +------------------------------------------------------------------- +Fri Nov 9 12:02:54 CET 2001 - schwab@suse.de + +- Don't use . + +------------------------------------------------------------------- +Mon Aug 20 13:53:05 CEST 2001 - schwab@suse.de + +- Fix configuration for s390. + +------------------------------------------------------------------- +Mon Aug 20 09:45:34 CEST 2001 - schwab@suse.de + +- Update to strace 4.4. + +------------------------------------------------------------------- +Tue Jul 31 10:55:06 CEST 2001 - schwab@suse.de + +- Fix tracing after execve for ia64. + +------------------------------------------------------------------- +Tue Jun 12 10:58:49 CEST 2001 - schwab@suse.de + +- Fix for ppc and sparc. + +------------------------------------------------------------------- +Fri Jun 8 16:32:31 CEST 2001 - schwab@suse.de + +- Update to strace 4.3. + +------------------------------------------------------------------- +Mon May 14 23:16:11 CEST 2001 - bk@suse.de + +- fix long shifts to create long long logs for llseek, pread and pwrite. + (for 2147483748[2GB+100], strace logged 18446744071562068068 which is wrong) + +------------------------------------------------------------------- +Wed Mar 7 12:16:34 CET 2001 - schwab@suse.de + +- Update IA64 patch. + +------------------------------------------------------------------- +Wed Feb 14 02:35:51 CET 2001 - ro@suse.de + +- include time.h to fix compilation + +------------------------------------------------------------------- +Thu Jan 4 18:27:04 CET 2001 - stepan@suse.de + +- changed specfile to build cleanly on alphas + +------------------------------------------------------------------- +Wed Dec 6 14:56:15 CET 2000 - schwab@suse.de + +- Don't include on ia64. +- Implement {,f,l}stat on ia64. + +------------------------------------------------------------------- +Mon Nov 13 11:57:14 CET 2000 - ro@suse.de + +- hacked to compile on 2.4 includes + +------------------------------------------------------------------- +Tue Sep 26 01:07:23 CEST 2000 - ro@suse.de + +- fixed dirent64 clash for all archs + +------------------------------------------------------------------- +Mon Sep 18 10:57:10 CEST 2000 - schwab@suse.de + +- Fix clash with struct dirent64. + +------------------------------------------------------------------- +Wed Sep 6 17:20:46 CEST 2000 - fober@suse.de + +- s390: upgrade to current ibm codedrop for s390 + +------------------------------------------------------------------- +Mon Aug 14 18:44:30 CEST 2000 - schwab@suse.de + +- Update ia64 patches. + +------------------------------------------------------------------- +Tue Jun 20 14:15:40 CEST 2000 - schwab@suse.de + +- Update ia64 patches. + +------------------------------------------------------------------- +Mon Jun 19 00:27:55 CEST 2000 - ro@suse.de + +- prevent inclusion of linux/time.h + +------------------------------------------------------------------- +Thu May 18 14:06:55 CEST 2000 - schwab@suse.de + +- Fixed to build with 2.3.99 kernels. + +------------------------------------------------------------------- +Wed Apr 12 10:40:34 CEST 2000 - kukuk@suse.de + +- Fix define for STAT64 + +------------------------------------------------------------------- +Thu Apr 6 19:09:04 MEST 2000 - bk@suse.de + +- s390 team added s390 patch + +------------------------------------------------------------------- +Tue Mar 28 14:00:08 CEST 2000 - schwab@suse.de + +- Add ia64 patches. + +------------------------------------------------------------------- +Wed Mar 22 16:50:21 CET 2000 - kukuk@suse.de + +- Update to 4.2 +- Fixes for SPARC + +------------------------------------------------------------------- +Tue Jan 18 16:43:41 CET 2000 - ro@suse.de + +- fixed to build with 2.3 kernels +- man -> /usr/share/man + +------------------------------------------------------------------- +Thu Dec 9 13:42:00 CET 1999 - schwab@suse.de + +- Remove obsolete SNDCTL_TMR_* ioctls that mask termios ioctls +- Remove obsolete strerror and strsignal changes +- Fix #if syntax + +------------------------------------------------------------------- +Sun Dec 5 17:31:42 CET 1999 - kasal@suse.de + +- upgraded to strace-4.1 + +------------------------------------------------------------------- +Fri Dec 3 19:01:25 CET 1999 - kasal@suse.de + +- get rid of Makefile.Linux +- fixed some headers for sparc & 2.3.x kernel + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Thu Sep 9 18:25:30 CEST 1999 - uli@suse.de + +- fixed for PPC + +------------------------------------------------------------------- +Fri Aug 27 12:02:57 CEST 1999 - ro@suse.de + +- adapt to sysctl-changes + +------------------------------------------------------------------- +Fri Jul 9 20:04:03 MEST 1999 - ro@suse.de + +- update to 4.0 using jurix diff + +------------------------------------------------------------------- +Tue Apr 13 00:53:25 MEST 1999 - ro@suse.de + +- update 3.1.0.1 / merge patches + +------------------------------------------------------------------- +Mon Apr 12 23:08:37 MEST 1999 - ro@suse.de + +- fixed for alpha + +------------------------------------------------------------------- +Wed Mar 31 00:46:22 MEST 1999 - ro@suse.de + +- merged path from Stanislav Brabec and Massimiliano Ghilardi + +------------------------------------------------------------------- +Tue Mar 9 08:28:59 MET 1999 - ro@suse.de + +- back to SYS_vfork + +------------------------------------------------------------------- +Thu Jan 14 14:05:15 MET 1999 - ro@suse.de + +- changed "ifdef SYS_vfork" to "ifdef __NR_vfork" + +------------------------------------------------------------------- +Mon Jan 11 11:48:17 MET 1999 - ro@suse.de + +- alpha-patches file.c: comment #if alpha + sock.c: include ioctls for alpha + term.c: include termio on alpha as well + +------------------------------------------------------------------- +Mon Nov 16 10:45:29 MET 1998 - ro@suse.de + +- system.c: include sys/mount.h instead of linux/fs.h for glibc + +------------------------------------------------------------------- +Wed Sep 30 11:51:34 MEST 1998 - ro@suse.de + +- if glibc: include sys/reg and linux/ptrace where needed + +------------------------------------------------------------------- +Fri Jul 24 12:04:34 MEST 1998 - bs@suse.de + +- fixed configure for i686. + +------------------------------------------------------------------- +Tue Feb 17 13:45:15 MET 1998 - ro@suse.de + +- diabled PRCTL in config.h.in (not with 2.0 kernel) + +---------------------------------------------------------------------------- +Wed Apr 30 15:57:14 CEST 1997 - florian@suse.de + + +- add bug-fixes for llseek + + diff --git a/strace.spec b/strace.spec new file mode 100644 index 0000000..4d63e25 --- /dev/null +++ b/strace.spec @@ -0,0 +1,313 @@ +# +# spec file for package strace (Version 4.5.14) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: strace +BuildRequires: libacl-devel +License: Other License(s), see package +Group: Development/Tools/Debuggers +Autoreqprov: on +Version: 4.5.14 +Release: 25 +Summary: A utility to trace the system calls of a program +Source: strace-%{version}.tar.bz2 +Patch99: strace-cvs.diff +Patch: strace-%{version}.diff +Patch2: warn.patch +Patch3: strace-s390minusi.patch +Patch6: syscalls.diff +Patch7: proper_inotify.diff +Patch8: strace-sysinfo.diff +Patch9: strace-graph.diff +Patch10: strace-openat-syscalls.patch +Patch11: strace-pselect6.patch +Patch13: ioctl.diff +Patch14: fstatat-ppc64.patch +URL: http://www.liacs.nl/~wichert/strace/ +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +With strace, you can trace the activity of a program. Information +about any system calls the program makes and the signals it receives +and processes can be seen. Child processes can also be tracked. + + + +Authors: +-------- + Paul Kranenburg + Branko Lankester + Rick Sladkey + +%prep +%setup -q +%patch99 +%patch +%patch2 +%patch3 +%patch6 +%patch7 +%patch8 +%patch9 +%patch10 -p1 +%patch11 -p1 +%patch13 +%patch14 + +%build +%{suse_update_config -f} +autoreconf -fi +export CFLAGS="-Wall $RPM_OPT_FLAGS -pipe" +%ifarch alpha +CFLAGS="$CFLAGS -ffixed-8" +%endif +./configure --prefix=%{_prefix} --mandir=%{_mandir} +make + +%install +make install DESTDIR=$RPM_BUILD_ROOT + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc README README-linux NEWS +%{_prefix}/bin/strace +%{_prefix}/bin/strace-graph +%doc %{_mandir}/man1/strace.1.gz + +%changelog -n strace +* Mon Oct 09 2006 - schwab@suse.de +- Fix compilation with 2.6.18 kernel headers. +* Fri Sep 29 2006 - schwab@suse.de +- Fix use of PT_GETSIGINFO. +* Fri Sep 08 2006 - schwab@suse.de +- Fix last change. +* Thu Sep 07 2006 - schwab@suse.de +- Add fixes from repository. +* Wed May 31 2006 - schwab@suse.de +- Fix missing arguments. +* Sat Apr 29 2006 - schwab@suse.de +- Add *at syscalls on ppc. +* Thu Apr 27 2006 - schwab@suse.de +- Fix socket/ipc subcall decoding. +- Fix ioctl decoding. +* Wed Apr 05 2006 - schwab@suse.de +- Fix last change so it doesn't break ia64. +- Add all other missing syscalls. +* Fri Mar 31 2006 - bk@suse.de +- add parsing for the 13 *at syscalls and pselect6(i386 and x86_84) +* Sat Mar 04 2006 - schwab@suse.de +- Update to strace 4.5.14 (numerous bug fixes, required to support new + kernel features). +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Mon Nov 07 2005 - schwab@suse.de +- Follow all fork-like syscalls in strace-graph. +* Mon Oct 31 2005 - od@suse.de +- add struct sysinfo member mem_unit for linux >= 2.3.48 +* Fri Oct 28 2005 - dmueller@suse.de +- actually add inotify support +* Thu Oct 13 2005 - schwab@suse.de +- Add more syscall entries. +* Fri Oct 07 2005 - schwab@suse.de +- Fix decoding of IPC syscalls. +* Thu Jul 21 2005 - schwab@suse.de +- Update quota patch. +* Wed Jun 22 2005 - schwab@suse.de +- Fix decoding of gettid. +* Mon Jun 20 2005 - schwab@suse.de +- Update to strace 4.5.12. +* Wed Mar 30 2005 - schwab@suse.de +- Update to strace 4.5.11. +* Wed Mar 16 2005 - schwab@suse.de +- Update to strace 4.5.10. +* Mon Feb 28 2005 - schwab@suse.de +- Fix getrval2 on ia64. +* Fri Feb 04 2005 - schwab@suse.de +- Update to strace 4.5.9. +* Sat Jan 22 2005 - schwab@suse.de +- Fix getsockopt decoding. +* Tue Dec 07 2004 - uli@suse.de +- added -i support on s390* +* Fri Nov 12 2004 - schwab@suse.de +- Update to strace 4.5.8. +* Tue Aug 31 2004 - schwab@suse.de +- Update to strace 4.5.7. +* Mon Jul 12 2004 - schwab@suse.de +- Update to strace 4.5.6. +* Mon Jun 28 2004 - schwab@suse.de +- Update to strace 4.5.5. +* Sat Jun 05 2004 - schwab@suse.de +- Update to strace 4.5.4. +* Wed May 05 2004 - schwab@suse.de +- Fix handing of execve [#38479]. +* Sat Apr 17 2004 - schwab@suse.de +- Update to strace 4.5.3. +* Mon Apr 05 2004 - schwab@suse.de +- Sign extend pid in sys_kill [#38433]. +* Mon Mar 08 2004 - schwab@suse.de +- Update to strace 4.5.2, incorporates all recent changes. +* Thu Feb 26 2004 - schwab@suse.de +- Update from CVS. +- Fix decoding of pipe syscall. +* Thu Jan 15 2004 - schwab@suse.de +- Fix use of kernel headers. +* Wed Nov 26 2003 - schwab@suse.de +- Update to strace 4.5.1. +* Tue Oct 07 2003 - schwab@suse.de +- Fix building with new kernel headers. +* Thu Sep 25 2003 - schwab@suse.de +- Update to strace 4.5. +* Tue Aug 05 2003 - ro@suse.de +- fix compile with new quota include header +* Wed Jun 11 2003 - schwab@suse.de +- Update to strace 4.4.98. +* Sat May 10 2003 - schwab@suse.de +- Fix modify_ldt_ldt_s -> user_desc. +* Fri May 09 2003 - schwab@suse.de +- Fix building with new kernel headers. +* Wed Apr 02 2003 - schwab@suse.de +- Update to 4.4.94. +* Mon Jan 20 2003 - schwab@suse.de +- Update to 4.4.92. +* Mon Nov 18 2002 - ro@suse.de +- fix build with latest autoconf +* Thu Nov 07 2002 - schwab@suse.de +- Fix ia64 aio syscalls. +* Tue Nov 05 2002 - schwab@suse.de +- Last change extended to s390/s390x. +* Wed Oct 23 2002 - schwab@suse.de +- Basic support for aio syscalls. +* Tue Oct 08 2002 - froh@suse.de +- s390/s390x: add fix for obscure problem in the inner workings of + strace, symptom was SIGSEGV on e.g. 'strace getfacl .' (#20447) +* Thu Sep 26 2002 - schwab@suse.de +- Add support for xattr syscalls [#18051]. +- Update ia64 patch. +* Thu Sep 19 2002 - mludvig@suse.cz +- fixed old_mmap argument printing on x86-64 +* Tue Sep 17 2002 - ro@suse.de +- removed bogus self-provides +* Thu Sep 12 2002 - meissner@suse.de +- Added ppc64 support. +* Thu Sep 12 2002 - uli@suse.de +- added x86-64 biarch support by mludvig as reqd. by aj +* Mon Aug 12 2002 - schwab@suse.de +- Add fixes for s390/s390x. +* Mon Jun 24 2002 - schwab@suse.de +- Fix ioctl decoding on ppc. +* Tue Apr 23 2002 - schwab@suse.de +- Fix ipc syscall decoding for architectures not using the ipc dispatcher. +* Mon Apr 22 2002 - schwab@suse.de +- Cleanup x86-64 patch. +- Use autoreconf. +* Mon Apr 22 2002 - sf@suse.de +- added support for x86-64 (by ak@suse.de) +- added %%{suse_update_config} +* Mon Mar 04 2002 - schwab@suse.de +- Fix displaying of terminal ioctls [#14396]. +* Wed Nov 21 2001 - schwab@suse.de +- Run autoconf to get up-to-date configure script. +* Fri Nov 09 2001 - schwab@suse.de +- Don't use . +* Mon Aug 20 2001 - schwab@suse.de +- Fix configuration for s390. +* Mon Aug 20 2001 - schwab@suse.de +- Update to strace 4.4. +* Tue Jul 31 2001 - schwab@suse.de +- Fix tracing after execve for ia64. +* Tue Jun 12 2001 - schwab@suse.de +- Fix for ppc and sparc. +* Fri Jun 08 2001 - schwab@suse.de +- Update to strace 4.3. +* Mon May 14 2001 - bk@suse.de +- fix long shifts to create long long logs for llseek, pread and pwrite. + (for 2147483748[2GB+100], strace logged 18446744071562068068 which is wrong) +* Wed Mar 07 2001 - schwab@suse.de +- Update IA64 patch. +* Wed Feb 14 2001 - ro@suse.de +- include time.h to fix compilation +* Thu Jan 04 2001 - stepan@suse.de +- changed specfile to build cleanly on alphas +* Wed Dec 06 2000 - schwab@suse.de +- Don't include on ia64. +- Implement {,f,l}stat on ia64. +* Mon Nov 13 2000 - ro@suse.de +- hacked to compile on 2.4 includes +* Tue Sep 26 2000 - ro@suse.de +- fixed dirent64 clash for all archs +* Mon Sep 18 2000 - schwab@suse.de +- Fix clash with struct dirent64. +* Wed Sep 06 2000 - fober@suse.de +- s390: upgrade to current ibm codedrop for s390 +* Mon Aug 14 2000 - schwab@suse.de +- Update ia64 patches. +* Tue Jun 20 2000 - schwab@suse.de +- Update ia64 patches. +* Mon Jun 19 2000 - ro@suse.de +- prevent inclusion of linux/time.h +* Thu May 18 2000 - schwab@suse.de +- Fixed to build with 2.3.99 kernels. +* Wed Apr 12 2000 - kukuk@suse.de +- Fix define for STAT64 +* Thu Apr 06 2000 - bk@suse.de +- s390 team added s390 patch +* Tue Mar 28 2000 - schwab@suse.de +- Add ia64 patches. +* Wed Mar 22 2000 - kukuk@suse.de +- Update to 4.2 +- Fixes for SPARC +* Tue Jan 18 2000 - ro@suse.de +- fixed to build with 2.3 kernels +- man -> /usr/share/man +* Thu Dec 09 1999 - schwab@suse.de +- Remove obsolete SNDCTL_TMR_* ioctls that mask termios ioctls +- Remove obsolete strerror and strsignal changes +- Fix #if syntax +* Sun Dec 05 1999 - kasal@suse.de +- upgraded to strace-4.1 +* Fri Dec 03 1999 - kasal@suse.de +- get rid of Makefile.Linux +- fixed some headers for sparc & 2.3.x kernel +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Thu Sep 09 1999 - uli@suse.de +- fixed for PPC +* Fri Aug 27 1999 - ro@suse.de +- adapt to sysctl-changes +* Fri Jul 09 1999 - ro@suse.de +- update to 4.0 using jurix diff +* Tue Apr 13 1999 - ro@suse.de +- update 3.1.0.1 / merge patches +* Mon Apr 12 1999 - ro@suse.de +- fixed for alpha +* Wed Mar 31 1999 - ro@suse.de +- merged path from Stanislav Brabec and Massimiliano Ghilardi +* Tue Mar 09 1999 - ro@suse.de +- back to SYS_vfork +* Thu Jan 14 1999 - ro@suse.de +- changed "ifdef SYS_vfork" to "ifdef __NR_vfork" +* Mon Jan 11 1999 - ro@suse.de +- alpha-patches file.c: comment #if alpha + sock.c: include ioctls for alpha + term.c: include termio on alpha as well +* Mon Nov 16 1998 - ro@suse.de +- system.c: include sys/mount.h instead of linux/fs.h for glibc +* Wed Sep 30 1998 - ro@suse.de +- if glibc: include sys/reg and linux/ptrace where needed +* Fri Jul 24 1998 - bs@suse.de +- fixed configure for i686. +* Tue Feb 17 1998 - ro@suse.de +- diabled PRCTL in config.h.in (not with 2.0 kernel) +* Wed Apr 30 1997 - florian@suse.de +- add bug-fixes for llseek diff --git a/syscalls.diff b/syscalls.diff new file mode 100644 index 0000000..fdf338f --- /dev/null +++ b/syscalls.diff @@ -0,0 +1,416 @@ +--- linux/alpha/syscallent.h ++++ linux/alpha/syscallent.h +@@ -467,3 +467,11 @@ + { 2, 0, sys_mq_notify, "mq_notify" }, /* 436 */ + { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 437 */ + { 4, 0, printargs, "waitid" }, /* 438 */ ++ { 5, 0, printargs, "add_key" }, /* 439 */ ++ { 4, 0, printargs, "request_key" }, /* 440 */ ++ { 5, 0, printargs, "keyctl" }, /* 441 */ ++ { 3, 0, printargs, "ioprio_set" }, /* 442 */ ++ { 2, 0, printargs, "ioprio_get" }, /* 443 */ ++ { 0, 0, printargs, "inotify_init" }, /* 444 */ ++ { 3, 0, printargs, "inotify_add_watch" }, /* 445 */ ++ { 2, 0, printargs, "inotify_rm_watch" }, /* 446 */ +--- linux/ia64/syscallent.h ++++ linux/ia64/syscallent.h +@@ -246,106 +246,6 @@ + starts where that one leaves off. + */ + +- { 8, 0, printargs, "SYS_343" }, /* 343 */ +- { 8, 0, printargs, "SYS_344" }, /* 344 */ +- { 8, 0, printargs, "SYS_345" }, /* 345 */ +- { 8, 0, printargs, "SYS_346" }, /* 346 */ +- { 8, 0, printargs, "SYS_347" }, /* 347 */ +- { 8, 0, printargs, "SYS_348" }, /* 348 */ +- { 8, 0, printargs, "SYS_349" }, /* 349 */ +- { 8, 0, printargs, "SYS_350" }, /* 350 */ +- { 8, 0, printargs, "SYS_351" }, /* 351 */ +- { 8, 0, printargs, "SYS_352" }, /* 352 */ +- { 8, 0, printargs, "SYS_353" }, /* 353 */ +- { 8, 0, printargs, "SYS_354" }, /* 354 */ +- { 8, 0, printargs, "SYS_355" }, /* 355 */ +- { 8, 0, printargs, "SYS_356" }, /* 356 */ +- { 8, 0, printargs, "SYS_357" }, /* 357 */ +- { 8, 0, printargs, "SYS_358" }, /* 358 */ +- { 8, 0, printargs, "SYS_359" }, /* 359 */ +- { 8, 0, printargs, "SYS_360" }, /* 360 */ +- { 8, 0, printargs, "SYS_361" }, /* 361 */ +- { 8, 0, printargs, "SYS_362" }, /* 362 */ +- { 8, 0, printargs, "SYS_363" }, /* 363 */ +- { 8, 0, printargs, "SYS_364" }, /* 364 */ +- { 8, 0, printargs, "SYS_365" }, /* 365 */ +- { 8, 0, printargs, "SYS_366" }, /* 366 */ +- { 8, 0, printargs, "SYS_367" }, /* 367 */ +- { 8, 0, printargs, "SYS_368" }, /* 368 */ +- { 8, 0, printargs, "SYS_369" }, /* 369 */ +- { 8, 0, printargs, "SYS_370" }, /* 370 */ +- { 8, 0, printargs, "SYS_371" }, /* 371 */ +- { 8, 0, printargs, "SYS_372" }, /* 372 */ +- { 8, 0, printargs, "SYS_373" }, /* 373 */ +- { 8, 0, printargs, "SYS_374" }, /* 374 */ +- { 8, 0, printargs, "SYS_375" }, /* 375 */ +- { 8, 0, printargs, "SYS_376" }, /* 376 */ +- { 8, 0, printargs, "SYS_377" }, /* 377 */ +- { 8, 0, printargs, "SYS_378" }, /* 378 */ +- { 8, 0, printargs, "SYS_379" }, /* 379 */ +- { 8, 0, printargs, "SYS_380" }, /* 380 */ +- { 8, 0, printargs, "SYS_381" }, /* 381 */ +- { 8, 0, printargs, "SYS_382" }, /* 382 */ +- { 8, 0, printargs, "SYS_383" }, /* 383 */ +- { 8, 0, printargs, "SYS_384" }, /* 384 */ +- { 8, 0, printargs, "SYS_385" }, /* 385 */ +- { 8, 0, printargs, "SYS_386" }, /* 386 */ +- { 8, 0, printargs, "SYS_387" }, /* 387 */ +- { 8, 0, printargs, "SYS_388" }, /* 388 */ +- { 8, 0, printargs, "SYS_389" }, /* 389 */ +- { 8, 0, printargs, "SYS_390" }, /* 390 */ +- { 8, 0, printargs, "SYS_391" }, /* 391 */ +- { 8, 0, printargs, "SYS_392" }, /* 392 */ +- { 8, 0, printargs, "SYS_393" }, /* 393 */ +- { 8, 0, printargs, "SYS_394" }, /* 394 */ +- { 8, 0, printargs, "SYS_395" }, /* 395 */ +- { 8, 0, printargs, "SYS_396" }, /* 396 */ +- { 8, 0, printargs, "SYS_397" }, /* 397 */ +- { 8, 0, printargs, "SYS_398" }, /* 398 */ +- { 8, 0, printargs, "SYS_399" }, /* 399 */ +- { 8, 0, printargs, "SYS_400" }, /* 400 */ +- { 8, 0, printargs, "SYS_401" }, /* 401 */ +- { 8, 0, printargs, "SYS_402" }, /* 402 */ +- { 8, 0, printargs, "SYS_403" }, /* 403 */ +- { 8, 0, printargs, "SYS_404" }, /* 404 */ +- { 8, 0, printargs, "SYS_405" }, /* 405 */ +- { 8, 0, printargs, "SYS_406" }, /* 406 */ +- { 8, 0, printargs, "SYS_407" }, /* 407 */ +- { 8, 0, printargs, "SYS_408" }, /* 408 */ +- { 8, 0, printargs, "SYS_409" }, /* 409 */ +- { 8, 0, printargs, "SYS_410" }, /* 410 */ +- { 8, 0, printargs, "SYS_411" }, /* 411 */ +- { 8, 0, printargs, "SYS_412" }, /* 412 */ +- { 8, 0, printargs, "SYS_413" }, /* 413 */ +- { 8, 0, printargs, "SYS_414" }, /* 414 */ +- { 8, 0, printargs, "SYS_415" }, /* 415 */ +- { 8, 0, printargs, "SYS_416" }, /* 416 */ +- { 8, 0, printargs, "SYS_417" }, /* 417 */ +- { 8, 0, printargs, "SYS_418" }, /* 418 */ +- { 8, 0, printargs, "SYS_419" }, /* 419 */ +- { 8, 0, printargs, "SYS_420" }, /* 420 */ +- { 8, 0, printargs, "SYS_421" }, /* 421 */ +- { 8, 0, printargs, "SYS_422" }, /* 422 */ +- { 8, 0, printargs, "SYS_423" }, /* 423 */ +- { 8, 0, printargs, "SYS_424" }, /* 424 */ +- { 8, 0, printargs, "SYS_425" }, /* 425 */ +- { 8, 0, printargs, "SYS_426" }, /* 426 */ +- { 8, 0, printargs, "SYS_427" }, /* 427 */ +- { 8, 0, printargs, "SYS_428" }, /* 428 */ +- { 8, 0, printargs, "SYS_429" }, /* 429 */ +- { 8, 0, printargs, "SYS_430" }, /* 430 */ +- { 8, 0, printargs, "SYS_431" }, /* 431 */ +- { 8, 0, printargs, "SYS_432" }, /* 432 */ +- { 8, 0, printargs, "SYS_433" }, /* 433 */ +- { 8, 0, printargs, "SYS_434" }, /* 434 */ +- { 8, 0, printargs, "SYS_435" }, /* 435 */ +- { 8, 0, printargs, "SYS_436" }, /* 436 */ +- { 8, 0, printargs, "SYS_437" }, /* 437 */ +- { 8, 0, printargs, "SYS_438" }, /* 438 */ +- { 8, 0, printargs, "SYS_439" }, /* 439 */ +- { 8, 0, printargs, "SYS_440" }, /* 440 */ +- { 8, 0, printargs, "SYS_441" }, /* 441 */ +- { 8, 0, printargs, "SYS_442" }, /* 442 */ + { 8, 0, printargs, "SYS_443" }, /* 443 */ + { 8, 0, printargs, "SYS_444" }, /* 444 */ + { 8, 0, printargs, "SYS_445" }, /* 445 */ +@@ -1174,32 +1074,32 @@ + { 5, 0, printargs, "sys_kexec_load" }, /* 1268 */ + { 5, 0, printargs, "vserver" }, /* 1269 */ + { 5, TP, sys_waitid, "waitid" }, /* 1270 */ +- { 8, 0, printargs, "SYS_1271" }, /* 1271 */ +- { 8, 0, printargs, "SYS_1272" }, /* 1272 */ +- { 8, 0, printargs, "SYS_1273" }, /* 1273 */ +- { 8, 0, printargs, "SYS_1274" }, /* 1274 */ +- { 8, 0, printargs, "SYS_1275" }, /* 1275 */ +- { 8, 0, printargs, "SYS_1276" }, /* 1276 */ +- { 8, 0, printargs, "SYS_1277" }, /* 1277 */ +- { 8, 0, printargs, "SYS_1278" }, /* 1278 */ +- { 8, 0, printargs, "SYS_1279" }, /* 1279 */ +- { 8, 0, printargs, "SYS_1280" }, /* 1280 */ +- { 8, 0, printargs, "SYS_1281" }, /* 1281 */ +- { 8, 0, printargs, "SYS_1282" }, /* 1282 */ +- { 8, 0, printargs, "SYS_1283" }, /* 1283 */ +- { 8, 0, printargs, "SYS_1284" }, /* 1284 */ +- { 8, 0, printargs, "SYS_1285" }, /* 1285 */ +- { 8, 0, printargs, "SYS_1286" }, /* 1286 */ +- { 8, 0, printargs, "SYS_1287" }, /* 1287 */ +- { 8, 0, printargs, "SYS_1288" }, /* 1288 */ +- { 8, 0, printargs, "SYS_1289" }, /* 1289 */ +- { 8, 0, printargs, "SYS_1290" }, /* 1290 */ +- { 8, 0, printargs, "SYS_1291" }, /* 1291 */ +- { 8, 0, printargs, "SYS_1292" }, /* 1292 */ +- { 8, 0, printargs, "SYS_1293" }, /* 1293 */ ++ { 5, 0, printargs, "add_key" }, /* 1271 */ ++ { 4, 0, printargs, "request_key" }, /* 1272 */ ++ { 5, 0, printargs, "keyctl" }, /* 1273 */ ++ { 3, 0, printargs, "ioprio_set" }, /* 1274 */ ++ { 2, 0, printargs, "ioprio_get" }, /* 1275 */ ++ { 3, 0, printargs, "set_zone_reclaim" }, /* 1276 */ ++ { 0, 0, printargs, "inotify_init" }, /* 1277 */ ++ { 3, 0, printargs, "inotify_add_watch" }, /* 1278 */ ++ { 2, 0, printargs, "inotify_rm_watch" }, /* 1279 */ ++ { 4, 0, printargs, "migrate_pages" }, /* 1280 */ ++ { 4, TD|TF, sys_openat, "openat" }, /* 1281 */ ++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 1282 */ ++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 1283 */ ++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 1284 */ ++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 1285 */ ++ { 4, TD|TF, sys_fstatat, "fstatat" }, /* 1286 */ ++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 1287 */ ++ { 4, TD|TF, sys_renameat, "renameat" }, /* 1288 */ ++ { 5, TD|TF, sys_linkat, "linkat" }, /* 1289 */ ++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 1290 */ ++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 1291 */ ++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 1292 */ ++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 1293 */ + { 8, 0, printargs, "SYS_1294" }, /* 1294 */ + { 8, 0, printargs, "SYS_1295" }, /* 1295 */ +- { 8, 0, printargs, "SYS_1296" }, /* 1296 */ ++ { 1, 0, printargs, "unshare" }, /* 1296 */ + { 8, 0, printargs, "SYS_1297" }, /* 1297 */ + { 8, 0, printargs, "SYS_1298" }, /* 1298 */ + { 8, 0, printargs, "SYS_1299" }, /* 1299 */ +--- linux/powerpc/syscallent.h ++++ linux/powerpc/syscallent.h +@@ -299,35 +299,35 @@ + { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 267 */ + { 5, 0, printargs, "sys_kexec_load" }, /* 268 */ + { 5, 0, printargs, "add_key" }, /* 269 */ +- { 5, 0, printargs, "request_key" }, /* 270 */ ++ { 4, 0, printargs, "request_key" }, /* 270 */ + { 5, 0, printargs, "keyctl" }, /* 271 */ + { 5, TP, sys_waitid, "waitid" }, /* 272 */ +- { 5, 0, printargs, "SYS_273" }, /* 273 */ +- { 5, 0, printargs, "SYS_274" }, /* 274 */ +- { 5, 0, printargs, "SYS_275" }, /* 275 */ +- { 5, 0, printargs, "SYS_276" }, /* 276 */ +- { 5, 0, printargs, "SYS_277" }, /* 277 */ ++ { 3, 0, printargs, "ioprio_set" }, /* 273 */ ++ { 2, 0, printargs, "ioprio_get" }, /* 274 */ ++ { 0, 0, printargs, "inotify_init" }, /* 275 */ ++ { 3, 0, printargs, "inotify_add_watch" }, /* 276 */ ++ { 2, 0, printargs, "inotify_rm_watch" }, /* 277 */ + { 5, 0, printargs, "SYS_278" }, /* 278 */ + { 5, 0, printargs, "SYS_279" }, /* 279 */ +- { 5, 0, printargs, "SYS_280" }, /* 280 */ +- { 5, 0, printargs, "SYS_281" }, /* 281 */ +- { 5, 0, printargs, "SYS_282" }, /* 282 */ ++ { 6, TD, sys_pselect6, "pselect6" }, /* 280 */ ++ { 5, 0, printargs, "ppoll" }, /* 281 */ ++ { 1, 0, printargs, "unshare" }, /* 282 */ + { 5, 0, printargs, "SYS_283" }, /* 283 */ + { 5, 0, printargs, "SYS_284" }, /* 284 */ + { 5, 0, printargs, "SYS_285" }, /* 285 */ +- { 5, 0, printargs, "SYS_286" }, /* 286 */ +- { 5, 0, printargs, "SYS_287" }, /* 287 */ +- { 5, 0, printargs, "SYS_288" }, /* 288 */ +- { 5, 0, printargs, "SYS_289" }, /* 289 */ +- { 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 */ +- { 5, 0, printargs, "SYS_297" }, /* 297 */ +- { 5, 0, printargs, "SYS_298" }, /* 298 */ ++ { 4, TD|TF, sys_openat, "openat" }, /* 286 */ ++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 287 */ ++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 288 */ ++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 289 */ ++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 290 */ ++ { 4, TD|TF, sys_fstatat, "fstatat" }, /* 291 */ ++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 292 */ ++ { 4, TD|TF, sys_renameat, "renameat" }, /* 293 */ ++ { 5, TD|TF, sys_linkat, "linkat" }, /* 294 */ ++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 295 */ ++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 296 */ ++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 297 */ ++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 298 */ + { 5, 0, printargs, "SYS_299" }, /* 299 */ { 5, 0, printargs, "SYS_300" }, /* 300 */ + { 5, 0, printargs, "SYS_301" }, /* 301 */ + { 5, 0, printargs, "SYS_302" }, /* 302 */ +--- linux/s390/syscallent.h ++++ linux/s390/syscallent.h +@@ -317,22 +317,22 @@ + { 2, 0, printargs, "inotify_rm_watch" }, /* 286 */ + + { 5, 0, printargs, "SYS_287" }, /* 287 */ +- { 5, 0, printargs, "SYS_288" }, /* 288 */ +- { 5, 0, printargs, "SYS_289" }, /* 289 */ +- { 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 */ +- { 5, 0, printargs, "SYS_297" }, /* 297 */ +- { 5, 0, printargs, "SYS_298" }, /* 298 */ +- { 5, 0, printargs, "SYS_299" }, /* 299 */ +- { 5, 0, printargs, "SYS_300" }, /* 300 */ +- { 5, 0, printargs, "SYS_301" }, /* 301 */ +- { 5, 0, printargs, "SYS_302" }, /* 302 */ +- { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 4, TD|TF, sys_openat, "openat" }, /* 288 */ ++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 289 */ ++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 290 */ ++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 291 */ ++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 292 */ ++ { 4, TD|TF, sys_fstatat, "fstatat64" }, /* 293 */ ++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 294 */ ++ { 4, TD|TF, sys_renameat, "renameat" }, /* 295 */ ++ { 5, TD|TF, sys_linkat, "linkat" }, /* 296 */ ++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 297 */ ++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 298 */ ++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 299 */ ++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 300 */ ++ { 6, TD, sys_pselect6, "pselect6" }, /* 301 */ ++ { 5, 0, printargs, "ppoll" }, /* 302 */ ++ { 1, 0, printargs, "unshare" }, /* 303 */ + { 5, 0, printargs, "SYS_304" }, /* 304 */ + { 5, 0, printargs, "SYS_305" }, /* 305 */ + { 5, 0, printargs, "SYS_306" }, /* 306 */ +--- linux/s390x/syscallent.h ++++ linux/s390x/syscallent.h +@@ -316,22 +316,22 @@ + { 2, 0, printargs, "inotify_rm_watch" }, /* 286 */ + + { 5, 0, printargs, "SYS_287" }, /* 287 */ +- { 5, 0, printargs, "SYS_288" }, /* 288 */ +- { 5, 0, printargs, "SYS_289" }, /* 289 */ +- { 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 */ +- { 5, 0, printargs, "SYS_297" }, /* 297 */ +- { 5, 0, printargs, "SYS_298" }, /* 298 */ +- { 5, 0, printargs, "SYS_299" }, /* 299 */ +- { 5, 0, printargs, "SYS_300" }, /* 300 */ +- { 5, 0, printargs, "SYS_301" }, /* 301 */ +- { 5, 0, printargs, "SYS_302" }, /* 302 */ +- { 5, 0, printargs, "SYS_303" }, /* 303 */ ++ { 4, TD|TF, sys_openat, "openat" }, /* 288 */ ++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 289 */ ++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 290 */ ++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 291 */ ++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 292 */ ++ { 4, TD|TF, sys_fstatat, "fstatat" }, /* 293 */ ++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 294 */ ++ { 4, TD|TF, sys_renameat, "renameat" }, /* 295 */ ++ { 5, TD|TF, sys_linkat, "linkat" }, /* 296 */ ++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 297 */ ++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 298 */ ++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 299 */ ++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 300 */ ++ { 6, TD, sys_pselect6, "pselect6" }, /* 301 */ ++ { 5, 0, printargs, "ppoll" }, /* 302 */ ++ { 1, 0, printargs, "unshare" }, /* 303 */ + { 5, 0, printargs, "SYS_304" }, /* 304 */ + { 5, 0, printargs, "SYS_305" }, /* 305 */ + { 5, 0, printargs, "SYS_306" }, /* 306 */ +--- linux/syscallent.h ++++ linux/syscallent.h +@@ -316,31 +316,31 @@ + { 5, 0, printargs, "sys_kexec_load" }, /* 283 */ + { 5, TP, sys_waitid, "waitid", SYS_waitid }, /* 284 */ + { 5, 0, printargs, "SYS_285" }, /* 285 */ +- { 5, 0, printargs, "SYS_286" }, /* 286 */ +- { 5, 0, printargs, "SYS_287" }, /* 287 */ +- { 5, 0, printargs, "SYS_288" }, /* 288 */ +- { 5, 0, printargs, "SYS_289" }, /* 289 */ +- { 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 */ +- { 5, 0, printargs, "SYS_297" }, /* 297 */ +- { 5, 0, printargs, "SYS_298" }, /* 298 */ +- { 5, 0, printargs, "SYS_299" }, /* 299 */ +- { 5, 0, printargs, "SYS_300" }, /* 300 */ +- { 5, 0, printargs, "SYS_301" }, /* 301 */ +- { 5, 0, printargs, "SYS_302" }, /* 302 */ +- { 5, 0, printargs, "SYS_303" }, /* 303 */ +- { 5, 0, printargs, "SYS_304" }, /* 304 */ +- { 5, 0, printargs, "SYS_305" }, /* 305 */ +- { 5, 0, printargs, "SYS_306" }, /* 306 */ +- { 5, 0, printargs, "SYS_307" }, /* 307 */ +- { 5, 0, printargs, "SYS_308" }, /* 308 */ +- { 5, 0, printargs, "SYS_309" }, /* 309 */ +- { 5, 0, printargs, "SYS_310" }, /* 310 */ ++ { 5, 0, printargs, "add_key" }, /* 286 */ ++ { 4, 0, printargs, "request_key" }, /* 287 */ ++ { 5, 0, printargs, "keyctl" }, /* 288 */ ++ { 3, 0, printargs, "ioprio_set" }, /* 289 */ ++ { 2, 0, printargs, "ioprio_get" }, /* 290 */ ++ { 0, 0, printargs, "inotify_init" }, /* 291 */ ++ { 3, 0, sys_inotify_add_watch, "inotify_add_watch" }, /* 292 */ ++ { 2, 0, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 293 */ ++ { 4, 0, printargs, "migrate_pages" }, /* 294 */ ++ { 4, TD|TF, sys_openat, "openat" }, /* 295 */ ++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 296 */ ++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 297 */ ++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 298 */ ++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 299 */ ++ { 4, TD|TF, sys_fstatat, "fstatat64" }, /* 300 */ ++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 301 */ ++ { 4, TD|TF, sys_renameat, "renameat" }, /* 302 */ ++ { 5, TD|TF, sys_linkat, "linkat" }, /* 303 */ ++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 304 */ ++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 305 */ ++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 306 */ ++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 307 */ ++ { 6, TD, sys_pselect6, "pselect6" }, /* 308 */ ++ { 5, 0, printargs, "ppoll" }, /* 309 */ ++ { 1, 0, printargs, "unshare" }, /* 310 */ + { 5, 0, printargs, "SYS_311" }, /* 311 */ + { 5, 0, printargs, "SYS_312" }, /* 312 */ + { 5, 0, printargs, "SYS_313" }, /* 313 */ +--- linux/x86_64/syscallent.h ++++ linux/x86_64/syscallent.h +@@ -246,9 +246,26 @@ + { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 245 */ + { 5, 0, printargs, "kexec_load" }, /* 246 */ + { 5, TP, sys_waitid, "waitid" }, /* 247 */ +- { 5, 0, printargs, "SYS_248" }, /* 248 */ +- { 5, 0, printargs, "SYS_249" }, /* 249 */ +- { 5, 0, printargs, "SYS_250" }, /* 250 */ +- { 5, 0, printargs, "SYS_251" }, /* 251 */ +- { 5, 0, printargs, "SYS_252" }, /* 252 */ +- { 5, 0, printargs, "SYS_253" }, /* 253 */ ++ { 5, 0, printargs, "add_key" }, /* 248 */ ++ { 4, 0, printargs, "request_key" }, /* 249 */ ++ { 5, 0, printargs, "keyctl" }, /* 250 */ ++ { 3, 0, printargs, "ioprio_set" }, /* 251 */ ++ { 2, 0, printargs, "ioprio_get" }, /* 252 */ ++ { 0, 0, printargs, "inotify_init" }, /* 253 */ ++ { 3, 0, sys_inotify_add_watch, "inotify_add_watch" }, /* 254 */ ++ { 2, 0, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 255 */ ++ { 4, 0, printargs, "migrate_pages" }, /* 256 */ ++ { 4, TD|TF, sys_openat, "openat" }, /* 257 */ ++ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 258 */ ++ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 259 */ ++ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 260 */ ++ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 261 */ ++ { 4, TD|TF, sys_fstatat, "fstatat" }, /* 262 */ ++ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 263 */ ++ { 4, TD|TF, sys_renameat, "renameat" }, /* 264 */ ++ { 5, TD|TF, sys_linkat, "linkat" }, /* 265 */ ++ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 266 */ ++ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 267 */ ++ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 268 */ ++ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 269 */ ++ { 6, TD, sys_pselect6, "pselect6" }, /* 270 */ diff --git a/warn.patch b/warn.patch new file mode 100644 index 0000000..335f1cf --- /dev/null +++ b/warn.patch @@ -0,0 +1,59 @@ +--- process.c ++++ process.c +@@ -718,12 +718,12 @@ + { + #if defined (IA64) + { +- unsigned long *bsp, *ap; ++ unsigned long bsp, *ap; + + if (upeek(tcp->pid, PT_AR_BSP, (long *) &bsp) , 0) + return -1; + +- ap = ia64_rse_skip_regs(bsp, argnum); ++ ap = ia64_rse_skip_regs((unsigned long *) bsp, argnum); + errno = 0; + ptrace(PTRACE_POKEDATA, tcp->pid, (char *) ap, tcp->u_arg[argnum]); + if (errno) +--- syscall.c ++++ syscall.c +@@ -1803,7 +1803,7 @@ + #elif defined (IA64) + { + if (!ia32) { +- unsigned long *out0, *rbs_end, cfm, sof, sol, i; ++ unsigned long *out0, rbs_end, cfm, sof, sol, i; + /* be backwards compatible with kernel < 2.4.4... */ + # ifndef PT_RBS_END + # define PT_RBS_END PT_AR_BSP +@@ -1816,7 +1816,7 @@ + + sof = (cfm >> 0) & 0x7f; + sol = (cfm >> 7) & 0x7f; +- out0 = ia64_rse_skip_regs(rbs_end, -sof + sol); ++ out0 = ia64_rse_skip_regs((unsigned long *)rbs_end, -sof + sol); + + if (tcp->scno >= 0 && tcp->scno < nsyscalls + && sysent[tcp->scno].nargs != -1) +--- util.c ++++ util.c +@@ -1172,7 +1172,7 @@ + static int + arg_setup(struct tcb *tcp, arg_setup_state *state) + { +- unsigned long *bsp, cfm, sof, sol; ++ unsigned long bsp, cfm, sof, sol; + + if (ia32) + return 0; +@@ -1184,9 +1184,8 @@ + + sof = (cfm >> 0) & 0x7f; + sol = (cfm >> 7) & 0x7f; +- bsp = ia64_rse_skip_regs(bsp, -sof + sol); ++ *state = ia64_rse_skip_regs((unsigned long *) bsp, -sof + sol); + +- *state = bsp; + return 0; + } +