-diff -urN strace-4.3.org/linux/sparc/syscall.h strace-4.3/linux/sparc/syscall.h
---- strace-4.3.org/linux/sparc/syscall.h Wed Apr 4 19:25:52 2001
-+++ strace-4.3/linux/sparc/syscall.h Wed Apr 4 19:52:01 2001
-@@ -105,25 +105,45 @@
-
- /* 2.3.1 SystemV-compatible IPC */
- int sys_semsys(), sys_semctl(), sys_semget();
--#define SYS_semsys_subcall 200
-+#define SYS_semsys_subcall 256
- #define SYS_semsys_nsubcalls 3
- #define SYS_semctl (SYS_semsys_subcall + 0)
- #define SYS_semget (SYS_semsys_subcall + 1)
- #define SYS_semop (SYS_semsys_subcall + 2)
- int sys_msgsys(), sys_msgget(), sys_msgctl(), sys_msgrcv(), sys_msgsnd();
--#define SYS_msgsys_subcall 203
-+#define SYS_msgsys_subcall 259
- #define SYS_msgsys_nsubcalls 4
- #define SYS_msgget (SYS_msgsys_subcall + 0)
- #define SYS_msgctl (SYS_msgsys_subcall + 1)
- #define SYS_msgrcv (SYS_msgsys_subcall + 2)
- #define SYS_msgsnd (SYS_msgsys_subcall + 3)
- int sys_shmsys(), sys_shmat(), sys_shmctl(), sys_shmdt(), sys_shmget();
--#define SYS_shmsys_subcall 207
-+#define SYS_shmsys_subcall 263
- #define SYS_shmsys_nsubcalls 4
- #define SYS_shmat (SYS_shmsys_subcall + 0)
- #define SYS_shmctl (SYS_shmsys_subcall + 1)
- #define SYS_shmdt (SYS_shmsys_subcall + 2)
- #define SYS_shmget (SYS_shmsys_subcall + 3)
-+
-+#define SYS_socket_subcall 267
-+#define SYS_socket_nsubcalls 16
-+/*
-+#define SYS_socket (SYS_socket_subcall + 1)
-+#define SYS_bind (SYS_socket_subcall + 2)
-+#define SYS_connect (SYS_socket_subcall + 3)
-+#define SYS_listen (SYS_socket_subcall + 4)
-+#define SYS_accept (SYS_socket_subcall + 5)
-+#define SYS_getsockname (SYS_socket_subcall + 6)
-+#define SYS_getpeername (SYS_socket_subcall + 7)
-+#define SYS_socketpair (SYS_socket_subcall + 8)
-+#define SYS_send (SYS_socket_subcall + 9)
-+#define SYS_recv (SYS_socket_subcall + 10)
-+#define SYS_sendto (SYS_socket_subcall + 11)
-+#define SYS_recvfrom (SYS_socket_subcall + 12)
-+#define SYS_shutdown (SYS_socket_subcall + 13)
-+#define SYS_setsockopt (SYS_socket_subcall + 14)
-+#define SYS_getsockopt (SYS_socket_subcall + 15)
-+ */
-
- /* 2.4 processes */
- int sys_ptrace();
-diff -urN strace-4.3.org/linux/sparc/syscall.h.2 strace-4.3/linux/sparc/syscall.h.2
---- strace-4.3.org/linux/sparc/syscall.h.2 Wed Apr 4 19:25:52 2001
-+++ strace-4.3/linux/sparc/syscall.h.2 Wed Apr 4 19:52:01 2001
-@@ -1,142 +0,0 @@
--/*
-- * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
-- * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
-- * All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions
-- * are met:
-- * 1. Redistributions of source code must retain the above copyright
-- * notice, this list of conditions and the following disclaimer.
-- * 2. Redistributions in binary form must reproduce the above copyright
-- * notice, this list of conditions and the following disclaimer in the
-- * documentation and/or other materials provided with the distribution.
-- * 3. The name of the author may not be used to endorse or promote products
-- * derived from this software without specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-- * (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$
-- */
--
--#include "dummy.h"
--
--/* primary syscalls */
--
--int sys_setup(), sys_exit(), sys_fork(), sys_read(), sys_write();
--int sys_open(), sys_close(), sys_waitpid(), sys_creat(), sys_link();
--int sys_unlink(), sys_execve(), sys_chdir(), sys_time(), sys_mknod();
--int sys_chmod(), sys_chown(), sys_break(), sys_oldstat();
--int sys_lseek(), sys_getpid(), sys_mount(), sys_umount();
--int sys_setuid(), sys_getuid(), sys_stime(), sys_ptrace();
--int sys_alarm(), sys_oldfstat(), sys_pause(), sys_utime();
--int sys_stty(), sys_gtty(), sys_access(), sys_nice(), sys_ftime();
--int sys_sync(), sys_kill(), sys_rename(), sys_mkdir(), sys_rmdir();
--int sys_dup(), sys_pipe(), sys_times(), sys_prof(), sys_brk();
--int sys_setgid(), sys_getgid(), sys_signal(), sys_geteuid();
--int sys_getegid(), sys_acct(), sys_phys(), sys_lock(), sys_ioctl();
--int sys_fcntl(), sys_mpx(), sys_setpgid(), sys_ulimit();
--int sys_olduname(), sys_umask(), sys_chroot(), sys_ustat();
--int sys_dup2(), sys_getppid(), sys_getpgrp(), sys_setsid();
--int sys_sigaction(), sys_siggetmask(), sys_sigsetmask();
--int sys_setreuid(), sys_setregid(), sys_sigsuspend();
--int sys_sigpending(), sys_sethostname(), sys_setrlimit();
--int sys_getrlimit(), sys_getrusage(), sys_gettimeofday();
--int sys_settimeofday(), sys_getgroups(), sys_setgroups();
--int sys_oldselect(), sys_symlink(), sys_oldlstat(), sys_readlink();
--int sys_uselib(), sys_swapon(), sys_reboot(), sys_readdir();
--int sys_mmap(), sys_munmap(), sys_truncate(), sys_ftruncate();
--int sys_fchmod(), sys_fchown(), sys_getpriority();
--int sys_setpriority(), sys_profil(), sys_statfs(), sys_fstatfs();
--int sys_ioperm(), sys_socketcall(), sys_syslog(), sys_setitimer();
--int sys_getitimer(), sys_stat(), sys_lstat(), sys_fstat();
--int sys_uname(), sys_iopl(), sys_vhangup(), sys_idle(), sys_vm86();
--int sys_wait4(), sys_swapoff(), sys_ipc(), sys_sigreturn();
--int sys_fsync(), sys_clone(), sys_setdomainname(), sys_sysinfo();
--int sys_modify_ldt(), sys_adjtimex(), sys_mprotect();
--int sys_sigprocmask(), sys_create_module(), sys_init_module();
--int sys_delete_module(), sys_get_kernel_syms(), sys_quotactl();
--int sys_getpgid(), sys_fchdir(), sys_bdflush();
--int sys_sysfs(), sys_personality(), sys_afs_syscall();
--int sys_setfsuid(), sys_setfsgid(), sys_llseek();
--int sys_getdents(), sys_flock(), sys_msync();
--int sys_readv(), sys_writev(), sys_select();
--int sys_getsid(), sys_fdatasync(), sys_sysctl();
--int sys_mlock(), sys_munlock(), sys_mlockall(), sys_munlockall();
--int sys_sched_setparam(), sys_sched_getparam();
--int sys_sched_setscheduler(), sys_sched_getscheduler(), sys_sched_yield();
--int sys_sched_get_priority_max(), sys_sched_get_priority_min();
--int sys_sched_rr_get_interval(), sys_nanosleep(), sys_mremap();
--int sys_sendmsg(), sys_recvmsg();
--
--/* sys_socketcall subcalls */
--
--int sys_socket(), sys_bind(), sys_connect(), sys_listen();
--int sys_accept(), sys_getsockname(), sys_getpeername(), sys_socketpair();
--int sys_send(), sys_recv(), sys_sendto(), sys_recvfrom();
--int sys_shutdown(), sys_setsockopt(), sys_getsockopt();
--
--#ifndef ALPHA
--#define SYS_socket_subcall 180
--#define SYS_socket (SYS_socket_subcall + 1)
--#define SYS_bind (SYS_socket_subcall + 2)
--#define SYS_connect (SYS_socket_subcall + 3)
--#define SYS_listen (SYS_socket_subcall + 4)
--#define SYS_accept (SYS_socket_subcall + 5)
--#define SYS_getsockname (SYS_socket_subcall + 6)
--#define SYS_getpeername (SYS_socket_subcall + 7)
--#define SYS_socketpair (SYS_socket_subcall + 8)
--#define SYS_send (SYS_socket_subcall + 9)
--#define SYS_recv (SYS_socket_subcall + 10)
--#define SYS_sendto (SYS_socket_subcall + 11)
--#define SYS_recvfrom (SYS_socket_subcall + 12)
--#define SYS_shutdown (SYS_socket_subcall + 13)
--#define SYS_setsockopt (SYS_socket_subcall + 14)
--#define SYS_getsockopt (SYS_socket_subcall + 15)
--
--#define SYS_socket_nsubcalls 16
--#endif /* !ALPHA */
--
--/* sys_ipc subcalls */
--
--int sys_semget(), sys_semctl();
--int sys_msgsnd(), sys_msgrcv(), sys_msgget(), sys_msgctl();
--int sys_shmat(), sys_shmdt(), sys_shmget(), sys_shmctl();
--
--#ifndef ALPHA
--#define SYS_ipc_subcall 200
--#define SYS_semop (SYS_ipc_subcall + 1)
--#define SYS_semget (SYS_ipc_subcall + 2)
--#define SYS_semctl (SYS_ipc_subcall + 3)
--#define SYS_msgsnd (SYS_ipc_subcall + 11)
--#define SYS_msgrcv (SYS_ipc_subcall + 12)
--#define SYS_msgget (SYS_ipc_subcall + 13)
--#define SYS_msgctl (SYS_ipc_subcall + 14)
--#define SYS_shmat (SYS_ipc_subcall + 21)
--#define SYS_shmdt (SYS_ipc_subcall + 22)
--#define SYS_shmget (SYS_ipc_subcall + 23)
--#define SYS_shmctl (SYS_ipc_subcall + 24)
--
--#define SYS_ipc_nsubcalls 25
--#endif /* ALPHA */
--
--#ifdef ALPHA
--int osf_statfs(), osf_fstatfs(), sys_getpagesize(), sys_madvise();
--int sys_setpgrp(), sys_gethostname(), sys_getdtablesize(), sys_utimes();
--#endif
--
--int sys__llseek(), sys__newselect(), sys__sysctl(), sys_klog();
--int sys_prev_fstat(), sys_prev_lstat(), sys_prev_mknod(), sys_prev_stat();
--int sys_prev_ustat(), sys_syscall_flock(), sys_syscall_readv();
--int sys_syscall_writev();
--
--#include "syscall1.h"
-diff -urN strace-4.3.org/linux/sparc/syscallent.h strace-4.3/linux/sparc/syscallent.h
---- strace-4.3.org/linux/sparc/syscallent.h Wed Apr 4 19:25:52 2001
-+++ strace-4.3/linux/sparc/syscallent.h Wed Apr 4 19:52:01 2001
-@@ -269,22 +269,24 @@
- { 5, 0, printargs, "SYS_264" }, /* 264 */
- { 5, 0, printargs, "SYS_265" }, /* 265 */
- { 5, 0, printargs, "SYS_266" }, /* 266 */
-+
- { 5, 0, printargs, "SYS_267" }, /* 267 */
-- { 5, 0, printargs, "SYS_268" }, /* 268 */
-- { 5, 0, printargs, "SYS_269" }, /* 269 */
-- { 5, 0, printargs, "SYS_270" }, /* 270 */
-- { 5, 0, printargs, "SYS_271" }, /* 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 */
-- { 5, 0, printargs, "SYS_277" }, /* 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 */
-+ { 3, TN, sys_socket, "socket" }, /* 268 */
-+ { 3, TN, sys_bind, "bind" }, /* 269 */
-+ { 3, TN, sys_connect, "connect" }, /* 270 */
-+ { 2, TN, sys_listen, "listen" }, /* 271 */
-+ { 3, TN, sys_accept, "accept" }, /* 272 */
-+ { 3, TN, sys_getsockname,"getsockname" }, /* 273 */
-+ { 3, TN, sys_getpeername,"getpeername" }, /* 274 */
-+ { 5, TN, sys_socketpair, "socketpair" }, /* 275 */
-+ { 4, TN, sys_send, "send" }, /* 276 */
-+ { 4, TN, sys_recv, "recv" }, /* 277 */
-+ { 6, TN, sys_sendto, "sendto" }, /* 278 */
-+ { 6, TN, sys_recvfrom, "recvfrom" }, /* 279 */
-+ { 2, TN, sys_shutdown, "shutdown" }, /* 280 */
-+ { 5, TN, sys_setsockopt, "setsockopt" }, /* 281 */
-+ { 5, TN, sys_getsockopt, "getsockopt" }, /* 282 */
-+
- { 5, 0, printargs, "SYS_283" }, /* 283 */
- { 5, 0, printargs, "SYS_284" }, /* 284 */
- { 5, 0, printargs, "SYS_285" }, /* 285 */
-diff -urN strace-4.3.org/syscall.c strace-4.3/syscall.c
---- strace-4.3.org/syscall.c Wed Apr 4 19:25:52 2001
-+++ strace-4.3/syscall.c Wed Apr 4 19:57:33 2001
-@@ -444,48 +444,6 @@
-
- #if !(defined(LINUX) && ( defined(ALPHA) || defined(IA64) || defined(MIPS) ))
-
--const int socket_map [] = {
-- /* SYS_SOCKET */ 97,
-- /* SYS_BIND */ 104,
-- /* SYS_CONNECT */ 98,
-- /* SYS_LISTEN */ 106,
-- /* SYS_ACCEPT */ 99,
-- /* SYS_GETSOCKNAME */ 150,
-- /* SYS_GETPEERNAME */ 141,
-- /* SYS_SOCKETPAIR */ 135,
-- /* SYS_SEND */ 101,
-- /* SYS_RECV */ 102,
-- /* SYS_SENDTO */ 133,
-- /* SYS_RECVFROM */ 125,
-- /* SYS_SHUTDOWN */ 134,
-- /* SYS_SETSOCKOPT */ 105,
-- /* SYS_GETSOCKOPT */ 118,
-- /* SYS_SENDMSG */ 114,
-- /* SYS_RECVMSG */ 113
--};
--
--void
--sparc_socket_decode (tcp)
--struct tcb *tcp;
--{
-- volatile long addr;
-- volatile int i, n;
--
-- if (tcp->u_arg [0] < 1 || tcp->u_arg [0] > sizeof(socket_map)/sizeof(int)+1){
-- return;
-- }
-- tcp->scno = socket_map [tcp->u_arg [0]-1];
-- n = tcp->u_nargs = sysent [tcp->scno].nargs;
-- addr = tcp->u_arg [1];
-- for (i = 0; i < n; i++){
-- int arg;
-- if (umoven (tcp, addr, sizeof (arg), (void *) &arg) < 0)
-- arg = 0;
-- tcp->u_arg [i] = arg;
-- addr += sizeof (arg);
-- }
--}
--
- static void
- decode_subcall(tcp, subcall, nsubcalls, style)
- struct tcb *tcp;
-@@ -1564,21 +1522,18 @@
-
- switch (tcp->scno + NR_SYSCALL_BASE) {
- #ifdef LINUX
--#if !defined (ALPHA) && !defined(IA64) && !defined(SPARC) && !defined(MIPS) && !defined(HPPA)
-+#if !defined (ALPHA) && !defined(IA64) && !defined(MIPS) && !defined(HPPA)
- case SYS_socketcall:
- decode_subcall(tcp, SYS_socket_subcall,
- SYS_socket_nsubcalls, deref_style);
- break;
-+#endif /* !ALPHA && !IA64 && !MIPS */
-+#if !defined (ALPHA) && !defined(IA64) && !defined(SPARC) && !defined(MIPS) && !defined(HPPA)
- case SYS_ipc:
- decode_subcall(tcp, SYS_ipc_subcall,
- SYS_ipc_nsubcalls, shift_style);
- break;
- #endif /* !ALPHA && !IA64 && !MIPS && !SPARC */
--#ifdef SPARC
-- case SYS_socketcall:
-- sparc_socket_decode (tcp);
-- break;
--#endif
- #endif /* LINUX */
- #ifdef SVR4
- #ifdef SYS_pgrpsys_subcall
+--- strace-4.5.8/linux/sparc/syscall.h.orig 2005-02-27 16:32:11.277843000 +0000
++++ strace-4.5.8/linux/sparc/syscall.h 2005-02-27 16:38:09.265412147 +0000
+@@ -201,5 +201,6 @@
+ int sys_fstatfs64(), sys_clock_settime(), sys_clock_gettime();
+ int sys_clock_getres(), sys_clock_nanosleep();
+ int sys_timer_create(), sys_timer_settime(), sys_timer_gettime();
++int sys_epoll_create(), sys_epoll_ctl(), sys_epoll_wait();
+
+ #include "syscall1.h"