]> granicus.if.org Git - strace/blobdiff - ChangeLog
2006-12-10 Dmitry V. Levin <ldv@altlinux.org>
[strace] / ChangeLog
index 2918de398d9156641d914688237d2a89e5a3fabb..582599f7824b148e157c38c8ac85fe4b6bd993b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,403 @@
+2006-12-10  Dmitry V. Levin <ldv@altlinux.org>
+
+       Add biarch support for "struct iovec".
+       * defs.h (personality_wordsize): Add.
+       * io.c [HAVE_SYS_UIO_H] (tprint_iov): [LINUX &&
+       SUPPORTED_PERSONALITIES > 1] Handle 32-bit personality.
+       * util.c [HAVE_SYS_UIO_H] (dumpiov): [LINUX &&
+       SUPPORTED_PERSONALITIES > 1] Likewise.
+       Patch from Jakub Jelinek.
+       Fixes RH#218433.
+
+       * time.c (sys_timer_create): Check umove() return code.
+
+       Make several global variables static.
+       #ifdef definitions of rarely unused functions.
+       * defs.h (rflag, tflag, outfname): Remove.
+       * strace.c (iflag, interactive, pflag_seen, rflag, tflag,
+       outfname, username): Make static.
+       * desc.c (sys_getdtablesize): Define only for
+       ALPHA || FREEBSD || SUNOS4.
+       * file.c (sys_fchroot): Define only for SUNOS4 || SVR4.
+       (sys_mkfifo): Define only for FREEBSD.
+       * mem.c (sys_sbrk): Define only for FREEBSD || SUNOS4.
+       (sys_getpagesize): Define only for
+       ALPHA || FREEBSD || IA64 || SUNOS4 || SVR4.
+       * net.c (sys_so_socket): Define only for SVR4.
+       * process.c (sys_gethostid): Define only for
+       FREEBSD || SUNOS4 || SVR4.
+       (sys_gethostname): Define only for
+       ALPHA || FREEBSD || SUNOS4 || SVR4.
+       (sys_setpgrp): Define only for ALPHA || SUNOS4 || SVR4.
+       (sys_execv): Define only for SPARC || SPARC64 || SUNOS4.
+       * signal.c (sys_sigblock): Define only for FREEBSD || SUNOS4.
+       (sys_sighold, sys_sigwait): Define only for SVR4.
+       (sys_killpg): Define only for FREEBSD || SUNOS4.
+       * stream.c (sys_getmsg): Define only for
+       SPARC || SPARC64 || SUNOS4 || SVR4.
+       * syscall.c (sys_indir): Define only for SUNOS4.
+
+2006-11-27  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * system.c [LINUX]: Define CTL_PROC, since Linux 2.6.18+ headers
+       removed CTL_PROC enum.  Patch from Jakub Jelinek.
+       [LINUX] (sysctl_root): Add CTL_BUS, CTL_ABI and CTL_CPU.
+
+2006-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * linux/ia64/syscallent.h: Add #if check to make sure that
+       SYS_socket_subcall adjustment isn't forgotten again.
+
+2006-10-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+       Implement comprehensive quotactl(2) parser for Linux.
+       * Makefile.am (strace_SOURCES): Add quota.c.
+       * quota.c: New file.
+       * resource.c: Remove old quotactl(2) parser.
+       Fixes RH#118696.
+
+2006-10-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * configure.ac(AC_CHECK_HEADERS): Add inttypes.h.
+       * file.c [_LFS64_LARGEFILE && (LINUX || SVR4)]:
+       Include <inttypes.h>.
+       (sys_getdents64): Use PRIu64/PRId64 to avoid gcc warnings on
+       64-bit platforms.
+
+       * strace.c (main): Check getcwd() return code.
+
+2006-10-13  Ulrich Drepper  <drepper@redhat.com>
+           Bernhard Kaindl <bk@suse.de>
+           Dmitry V. Levin  <ldv@altlinux.org>
+           Michael Holzheu <holzheu@de.ibm.com>
+
+       Add hooks for new syscalls.  Add decoders for *at, inotify*,
+       pselect6, ppoll and unshare syscalls.
+
+       * defs.h: Declare print_sigset.
+       * desc.c (sys_pselect6): New function.
+       * file.c (decode_open, decode_access, decode_mkdir,
+       decode_readlink, decode_chmod, decode_utimes, decode_mknod):
+       New functions.
+       (sys_open, sys_access, sys_mkdir, sys_readlink, sys_chmod,
+       sys_utimes, sys_mknod): Use them.
+       [LINUX] (fstatatflags, unlinkatflags, inotify_modes): New
+       variables.
+       [LINUX] (print_dirfd, 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, sys_inotify_add_watch,
+       sys_inotify_rm_watch): New functions.
+       * process.c [LINUX] (sys_unshare): New function.
+       * signal.c (print_sigset): New function.
+       (sys_sigprocmask): Use it.
+       * stream.c (decode_poll): New function.
+       (sys_poll): Use it.
+       [LINUX] (sys_ppoll): New function.
+       * linux/syscall.h: Delcare new syscall handlers.
+       * linux/syscallent.h: Hook up new syscalls.
+       * linux/alpha/syscallent.h: Likewise.
+       * linux/hppa/syscallent.h: Likewise.
+       * linux/ia64/syscallent.h: Likewise.
+       * linux/mips/syscallent.h: Likewise.
+       * linux/powerpc/syscallent.h: Likewise.
+       * linux/s390/syscallent.h: Likewise.
+       * linux/s390x/syscallent.h: Likewise.
+       * linux/sparc/syscallent.h: Likewise.
+       * linux/sparc64/syscallent.h: Likewise.
+       * linux/x86_64/syscallent.h: Likewise.
+       Fixes RH#178633.
+
+2006-10-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * strace.c [!USE_PROCFS] (trace): Presence of PT_GETSIGINFO
+       macro does not mean that PT_CR_IPSR and PT_CR_IIP macros are
+       also defined, so check them along with PT_GETSIGINFO.
+       Fixes RH#209856.
+
+2006-09-01  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * file.c (print_xattr_val): Fix memory corruption bug reported
+       by James Antill.
+       Fixes RH#200621.
+
+2006-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * defs.h [LINUX && X86_64 && !__NR_exit_group]: Define
+       __NR_exit_group.
+
+2006-03-29  Dmitry V. Levin  <ldv@altlinux.org>
+
+       Fix race conditions in tcb allocation.
+       * process.c (fork_tcb): Return error code as documented.  Do not
+       print "tcb table full" error message.
+       [USE_PROCFS] (internal_fork): Do not print "tcb table full"
+       error message.
+       [SYS_clone || SYS_clone2] (internal_clone, internal_fork): Call
+       fork_tcb() before alloctcb().  Do not print "tcb table full"
+       error message.
+       * strace.c (main): Do not print "tcb table full" error message.
+       (expand_tcbtab): Print error message in case of memory allocation
+       failure.
+       (alloctcb): Print error message when tcb table is full.
+       (trace): Expand tcb table if necessary prior to allocating
+       entry there.  Do not print "tcb table full" error message.
+       Fixes RH#180293.
+
+2006-08-22  Roland McGrath  <roland@redhat.com>
+
+       * ipc.c (sys_msgget, sys_semget, sys_shmget): Show key values in hex.
+       Fixes RH#198179.
+
+2006-08-21  Roland McGrath  <roland@redhat.com>
+
+       * 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#201462.
+
+2006-04-25  Roland McGrath  <roland@redhat.com>
+
+       * 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 <mike.stroyan@hp.com>.
+       Fixes Debian#340239.
+
+2006-03-30  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * 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  <roland@redhat.com>
+
+       * configure.ac, NEWS: Version 4.5.14.
+       * debian/changelog, strace.spec: 4.5.14-1.
+
+2006-01-13  Roland McGrath  <roland@redhat.com>
+
+       * debian/control (Build-Depends): Add debhelper.
+
+2006-01-12  Roland McGrath  <roland@redhat.com>
+
+       * signal.c [LINUX] (sys_restart_syscall): New function.
+       * linux/syscall.h: Declare sys_restart_syscall.
+       * linux/sparc/syscall.h: Likewise.
+       * linux/syscallent.h: Call 0 is restart_syscall.
+       * linux/arm/syscallent.h: Likewise.
+       * linux/powerpc/syscallent.h: Likewise.
+       * linux/m68k/syscallent.h: Likewise.
+       * linux/hppa/syscallent.h: Likewise.
+       * linux/sh/syscallent.h: Likewise.
+       * linux/sparc/syscallent.h: Likewise.
+       * linux/sparc64/syscallent.h: Likewise.
+       * linux/alpha/syscallent.h: Use sys_restart_syscall.
+       * linux/ia64/syscallent.h: Likewise.
+       * linux/mips/syscallent.h: Likewise.
+       * linux/x86_64/syscallent.h: Likewise.
+       Fixes RH#165469.
+
+2005-08-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * system.c [LINUX] (MS_MGC_VAL): New macro.
+       [LINUX] (mount_flags): Add it.
+       [LINUX] (sys_mount): If neither MS_BIND nor MS_MOVE bits are
+        set in the flags argument, try to fetch data string.
+       Fixes RH#165377.
+
+2006-01-12  Roland McGrath  <roland@redhat.com>
+
+       * system.c (sys_sysctl): Don't read off end of NAME when max_strlen
+       exceeds INFO.nlen.
+       From Timo Lindfors <timo.lindfors@iki.fi>.
+       Fixes Debian#339117.
+
+       * debian/rules (binary-arch): Don't pass -s to install.  Use dh_strip.
+       Fixes Debian#325132.
+
+       * debian/control (Standards-Version): Update to 3.6.2.
+
+       * defs.h [LINUXSPARC] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE):
+       New macros.
+       [SPARC64] (PERSONALITY2_WORDSIZE): New macro.
+       [X86_64] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE): New macros.
+       * syscall.c (PERSONALITY0_WORDSIZE): New macro if undefined.
+       (personality_wordsize): New variable.
+       (decode_subcall): Use it for size of argument words.
+       Fixes RH#174354.
+
+2005-11-17  Dmitry V. Levin  <ldv@altlinux.org>
+
+       Implement qual_flags support for each personality.
+       * strace.c (main): Move qualify calls after set_personality call.
+       * syscall.c (qual_flags0): New variable..
+       [SUPPORTED_PERSONALITIES >= 2] (qual_flags1): New variable.
+       [SUPPORTED_PERSONALITIES >= 3] (qual_flags2): New variable.
+       (qual_flags): Change variable definition from array to pointer.
+       (set_personality): Initialize qual_flags variable.
+       (qualify_one): Add "pers" argument to specify personality.
+       [SUPPORTED_PERSONALITIES >= 2]: Set qual_flags1 if requested.
+       [SUPPORTED_PERSONALITIES >= 3]: Set qual_flags2 if requested.
+       (qual_syscall): Pass personality to qualify_one.
+       [SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
+       table.
+       [SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
+       table.
+       (qual_signal): Pass personality to qualify_one.
+       (qual_desc): Likewise.
+       (qualify): Use qualify_one instead of manual qual_flags
+       manipulations.
+       [SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
+       table.
+       [SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
+       table.
+       * defs.h: Update qual_flags declaration.
+       Fixes RH#173986.
+
+2005-11-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * syscall.c (qual_syscall): Handle numeric syscall specification.
+       Fixes RH#174798.
+
+       * syscall.c (qual_signal, qual_options): Remove redundant argument
+       check.
+
+2005-12-01  Roland McGrath  <roland@redhat.com>
+
+       * ipc.c (indirect_ipccall) [MIPS || HPPA]: Return false.
+       Fixes Debian#340239.
+
+       * Makefile.am (EXTRA_DIST): Add linux/arm/syscallent.h
+       and linux/m68k/syscallent.h.
+       Fixes Debian#336197.
+
+       * debian/control (Architecture): Add armeb.
+       Fixes Debian#335681.
+
+2005-11-02 Michal Marek  <mmarek@suse.cz>
+
+       * strace-graph (handle_trace): follow clone() and vfork() calls.
+
+2005-10-25  Heiko Carstens  <heiko.carstens@de.ibm.com>
+
+       * linux/s390/syscallent.h: Added ioprio_set, ioprio_get,
+       inotify_init, inotify_add_watch, inotify_rm_watch.
+       Corrected number of arguments for request_key.
+       * linux/s390x/syscallent.h: Likewise.
+
+2005-12-01  Roland McGrath  <roland@redhat.com>
+
+       * ipc.c (indirect_ipccall) [IA64]: Return false unless the syscall
+       number is in the low range of IA32 syscalls.
+
+2005-10-07  Andreas Schwab  <schwab@suse.de>
+
+       * linux/ia64/syscallent.h: Syscall 1105 is gettid, not ioperm.
+
+2005-12-01  Roland McGrath  <roland@redhat.com>
+
+       * resource.c (resources): Add RLIMIT_NICE, RLIMIT_RTPRIO.
+       Reported by Scott Tsai <scottt958@yahoo.com.tw>.
+
+       * ipc.c (indirect_ipccall): New function.
+       (sys_msgctl, sys_msgsnd, sys_msgrcv, sys_semop): Use that predicate
+       instead of #ifdef LINUX test.
+       [LINUX] (sys_semtimedop): Likewise.
+       (sys_shmctl, sys_shmat, sys_shmdt): Likewise.
+       Fixes RH#164755.
+
+2005-07-31  Ulrich Drepper  <drepper@redhat.com>
+
+       * linux/x86_64/syscallent.h: Fix syscall parameter count for msgrcv and
+       msgctl.
+
+       * ipc.c (sys_msgrcv): Add entering handling and print first parameter
+       there.
+       Fixes RH#164757.
+
+2005-08-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * strace.1: Update "SEE ALSO" links to reference to valid
+       manpages.
+       Patch from Michail Litvak <mci@owl.openwall.com>.
+       Fixes RH#165375.
+
+2005-10-21  Roland McGrath  <roland@redhat.com>
+
+       * util.c (printpathn): Cap N at sizeof path - 1.
+
+2005-08-03  Roland McGrath  <roland@redhat.com>
+
+       * configure.ac, NEWS: Version 4.5.13.
+       * debian/changelog, strace.spec: 4.5.13-1.
+
+       * configure.ac: Check for struct dqblk.dqb_curblocks field.
+       * resource.c [LINUX] (OLD_CMD): New macro.
+       (quotacmds): Use it to hard-wire old O_* values, don't use macros.
+       (sys_quotactl): If dqb_curblocks is not there, it's called
+       dqb_curspace instead.  Print dqb_* fields as unsigned long long.
+
+2005-07-19  Michael Schmitz  <schmitz@debian.org>
+
+       Long overdue m68k cleanup.
+       * linux/syscallent.h: remove m68k declarations.
+       * linux/m68k/syscallent.h: new file, fixed up declarations
+       to match kernel version 2.6.11. Newer syscalls are sufficiently
+       different from i386 to merit a separate file.
+
+2005-08-03  Roland McGrath  <roland@redhat.com>
+
+       * linux/x86_64/syscallent.h: Update init_module argument count.
+       * linux/sparc/syscallent.h: Likewise.
+       * linux/sparc64/syscallent2.h: Likewise.
+       * linux/sparc64/syscallent.h: Likewise.
+       * linux/sh/syscallent.h: Likewise.
+       * linux/sh64/syscallent.h: Likewise.
+       * linux/s390/syscallent.h: Likewise.
+       * linux/s390x/syscallent.h: Likewise.
+       * linux/powerpc/syscallent.h: Likewise.
+       * linux/arm/syscallent.h: Likewise.
+
+2005-07-22  James Lentini  <jlentini@gmail.com>
+
+       * bjm.c (sys_init_module): Display all three arguments.
+       * linux/syscallent.h: Update argument count.
+
+2005-08-03  Roland McGrath  <roland@redhat.com>
+
+       * process.c (internal_wait): Don't suspend when known child is known
+       to be exiting already.
+
+       * strace.c (detach): If detaching the last live thread in a group with
+       a zombie leader, then detach the leader too.
+       (handle_group_exit): Use detach, not droptcb, for predeceased thread.
+       Mark process about to take a signal with TCB_GROUP_EXITING flag.
+       Fixes RH#161919.
+
 2005-07-19  Roland McGrath  <roland@redhat.com>
 
        * defs.h [LINUX] [M68K] (__NR_exit_group): Define it if missing.