diff -Naur strace-4.5.12.orig/configure strace-4.5.12/configure --- strace-4.5.12.orig/configure 2005-06-08 22:55:19.000000000 +0200 +++ strace-4.5.12/configure 2005-10-26 07:46:58.000000000 +0200 @@ -1993,19 +1993,19 @@ _ACEOF ;; -sh) - arch=sh +sh64) + arch=sh64 cat >>confdefs.h <<\_ACEOF -#define SH 1 +#define SH64 1 _ACEOF ;; -sh64) - arch=sh64 +sh*) + arch=sh cat >>confdefs.h <<\_ACEOF -#define SH64 1 +#define SH 1 _ACEOF ;; diff -Naur strace-4.5.12.orig/configure.ac strace-4.5.12/configure.ac --- strace-4.5.12.orig/configure.ac 2005-06-08 22:50:29.000000000 +0200 +++ strace-4.5.12/configure.ac 2005-10-26 07:46:58.000000000 +0200 @@ -216,6 +216,8 @@ AC_CHECK_TYPES([struct user_desc],,, [#include ]) +AC_CHECK_MEMBERS([struct dqblk.dqb_curblocks],,, [#include ]) + AC_CHECK_DECLS([sys_errlist]) AC_CHECK_DECLS([sys_siglist, _sys_siglist],,, [#include ]) diff -Naur strace-4.5.12.orig/desc.c strace-4.5.12/desc.c --- strace-4.5.12.orig/desc.c 2005-06-01 21:22:07.000000000 +0200 +++ strace-4.5.12/desc.c 2005-10-26 07:46:58.000000000 +0200 @@ -767,7 +767,7 @@ continue; } tprintf("{%p, %u, %hu, %hu, %d}", - iocb.data, iocb.key, + iocb.aio_data, iocb.aio_key, iocb.aio_lio_opcode, iocb.aio_reqprio, iocb.aio_fildes); } @@ -793,7 +793,7 @@ #ifdef HAVE_LIBAIO_H if (umove(tcp, tcp->u_arg[1], &iocb) == 0) { tprintf("{%p, %u, %hu, %hu, %d}, ", - iocb.data, iocb.key, + iocb.aio_data, iocb.aio_key, iocb.aio_lio_opcode, iocb.aio_reqprio, iocb.aio_fildes); } else diff -Naur strace-4.5.12.orig/linux/syscallent.h strace-4.5.12/linux/syscallent.h --- strace-4.5.12.orig/linux/syscallent.h 2005-06-08 01:21:24.000000000 +0200 +++ strace-4.5.12/linux/syscallent.h 2005-10-26 07:46:58.000000000 +0200 @@ -298,7 +298,11 @@ { 3, 0, sys_io_cancel, "io_cancel" }, /* 249 */ { 5, TF, sys_fadvise64, "fadvise64" }, /* 250 */ { 5, 0, printargs, "SYS_251" }, /* 251 */ - { 1, TP, sys_exit, "exit_group", __NR_exit_group }, /* 252 */ + { 1, TP, sys_exit, "exit_group" +#ifdef __NR_exit_group + , __NR_exit_group +#endif + }, /* 252 */ { 4, 0, printargs, "lookup_dcookie"}, /* 253 */ { 1, 0, sys_epoll_create, "epoll_create" }, /* 254 */ { 4, 0, sys_epoll_ctl, "epoll_ctl" }, /* 255 */ diff -Naur strace-4.5.12.orig/process.c strace-4.5.12/process.c --- strace-4.5.12.orig/process.c 2005-06-08 22:45:28.000000000 +0200 +++ strace-4.5.12/process.c 2005-10-26 07:46:58.000000000 +0200 @@ -82,14 +82,10 @@ #ifdef HAVE_LINUX_PTRACE_H #undef PTRACE_SYSCALL -# ifdef HAVE_STRUCT_IA64_FPREG -# define ia64_fpreg XXX_ia64_fpreg -# endif # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif #include -# undef ia64_fpreg # undef pt_all_user_regs #endif @@ -2662,7 +2658,6 @@ { 4*REG_GBR, "4*REG_GBR" }, { 4*REG_MACH, "4*REG_MACH" }, { 4*REG_MACL, "4*REG_MACL" }, - { 4*REG_SYSCALL, "4*REG_SYSCALL" }, { 4*REG_FPUL, "4*REG_FPUL" }, { 4*REG_FPREG0, "4*REG_FPREG0" }, { 4*(REG_FPREG0+1), "4*REG_FPREG1" }, diff -Naur strace-4.5.12.orig/resource.c strace-4.5.12/resource.c --- strace-4.5.12.orig/resource.c 2004-10-07 00:14:53.000000000 +0200 +++ strace-4.5.12/resource.c 2005-10-26 07:46:58.000000000 +0200 @@ -464,6 +464,7 @@ #ifdef LINUX +#define OLD_CMD(c) ((c)<<8) #define NEW_CMD(c) ((0x80<<16)+(c)) #define XQM_CMD(c) (('X'<<8)+(c)) #define NEW_COMMAND(c) (( ((c) >> SUBCMDSHIFT) & (0x80 << 16))) @@ -471,15 +472,15 @@ #define OLD_COMMAND(c) (!NEW_COMMAND(c) && !XQM_COMMAND(c)) static const struct xlat quotacmds[] = { - { Q_QUOTAON, "Q_QUOTAON" }, - { Q_QUOTAOFF, "Q_QUOTAOFF" }, - { Q_GETQUOTA, "Q_GETQUOTA" }, - { Q_SETQUOTA, "Q_SETQUOTA" }, - { Q_SETUSE, "Q_SETUSE" }, - { Q_SYNC, "Q_SYNC" }, - { Q_SETQLIM, "Q_SETQLIM" }, - { Q_GETSTATS, "Q_GETSTATS" }, - { Q_RSQUASH, "Q_RSQUASH" }, + { OLD_CMD(0x1), "Q_QUOTAON" }, + { OLD_CMD(0x2), "Q_QUOTAOFF" }, + { OLD_CMD(0x3), "Q_GETQUOTA" }, + { OLD_CMD(0x4), "Q_SETQUOTA" }, + { OLD_CMD(0x5), "Q_SETUSE" }, + { OLD_CMD(0x6), "Q_SYNC" }, + { OLD_CMD(0x7), "Q_SETQLIM" }, + { OLD_CMD(0x8), "Q_GETSTATS" }, + { OLD_CMD(0x10),"Q_RSQUASH" }, { NEW_CMD(0x1), "Q_SYNC" }, { NEW_CMD(0x2), "Q_QUOTAON" }, { NEW_CMD(0x3), "Q_QUOTAOFF" }, @@ -528,21 +529,29 @@ if (!tcp->u_arg[3]) tprintf("NULL"); - else if (!verbose(tcp) || !OLD_COMMAND(cmd)) + else if (!verbose(tcp) || +#ifdef HAVE_STRUCT_DQBLK_DQB_CURBLOCKS + ! +#endif + OLD_COMMAND(cmd)) tprintf("%#lx", tcp->u_arg[3]); else if (umoven(tcp, tcp->u_arg[3], sizeof(struct dqblk), (char *) &dq) < 0) tprintf("???"); else { tprintf("{"); - tprintf("%u, ", dq.dqb_bhardlimit); - tprintf("%u, ", dq.dqb_bsoftlimit); - tprintf("%u, ", dq.dqb_curblocks); - tprintf("%u, ", dq.dqb_ihardlimit); - tprintf("%u, ", dq.dqb_isoftlimit); - tprintf("%u, ", dq.dqb_curinodes); - tprintf("%lu, ", dq.dqb_btime); - tprintf("%lu", dq.dqb_itime); + tprintf("%llu, ", (unsigned long long) dq.dqb_bhardlimit); + tprintf("%llu, ", (unsigned long long) dq.dqb_bsoftlimit); +#ifdef HAVE_STRUCT_DQBLK_DQB_CURBLOCKS + tprintf("%llu, ", (unsigned long long) dq.dqb_curblocks); +#else + tprintf("%llu, ", (unsigned long long) dq.dqb_curspace); +#endif + tprintf("%llu, ", (unsigned long long) dq.dqb_ihardlimit); + tprintf("%llu, ", (unsigned long long) dq.dqb_isoftlimit); + tprintf("%llu, ", (unsigned long long) dq.dqb_curinodes); + tprintf("%llu, ", (unsigned long long) dq.dqb_btime); + tprintf("%llu", (unsigned long long) dq.dqb_itime); tprintf("}"); } diff -Naur strace-4.5.12.orig/signal.c strace-4.5.12/signal.c --- strace-4.5.12.orig/signal.c 2005-06-01 21:02:37.000000000 +0200 +++ strace-4.5.12/signal.c 2005-10-26 07:46:58.000000000 +0200 @@ -53,14 +53,10 @@ #endif #elif defined(HAVE_LINUX_PTRACE_H) #undef PTRACE_SYSCALL -# ifdef HAVE_STRUCT_IA64_FPREG -# define ia64_fpreg XXX_ia64_fpreg -# endif # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif #include -# undef ia64_fpreg # undef pt_all_user_regs #endif diff -Naur strace-4.5.12.orig/syscall.c strace-4.5.12/syscall.c --- strace-4.5.12.orig/syscall.c 2005-06-08 22:45:28.000000000 +0200 +++ strace-4.5.12/syscall.c 2005-10-26 07:46:58.000000000 +0200 @@ -63,14 +63,10 @@ #endif #elif defined(HAVE_LINUX_PTRACE_H) #undef PTRACE_SYSCALL -# ifdef HAVE_STRUCT_IA64_FPREG -# define ia64_fpreg XXX_ia64_fpreg -# endif # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif #include -# undef ia64_fpreg # undef pt_all_user_regs #endif diff -Naur strace-4.5.12.orig/system.c strace-4.5.12/system.c --- strace-4.5.12.orig/system.c 2005-06-01 21:22:06.000000000 +0200 +++ strace-4.5.12/system.c 2005-10-26 07:46:58.000000000 +0200 @@ -32,6 +32,23 @@ #include "defs.h" +#ifdef HAVE_SYS_REG_H +# include +# ifndef PTRACE_PEEKUSR +# define PTRACE_PEEKUSR PTRACE_PEEKUSER +# endif +# ifndef PTRACE_POKEUSR +# define PTRACE_POKEUSR PTRACE_POKEUSER +# endif +#elif defined(HAVE_LINUX_PTRACE_H) +# undef PTRACE_SYSCALL +# ifdef HAVE_STRUCT_PT_ALL_USER_REGS +# define pt_all_user_regs XXX_pt_all_user_regs +# endif +# include +# undef pt_all_user_regs +#endif + #ifdef LINUX #define _LINUX_SOCKET_H #define _LINUX_FS_H diff -Naur strace-4.5.12.orig/util.c strace-4.5.12/util.c --- strace-4.5.12.orig/util.c 2005-06-08 22:45:28.000000000 +0200 +++ strace-4.5.12/util.c 2005-10-26 07:46:58.000000000 +0200 @@ -63,14 +63,10 @@ # define PTRACE_PEEKUSR PTRACE_PEEKUSER #elif defined(HAVE_LINUX_PTRACE_H) #undef PTRACE_SYSCALL -# ifdef HAVE_STRUCT_IA64_FPREG -# define ia64_fpreg XXX_ia64_fpreg -# endif # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif #include -# undef ia64_fpreg # undef pt_all_user_regs #endif