X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=ChangeLog;h=582599f7824b148e157c38c8ac85fe4b6bd993b8;hb=4ebb4e3d312bb8215f4eea9130cce6bb8bdb972f;hp=2918de398d9156641d914688237d2a89e5a3fabb;hpb=30afb79ee2764d28ed4bc77e3b878b650ea0a92f;p=strace diff --git a/ChangeLog b/ChangeLog index 2918de39..582599f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,403 @@ +2006-12-10 Dmitry V. Levin + + 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 + + * 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 + + * 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 + + 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 + + * configure.ac(AC_CHECK_HEADERS): Add inttypes.h. + * file.c [_LFS64_LARGEFILE && (LINUX || SVR4)]: + Include . + (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 + Bernhard Kaindl + Dmitry V. Levin + Michael Holzheu + + 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 + + * 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 + + * file.c (print_xattr_val): Fix memory corruption bug reported + by James Antill. + Fixes RH#200621. + +2006-04-21 Dmitry V. Levin + + * defs.h [LINUX && X86_64 && !__NR_exit_group]: Define + __NR_exit_group. + +2006-03-29 Dmitry V. Levin + + 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 + + * 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#201462. + +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. + * debian/changelog, strace.spec: 4.5.14-1. + +2006-01-13 Roland McGrath + + * debian/control (Build-Depends): Add debhelper. + +2006-01-12 Roland McGrath + + * 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 + + * 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 + + * system.c (sys_sysctl): Don't read off end of NAME when max_strlen + exceeds INFO.nlen. + From Timo Lindfors . + 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 + + 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 + + * 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 + + * 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 + + * strace-graph (handle_trace): follow clone() and vfork() calls. + +2005-10-25 Heiko Carstens + + * 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 + + * ipc.c (indirect_ipccall) [IA64]: Return false unless the syscall + number is in the low range of IA32 syscalls. + +2005-10-07 Andreas Schwab + + * linux/ia64/syscallent.h: Syscall 1105 is gettid, not ioperm. + +2005-12-01 Roland McGrath + + * resource.c (resources): Add RLIMIT_NICE, RLIMIT_RTPRIO. + Reported by Scott Tsai . + + * 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 + + * 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 + + * strace.1: Update "SEE ALSO" links to reference to valid + manpages. + Patch from Michail Litvak . + Fixes RH#165375. + +2005-10-21 Roland McGrath + + * util.c (printpathn): Cap N at sizeof path - 1. + +2005-08-03 Roland McGrath + + * 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 + + 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 + + * 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 + + * bjm.c (sys_init_module): Display all three arguments. + * linux/syscallent.h: Update argument count. + +2005-08-03 Roland McGrath + + * 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 * defs.h [LINUX] [M68K] (__NR_exit_group): Define it if missing.