]> granicus.if.org Git - strace/blobdiff - ChangeLog
2006-12-10 Dmitry V. Levin <ldv@altlinux.org>
[strace] / ChangeLog
index cd7bfb6e778f4ba886e8234ae3767dded8546f09..582599f7824b148e157c38c8ac85fe4b6bd993b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,756 @@
+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.
+       Fixes Debian#315500.
+
+2005-07-14  Heiko Carstens  <heiko.carstens@de.ibm.com>
+
+       * linux/s390/syscallent.h (sys_tgkill, vserver, fadvise64_64)
+       (statfs64, fstatfs64, remap_file_pages, mbind, get_mempolicy)
+       (set_mempolicy, mq_open, mq_unlink, mq_timedsend, mq_timedreceive)
+       (mq_notify, mq_getsetattr, sys_kexec_load, add_key, request_key)
+       (keyctl, waitid): Added.
+       * linux/s390x/syscallent.h: Likewise and added missing _llseek.
+       * linux/s390/errnoent.h (ECANCELED, ENOKEY, EKEYEXPIRED)
+       (EKEYREVOKED, EKEYREJECTED, EOWNERDEAD, ENOTRECOVERABLE): Added.
+       * linux/s390x/errnoent.h: Likewise.
+
+2005-07-05  Roland McGrath  <roland@redhat.com>
+
+       * mem.c [LINUX] (sys_old_mmap) [X86_64]: Extract 32-bit values if
+       child is 32-bit.
+       Fixes RH#162467.
+
+2005-06-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+       Introduce "-e trace=desc".
+       * defs.h (TRACE_DESC): New flag.
+       * syscall.c: Define TD macro before include of syscallent files
+       and undefine it afterwards.
+       (lookup_class): Recognize "desc" keyword.
+       * strace.1: Document "-e trace=desc".
+       * freebsd/i386/syscallent.h: Mark those syscalls which take a
+       file descriptor as an argument or return a file descriptor with
+       TD flag.
+       * 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/sh/syscallent.h: Likewise.
+       * linux/sh64/syscallent.h: Likewise.
+       * linux/sparc/syscallent.h: Likewise.
+       * linux/sparc64/syscallent2.h: Likewise.
+       * linux/sparc64/syscallent.h: Likewise.
+       * linux/syscallent.h: Likewise.
+       * linux/x86_64/syscallent.h: Likewise.
+       * sunos4/syscallent.h: Likewise.
+       * svr4/syscallent.h: Likewise.
+       Fixes RH#159400.
+
+       Remove TF flag from those syscalls which have no filename argument.
+       * freebsd/i386/syscallent.h: Remove TF flag from fstat, pread,
+       pwrite, fstat, sendfile.
+       * linux/alpha/syscallent.h: Remove TF flag from read, write,
+       pread, pwrite, sendfile.
+       * linux/hppa/syscallent.h: Remove TF flag from read, write,
+       pread, pwrite, fstat64, sendfile, ftruncate64.
+       * linux/ia64/syscallent.h: Remove TF flag from read, write,
+       sendfile, fstat, fadvise64.
+       * linux/mips/syscallent.h: Remove TF flag from read, write,
+       fstatfs, fstat, pread, pwrite, sendfile, ftruncate64, fstat64,
+       sendfile64, fadvise64, fstatfs64.
+       * linux/powerpc/syscallent.h: Remove TF flag from read, write,
+       fstat, pread, pwrite, sendfile, ftruncate64, fstat64, sendfile64,
+       fadvise64, fstatfs64, fadvise64_64.
+       * linux/s390/syscallent.h: Remove TF flag from pread, pwrite,
+       sendfile, ftruncate64, fstat64, sendfile64.
+       * linux/s390x/syscallent.h: Remove TF flag from pread, pwrite,
+       sendfile, sendfile64.
+       * linux/sh/syscallent.h: Remove TF flag from pread, pwrite,
+       sendfile, fstat64.
+       * linux/sh64/syscallent.h: Remove TF flag from pread, pwrite,
+       sendfile, ftruncate64, fstat64.
+       * linux/sparc/syscallent.h: Remove TF flag from sendfile, fstat64,
+       pread, pwrite, sendfile64.
+       * linux/sparc64/syscallent2.h: Likewise.
+       * linux/sparc64/syscallent.h: Likewise.
+       * linux/syscallent.h: Remove TF flag from pread, pwrite, sendfile,
+       ftruncate64, fstat64, sendfile64, fadvise64, fadvise64, fstatfs64,
+       fadvise64_64.
+       * linux/x86_64/syscallent.h: Remove TF flag from pread, pwrite,
+       sendfile, fadvise64_64.
+       * svr4/syscallent.h: Remove TF flag from pread, pwrite, ftruncate,
+       fstatvfs64, ftruncate64.
+       Fixes RH#159340.
+
+2005-07-04  Roland McGrath  <roland@redhat.com>
+
+       * net.c (sockipv6options): Add IPV6_ADD_MEMBERSHIP,
+       IPV6_DROP_MEMBERSHIP, IPV6_ROUTER_ALERT.
+       From Ulrich Drepper <drepper@redhat.com>.
+       Fixes RH#162450.
+
+       * net.c (sockipoptions): Fix typos.
+       From Ulrich Drepper <drepper@redhat.com>.
+       Fixes RH#161578.
+
+       * util.c (printnum_int): New function, printnum with s/long/int/.
+       * defs.h: Declare it.
+       * net.c (printsockopt): Use it for int-sized option.
+       Fixes RH#162449.
+       Reported by Ulrich Drepper <drepper@redhat.com>.
+
+2005-06-09  Roland McGrath  <roland@redhat.com>
+
+       * configure.ac, NEWS: Version 4.5.12.
+       * debian/changelog, strace.spec: 4.5.12-1.
+
+2005-06-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+       Minor namespace cleanup.
+       * defs.h (string_quote): Remove declaration.
+       * file.c (openmodessol) [LINUXSPARC]: Make static.
+       (fileflags): Likewise.
+       (aclcmds, aclipc) [HAVE_SYS_ACL_H]: Likewise.
+       (direnttypes) [FREEBSD || LINUX]: Likewise.
+       (xattrflags): Likewise.
+       * process.c (unalignctl_string): Make static.
+       (setarg): Disable.
+       * syscall.c (subcalls_table): Make static.
+       (socket_map) [!(LINUX && (ALPHA || MIPS))]: Likewise.
+       (sparc_socket_decode): Make static, define for [SPARC || SPARC64] only.
+       (decode_subcall): Make static.
+       (syscall_fixup): Likewise.
+       (get_error): Likewise.
+       (syscall_enter): Likewise.
+       * util.c (tv_tv): Disable.
+       (getpc): Likewise.
+       (string_quote): Make static.
+       Fixes RH#159688.
+
+2005-05-12  Philippe De Muyter  <phdm@macqel.be>
+
+       * util.c (getpc, printcall): Check #if defined(M68K), not M68k.
+       Enables `-i' on m68k machines.
+
+2005-06-06  Roland McGrath  <roland@redhat.com>
+
+       * process.c (struct_user_offsets) [X86_64]: Reorder elements so
+       matching works right.
+       Fixes RH#159787.
+
+       * linux/syscall.h (SYS_socket, SYS_bind, SYS_connect, SYS_listen)
+       (SYS_accept, SYS_getsockname, SYS_getpeername, SYS_socketpair)
+       (SYS_send, SYS_recv, SYS_sendto, SYS_recvfrom, SYS_shutdown)
+       (SYS_setsockopt, SYS_getsockopt, SYS_sendmsg, SYS_recvmsg)
+       (SYS_getsockname, SYS_semop, SYS_semgsub_et, SYS_semget, SYS_semctl)
+       (SYS_semtimedop, SYS_msgsnd, SYS_msgrcv, SYS_msgget)
+       (SYS_msgctl, SYS_shmat, SYS_shmdt, SYS_shmget)
+       (SYS_shmctl): Macros renamed to SYS_sub_*.
+       * syscall.c (dumpio): Match SYS_sub_* if defined instead of SYS_*.
+
+       * linux/syscall.h (SYS_waitid): Define if not defined.
+
+       * linux/syscallent.h: Fix pread/pwrite names to pread64/pwrite64.
+
+       * defs.h (struct sysent): New member `native_scno'.
+       (known_scno): Declare new function.
+       * linux/syscallent.h: Add new final field to interesting syscalls.
+       * syscall.c (known_scno): New function.
+       (dumpio, internal_syscall, syscall_fixup, trace_syscall): Use it.
+       * process.c (internal_fork, internal_exit): Likewise.
+       [IA64] (ARG_STACKSIZE, ARG_PTID, ARG_CTID, ARG_TLS): Likewise.
+       * strace.c (proc_open): Likewise.
+       * util.c [LINUX] (setbpt): Likewise.
+       * linux/syscall.h: Remove [!defined(X86_64)] from conditional
+       for defining SYS_socket_subcall et al.
+       * linux/syscallent.h: Likewise for #error check.
+       * syscall.c (trace_syscall): Likewise for SYS_{socketcall,ipc} cases.
+       Fixes RH#158934.
+
+2005-06-02  Roland McGrath  <roland@redhat.com>
+
+       * file.c (printstatfs64): Cast values to unsigned long long and use
+       %llu formats.
+       Fixes RH#158243.
+
+2005-05-31  Dmitry V. Levin  <ldv@altlinux.org>
+
+       Deal with memory management issues.
+       * defs.h (tprint_iov): Update prototype.
+       * desc.c (sys_epoll_wait) [HAVE_SYS_EPOLL_H]: Do not allocate
+       epoll_event array of arbitrary size on the stack, to avoid
+       stack overflow.
+       * file.c (print_xattr_val): Check for integer overflow during
+       malloc size calculation, to avoid heap corruption.
+       * io.c (tprint_iov) [HAVE_SYS_UIO_H]: Check for integer overflow
+       during malloc size calculation, to avoid heap corruption.
+       Change iovec array handling to avoid heap memory allocation.
+       * mem.c (get_nodes) [LINUX]: Check for integer overflow during
+       size calculation and do not allocate array of arbitrary size on
+       the stack, to avoid stack overflow.
+       * net.c (printcmsghdr) [HAVE_SENDMSG]: Do not allocate array of
+       arbitrary size on the stack, to avoid stack overflow.  Do not
+       trust cmsg.cmsg_len to avoid read beyond the end of allocated
+       object.
+       (printmsghdr) [HAVE_SENDMSG]: Update tprint_iov() usage.
+       * process.c (sys_setgroups): Check for integer overflow during
+       malloc size calculation, to avoid heap corruption.  Change gid_t
+       array handling to avoid heap memory allocation.
+       (sys_getgroups): Likewise.
+       (sys_setgroups32) [LINUX]: Likewise.
+       (sys_getgroups32) [LINUX]: Likewise.
+       * stream.c (sys_poll) [HAVE_SYS_POLL_H]: Check for integer
+       overflow during malloc size calculation, to avoid heap corruption.
+       Change pollfd array handling to avoid heap memory allocation.
+       * system.c (sys_sysctl) [LINUX]: Check for integer overflow
+       during malloc size calculation, to avoid heap corruption.
+       * util.c (dumpiov) [HAVE_SYS_UIO_H]: Check for integer overflow
+       during malloc size calculation, to avoid heap corruption.
+       Fixes RH#159196.
+
+       * util.c (printxval): Change third argument from "char *" to
+       "const char *".
+       (printflags): Add third argument, "const char *", with similar
+       meaning to the third argument of printxval().
+       * defs.h (printxval): Change third argument from "char *" to
+       "const char *".
+       (printflags): Add third argument.
+       * bjm.c (sys_query_module) [LINUX]: Pass third argument to
+       printflags().
+       * desc.c (sys_fcntl): Likewise.
+       (sys_flock) [LOCK_SH]: Likewise.
+       (print_epoll_event) [HAVE_SYS_EPOLL_H]: Likewise.
+       * file.c (sys_open): Likewise.
+       (solaris_open) [LINUXSPARC]: Likewise.
+       (sys_access): Likewise.
+       (sys_chflags, sys_fchflags) [FREEBSD]: Likewise.
+       (realprintstat) [HAVE_LONG_LONG_OFF_T &&
+       HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
+       (printstat64) [HAVE_STAT64 &&
+       HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
+       (sys_setxattr, sys_fsetxattr): Likewise.
+       * ipc.c (sys_msgget, sys_msgsnd, sys_msgrcv, sys_semget,
+       sys_shmget, sys_shmat) [LINUX || SUNOS4 || FREEBSD]: Likewise.
+       (sys_mq_open) [LINUX]: Likewise.
+       (printmqattr) [HAVE_MQUEUE_H]: Likewise.
+       * mem.c (print_mmap) [!HAVE_LONG_LONG_OFF_T]: Likewise.
+       (sys_mmap64) [_LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T]: Likewise.
+       (sys_mprotect): Likewise.
+       (sys_mremap, sys_madvise, sys_mlockall) [LINUX]: Likewise.
+       (sys_msync) [MS_ASYNC]: Likewise.
+       (sys_mctl) [MC_SYNC]: Likewise.
+       (sys_remap_file_pages, sys_mbind, sys_get_mempolicy) [LINUX]:
+       Likewise.
+       * net.c (printmsghdr) [HAVE_STRUCT_MSGHDR_MSG_CONTROL]: Likewise.
+       (sys_send, sys_sendto): Likewise.
+       (sys_sendmsg) [HAVE_SENDMSG]: Likewise.
+       (sys_recv, sys_recvfrom): Likewise.
+       (sys_recvmsg) [HAVE_SENDMSG]: Likewise.
+       (printicmpfilter) [ICMP_FILTER]: Likewise.
+       * proc.c (proc_ioctl) [SVR4 && !HAVE_MP_PROCFS || FREEBSD]: Likewise.
+       * process.c (sys_clone) [LINUX]: Likewise.
+       (printwaitn): Likewise.
+       (sys_waitid) [SVR4 || LINUX]: Likewise.
+       * signal.c (sys_sigvec) [SUNOS4 || FREEBSD]: Likewise.
+       (sys_sigaction): Likewise.
+       (printcontext) [SVR4]: Likewise.
+       (print_stack_t) [LINUX) || FREEBSD]: Likewise.
+       (sys_rt_sigaction) [LINUX]: Likewise.
+       * sock.c (sock_ioctl) [LINUX]: Likewise.
+       * stream.c (sys_putmsg, sys_getmsg): Likewise.
+       (sys_putpmsg) [SYS_putpmsg]: Likewise.
+       (sys_getpmsg) [SYS_getpmsg]: Likewise.
+       (sys_poll): Likewise.
+       (print_transport_message) [TI_BIND]: Likewise.
+       (stream_ioctl): Likewise.
+       * system.c (sys_mount, sys_reboot): Likewise.
+       (sys_cacheflush) [LINUX && M68K]: Likewise.
+       (sys_capget, sys_capset) [SYS_capget]: Likewise.
+       * term.c (term_ioctl) [TIOCMGET]: Likewise.
+       * time.c (sys_clock_nanosleep, sys_timer_settime) [LINUX]:
+       Likewise.
+       Fixes RH#159310.
+
+       * bjm.c (sys_query_module) [LINUX]: Unitize "out of memory"
+       errors reporting style.
+       * strace.c (rebuild_pollv) [USE_PROCFS]: Likewise.
+       * system.c (sys_capget, sys_capset) [SYS_capget]: Likewise.
+       * util.c (printstr): Likewise.
+       (dumpiov) [HAVE_SYS_UIO_H]: Likewise.
+       (fixvfork) [SUNOS4]: Likewise.
+       * desc.c (decode_select): Continue to decode syscall arguments
+       in case of OOM condition.
+       * file.c (sys_getdents): Likewise.
+       (sys_getdents64) [_LFS64_LARGEFILE]: Likewise.
+       (sys_getdirentries) [FREEBSD]: Likewise.
+       * mem.c (sys_mincore): Changed type of variables which deal with
+       malloc size from int to unsigned long.
+       Fixes RH#159308.
+
+2005-05-22  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * bjm.c [LINUX]: Do not include <linux/linkage.h>.  It is not
+       safe to include kernel headers, and this one is not used anyway.
+       Fixes RH#158488.
+
+2005-05-26  Roland McGrath  <roland@redhat.com>
+
+       * system.c (sys_sysctl): Check for errors accessing user pointers.
+       Use malloc instead of alloca in case size is insane.
+
+2005-05-09  Roland McGrath  <roland@redhat.com>
+
+       * configure.ac: Check for libaio.h.
+       * desc.c (sys_io_setup, sys_io_submit, sys_io_cancel,
+       sys_io_getevents, sys_io_destroy): New functions.
+       * linux/syscall.h: Declare them.
+       * linux/syscallent.h: Use those for io_* 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/x86_64/syscallent.h: Likewise.
+       From Zach Brown <zach.brown@oracle.com>.
+       Fixes RH#155065.
+
+       * debian/control (Architecture): Add ppc64.
+       Fixes Debian bug #301089.
+
+2005-05-05  Anton Blanchard  <anton@samba.org>
+
+       * process.c (ptrace_cmds): Add PTRACE_GETVRREGS and PTRACE_SETVRREGS
+       if defined.
+
+2005-05-09  Roland McGrath  <roland@redhat.com>
+
+       * strace.c (main): Refuse negative -s argument value.
+       Fixes Debian bug #303256.
+
+2005-04-25  Anton Blanchard  <anton@samba.org>
+
+       * file.c (openmodes): Add O_NOATIME flag if defined.
+
+2005-04-05  Anton Blanchard  <anton@samba.org>
+
+       * linux/powerpc/ioctlent.h: Regenerated.
+
+       * signal.c (signame): Don't try and dereference negative index.
+
+       * linux/powerpc/syscallent.h: Add debug_setcontext, vserver,
+       mbind, *_mempolicy, mq_*, sys_kexec_load, add_key, request_key,
+       keyctl, waitid, sys_semtimedop.  Fix various other syscalls.
+
+       * ipc.c (shm_resource_flags): New variable, table has SHM_HUGETLB
+       but not IPC_NOWAIT, which have the same value.
+       (sys_shmget): Use that instead of resource_flags.
+
 2005-03-22  Roland McGrath  <roland@redhat.com>
 
        * desc.c (decode_select): Increase local buffer size.