Summary: Tracks and displays system calls associated with a running process Name: strace Version: 4.12 Release: 6%{?dist} License: BSD Group: Development/Debuggers URL: http://sourceforge.net/projects/strace/ Source: https://strace.io/files/%{version}/%{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libacl-devel, time Patch1000: strace-strict-aliasing.patch Patch1001: strace-rh948577.patch Patch1002: strace-rh851457.patch Patch1005: strace-no-net-tests.patch Patch1007: strace-no-uio-tests.patch Patch2001: strace-4.12-vhangup.patch Patch2002: strace-4.12-chown.patch Patch2003: strace-rh1377847.patch Patch3001: strace-rpmbuild-m64.patch Patch3002: strace-no-setgid-rhel6.patch Patch3003: strace-rh1449935.patch Patch3004: strace-rh1466535.patch Patch3005: strace-rh1540954-1.patch Patch3006: strace-rh1540954-2.patch # In the past we had a separate strace64 package, these days the # stndard 64 bit build provides that functionality. For tracing # 32 bit applications on ppc and s390 we still have strace32 Obsoletes: strace64 %define strace32_arches ppc s390 %description The strace program intercepts and records the system calls called and received by a running process. Strace can print a record of each system call, its arguments and its return value. Strace is useful for diagnosing problems and debugging, as well as for instructional purposes. Install strace if you need a tool to track the system calls made and received by a process. %ifarch %{strace32_arches} %package -n strace32 Summary: Tracks and displays system calls associated with a running process. Group: Development/Debuggers %description -n strace32 The strace program intercepts and records the system calls called and received by a running process. Strace can print a record of each system call, its arguments and its return value. Strace is useful for diagnosing problems and debugging, as well as for instructional purposes. Install strace if you need a tool to track the system calls made and received by a process. This package provides the `strace32' program to trace 32-bit processes on 64-bit IBM P and Z series platforms. %endif %prep %setup -q %patch1000 -p1 %patch1001 -p1 %patch1002 -p1 %patch1005 -p1 %patch1007 -p1 %patch2001 -p1 %patch2002 -p1 %patch2003 -p1 %patch3001 -p1 %patch3002 -p1 %patch3003 -p1 %patch3004 -p1 %patch3005 -p1 %patch3006 -p1 %build %configure make %{?_smp_mflags} %install rm -rf %{buildroot} make DESTDIR=%{buildroot} install # remove unpackaged files from the buildroot rm -f %{buildroot}%{_bindir}/strace-graph %define copy64 ln %if 0%{?rhel} %if 0%{?rhel} < 6 %endif %define copy64 cp -p %endif %ifarch %{strace32_arches} %{copy64} %{buildroot}%{_bindir}/strace %{buildroot}%{_bindir}/strace32 %endif %check # Temporary until we dig deeper into the failures %ifnarch s390 s390x ppc64 ppc64le make -k check %endif %clean rm -rf %{buildroot} %files %defattr(-,root,root) %doc CREDITS ChangeLog ChangeLog-CVS COPYING NEWS README %{_bindir}/strace %{_bindir}/strace-log-merge %{_mandir}/man1/* %ifarch %{strace32_arches} %files -n strace32 %defattr(-,root,root) %{_bindir}/strace32 %endif %changelog * Wed Feb 7 2018 DJ Delorie - 4.12-6 - Update membarrier constants. (#1540954) * Thu Sep 14 2017 DJ Delorie - 4.12-5 - Handle unexpected CLONE_PTRACE events. (#1466535) - Skip tests for s390/ppc64le as well as s390x/ppc64. * Fri May 12 2017 DJ Delorie - 4.12-4 - Fix typo in btrfs detection logic. (#1449935) * Thu Apr 13 2017 DJ Delorie - 4.12-3 - Remove unneeded debug stuff. (#1377847) * Mon Apr 10 2017 DJ Delorie - 4.12-2 - Adjust O_TMPFILE patch to include support even if the build-time headers don't have it. (#1377847) * Tue Feb 21 2017 DJ Delorie - 4.12-1 - Rebase to strace 4.12, which fixes... + Support BLKPG_RESIZE_PARTITION (#1329673) + Support getrandom() (#1374268) + Fix endless loop in io_submit (#1165548) - Merge upstream patches for vhangup and chown - Skip some tests on older kernels (RHEL 6) - Remove -m64 that rpm macros adds - Show mode with O_TMPFILE (#1377847) * Thu Jul 30 2015 Jeff Law 4.8-11 - Fix race which caused follow-fork option to not always work (#1235833) * Tue May 12 2015 Peter Robinson 4.8-10 - rebuild * Fri Aug 15 2014 Jeff Law 4.8-9 - Fix prototype for ptrace (#1129572) * Fri Aug 1 2014 Jeff Law 4.8-8 - update for ppc64 -- Dan Horak's patch from Fedora (#1122390) * Fri Jan 24 2014 Daniel Mach - 4.8-7 - Mass rebuild 2014-01-24 * Fri Dec 27 2013 Daniel Mach - 4.8-6 - Mass rebuild 2013-12-27 * Wed Dec 18 2013 Jeff Law 4.8-5 - Don't pass NULL pointers to strcmp when sorting by syscall name (#1044044) * Thu Oct 3 2013 Jeff Law - 4.8-4 - Build strace32 on ppc/s390 which can be installed alongside of strace on ppc64/s390x (#980229) * Wed Jul 17 2013 Jeff Law - 4.8-3 - Refetch registers in collect_stopped_tcbs (#971352) * Wed Jun 12 2013 Jeff Law - 4.8-2 - Don't dereference dropped TCP (#971352). From Jan Stancek. Merged into patch for 851457. - Disable "net" test as it is highly timing dependent Merge into patch 851457. - Bring forward patches lost after resyncing with Fedora. - Patch to avoid strict aliasing warnings - Patch to add man page for strace-log-merge (#948577) - Patch to improve scheduling fairness (#851457) * Mon Jun 03 2013 Dmitry V. Levin - 4.8-1 - New upstream release: + fixed ERESTARTNOINTR leaking to userspace on ancient kernels (#659382); + fixed decoding of *xattr syscalls (#885233); + fixed handling of files with 64-bit inode numbers by 32-bit strace (#912790); + added aarch64 support (#969858). * Fri Feb 15 2013 Fedora Release Engineering - 4.7-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sat Jul 21 2012 Fedora Release Engineering - 4.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed May 02 2012 Dmitry V. Levin 4.7-1 - New upstream release. + implemented proper handling of real SIGTRAPs (#162774). * Sat Jan 14 2012 Fedora Release Engineering - 4.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Mon Mar 14 2011 Dmitry V. Levin - 4.6-1 - New upstream release. + fixed a corner case in waitpid handling (#663547). * Wed Feb 09 2011 Fedora Release Engineering - 4.5.20-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Tue Apr 13 2010 Roland McGrath - 4.5.20-1 - New upstream release, work mostly by Andreas Schwab and Dmitry V. Levin. + fixed potential stack buffer overflow in select decoder (#556678); + fixed FTBFS (#539044). * Wed Oct 21 2009 Roland McGrath - 4.5.19-1 - New upstream release, work mostly by Dmitry V. Levin + exit/kill strace with traced process exitcode/signal (#105371); + fixed build on ARM EABI (#507576); + fixed display of 32-bit argv array on 64-bit architectures (#519480); + fixed display of 32-bit fcntl(F_SETLK) on 64-bit architectures (#471169); + fixed several bugs in strings decoder, including potential heap memory corruption (#470529, #478324, #511035). * Thu Aug 28 2008 Roland McGrath - 4.5.18-1 - build fix for newer kernel headers (#457291) - fix CLONE_VFORK handling (#455078) - Support new Linux/PPC system call subpage_prot and PROT_SAO flag. - In sigaction system call, display sa_flags value along with SIG_DFL/SIG_IGN. * Mon Jul 21 2008 Roland McGrath - 4.5.17-1 - handle O_CLOEXEC, MSG_CMSG_CLOEXEC (#365781) - fix biarch stat64 decoding (#222275) - fix spurious "..." in printing of environment strings (#358241) - improve prctl decoding (#364401) - fix hang wait on exited child with exited child (#354261) - fix biarch fork/vfork (-f) tracing (#447475) - fix biarch printing of negative argument kill (#430585) - fix biarch decoding of error return values (#447587) - fix -f tracing of CLONE_VFORK (#455078) - fix ia64 register clobberation in -f tracing (#453438) - print SO_NODEFER, SA_RESETHAND instead of SA_NOMASK, SA_ONESHOT (#455821) - fix futex argument decoding (#448628, #448629) * Fri Aug 3 2007 Roland McGrath - 4.5.16-1 - fix multithread issues (#240962, #240961, #247907) - fix spurious SIGSTOP on early interrupt (#240986) - fix utime for biarch (#247185) - fix -u error message (#247170) - better futex syscall printing (##241467) - fix argv/envp printing with small -s settings, and for biarch - new syscalls: getcpu, eventfd, timerfd, signalfd, epoll_pwait, move_pages, utimensat * Tue Jan 16 2007 Roland McGrath - 4.5.15-1 - biarch fixes (#179740, #192193, #171626, #173050, #218433, #218043) - fix -ff -o behavior (#204950, #218435, #193808, #219423) - better quotactl printing (#118696) - *at, inotify*, pselect6, ppoll and unshare syscalls (#178633, #191275) - glibc-2.5 build fixes (#209856) - memory corruption fixes (#200621 - fix race in child setup under -f (#180293) - show ipc key values in hex (#198179, #192182) - disallow -c with -ff (#187847) - Resolves: RHBZ #179740, RHBZ #192193, RHBZ #204950, RHBZ #218435 - Resolves: RHBZ #193808, RHBZ #219423, RHBZ #171626, RHBZ #173050 - Resolves: RHBZ #218433, RHBZ #218043, RHBZ #118696, RHBZ #178633 - Resolves: RHBZ #191275, RHBZ #209856, RHBZ #200621, RHBZ #180293 - Resolves: RHBZ #198179, RHBZ #198182, RHBZ #187847 * Mon Nov 20 2006 Jakub Jelinek - 4.5.14-4 - Fix ia64 syscall decoding (#206768) - Fix build with glibc-2.4.90-33 and up on all arches but ia64 - Fix build against 2.6.18+ headers * Tue Aug 22 2006 Roland McGrath - 4.5.14-3 - Fix bogus decoding of syscalls >= 300 (#201462, #202620). * Fri Jul 14 2006 Jesse Keating - 4.5.14-2 - rebuild * Fri Feb 10 2006 Jesse Keating - 4.5.14-1.2 - bump again for long double bug on ppc{,64} * Tue Feb 07 2006 Jesse Keating - 4.5.14-1.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Mon Jan 16 2006 Roland McGrath - 4.5.14-1 - Fix biarch decoding of socket syscalls (#174354). - Fix biarch -e support (#173986). - Accept numeric syscalls in -e (#174798). - Fix ipc syscall decoding (#164755). - Improve msgrcv printing (#164757). - Man page updates (#165375). - Improve mount syscall printing (#165377). - Correct printing of restarting syscalls (#165469). * Wed Aug 3 2005 Roland McGrath - 4.5.13-1 - Fix setsockopt decoding on 64-bit (#162449). - Fix typos in socket option name strings (#161578). - Display more IPV6 socket options by name (#162450). - Don't display inappropriate syscalls for -e trace=file (#159340). - New selector type -e trace=desc for file-descriptor using calls (#159400). - Fix 32-bit old_mmap syscall decoding on x86-64 (#162467, #164215). - Fix errors detaching from multithreaded process on interrupt (#161919). - Note 4.5.12 fix for crash handling bad signal numbers (#162739). * Wed Jun 8 2005 Roland McGrath - 4.5.12-1 - Fix known syscall recognition for IA32 processes on x86-64 (#158934). - Fix bad output for ptrace on x86-64 (#159787). - Fix potential buffer overruns (#151570, #159196). - Make some diagnostics more consistent (#159308). - Update PowerPC system calls. - Better printing for Linux aio system calls. - Don't truncate statfs64 fields to 32 bits in output (#158243). - Cosmetic code cleanups (#159688). * Tue Mar 22 2005 Roland McGrath - 4.5.11-1 - Build tweaks. - Note 4.5.10 select fix (#151570). * Mon Mar 14 2005 Roland McGrath - 4.5.10-1 - Fix select handling on nonstandard fd_set sizes. - Don't print errors for null file name pointers. - Fix initial execve output with -i (#143365). * Fri Feb 4 2005 Roland McGrath - 4.5.9-2 - update ia64 syscall list (#146245) - fix x86_64 syscall argument extraction for 32-bit processes (#146093) - fix -e signal=NAME parsing (#143362) - fix x86_64 exit_group syscall handling - improve socket ioctl printing (#138223) - code cleanups (#143369, #143370) - improve mount flags printing (#141932) - support symbolic printing of x86_64 arch_prctl parameters (#142667) - fix potential crash in getxattr printing * Tue Oct 19 2004 Roland McGrath - 4.5.8-1 - fix multithreaded exit handling (#132150, #135254) - fix ioctl name matching (#129808) - print RTC_* ioctl structure contents (#58606) - grok epoll_* syscalls (#134463) - grok new RLIMIT_* values (#133594) - print struct cmsghdr contents for sendmsg (#131689) - fix clock_* and timer_* argument output (#131420) * Tue Aug 31 2004 Roland McGrath - 4.5.7-2 - new upstream version, misc fixes and updates (#128091, #129166, #128391, #129378, #130965, #131177) * Mon Jul 12 2004 Roland McGrath 4.5.6-1 - new upstream version, updates ioctl lists (#127398), fixes quotactl (#127393), more ioctl decoding (#126917) * Sun Jun 27 2004 Roland McGrath 4.5.5-1 - new upstream version, fixes x86-64 biarch support (#126547) * Tue Jun 15 2004 Elliot Lee 4.5.4-2 - rebuilt * Thu Jun 3 2004 Roland McGrath 4.5.4-0.FC1 - rebuilt for FC1 update * Thu Jun 3 2004 Roland McGrath 4.5.4-1 - new upstream version, more ioctls (#122257), minor fixes * Fri Apr 16 2004 Roland McGrath 4.5.3-1 - new upstream version, mq_* calls (#120701), -p vs NPTL (#120462), more fixes (#118694, #120541, #118685) * Tue Mar 02 2004 Elliot Lee 4.5.2-1.1 - rebuilt * Mon Mar 1 2004 Roland McGrath 4.5.2-1 - new upstream version, sched_* calls (#116990), show core flag (#112117) * Fri Feb 13 2004 Elliot Lee - rebuilt * Thu Nov 13 2003 Roland McGrath 4.5.1-1 - new upstream version, more fixes (#108012, #105366, #105359, #105358) * Tue Sep 30 2003 Roland McGrath 4.5-3 - revert bogus s390 fix * Thu Sep 25 2003 Roland McGrath 4.5-1.2.1AS - rebuilt for 2.1AS erratum * Wed Sep 24 2003 Roland McGrath 4.5-2 - rebuilt * Wed Sep 24 2003 Roland McGrath 4.5-1 - new upstream version, more fixes (#101499, #104365) * Thu Jul 17 2003 Roland McGrath 4.4.99-2 - rebuilt * Thu Jul 17 2003 Roland McGrath 4.4.99-1 - new upstream version, groks more new system calls, PF_INET6 sockets * Tue Jun 10 2003 Roland McGrath 4.4.98-1 - new upstream version, more fixes (#90754, #91085) * Wed Jun 04 2003 Elliot Lee - rebuilt * Sun Mar 30 2003 Roland McGrath 4.4.96-1 - new upstream version, handles yet more 2.5 syscalls, x86_64 & ia64 fixes * Mon Feb 24 2003 Elliot Lee 4.4.95-2 - rebuilt * Mon Feb 24 2003 Roland McGrath 4.4.95-1 - new upstream version, fixed getresuid/getresgid (#84959) * Wed Feb 19 2003 Roland McGrath 4.4.94-1 - new upstream version, new option -E to set environment variables (#82392) * Wed Jan 22 2003 Tim Powers 4.4.93-2 - rebuilt * Tue Jan 21 2003 Roland McGrath 4.4.93-1 - new upstream version, fixes ppc and s390 bugs, adds missing ptrace requests * Fri Jan 10 2003 Roland McGrath 4.4.91-1 - new upstream version, fixes -f on x86-64 * Fri Jan 10 2003 Roland McGrath 4.4.90-1 - new upstream version, fixes all known bugs modulo ia64 and s390 issues * Fri Jan 03 2003 Florian La Roche 4.4-11 - add further s390 patch from IBM * Wed Nov 27 2002 Tim Powers 4.4-10 - remove unpackaged files from the buildroot * Mon Oct 07 2002 Phil Knirsch 4.4-9.1 - Added latest s390(x) patch. * Fri Sep 06 2002 Karsten Hopp 4.4-9 - preliminary x86_64 support with an ugly patch to help debugging. Needs cleanup! * Mon Sep 2 2002 Jakub Jelinek 4.4-8 - newer version of the clone fixing patch (Roland McGrath) - aio syscalls for i386/ia64/ppc (Ben LaHaise) * Wed Aug 28 2002 Jakub Jelinek 4.4-7 - fix strace -f (Roland McGrath, #68994) - handle ?et_thread_area, SA_RESTORER (Ulrich Drepper) * Fri Jun 21 2002 Jakub Jelinek 4.4-6 - handle futexes, *xattr, sendfile64, etc. (Ulrich Drepper) - handle modify_ldt (#66894) * Thu May 23 2002 Tim Powers - automated rebuild * Tue Apr 16 2002 Jakub Jelinek 4.4-4 - fix for the last patch by Jeff Law (#62591) * Mon Mar 4 2002 Preston Brown 4.4-3 - integrate patch from Jeff Law to eliminate hang tracing threads * Sat Feb 23 2002 Florian La Roche - minor update from debian tar-ball * Wed Jan 02 2002 Florian La Roche - update to 4.4 * Sun Jul 22 2001 Florian La Roche - disable s390 patches, they are already included * Wed Jul 18 2001 Preston Brown 4.3-1 - new upstream version. Seems to have integrated most new syscalls - tracing threaded programs is now functional. * Mon Jun 11 2001 Than Ngo - port s390 patches from IBM * Wed May 16 2001 Nalin Dahyabhai - modify new syscall patch to allocate enough heap space in setgroups32() * Wed Feb 14 2001 Jakub Jelinek - #include in addition to * Fri Jan 26 2001 Karsten Hopp - clean up conflicting patches. This happened only when building on S390 * Fri Jan 19 2001 Bill Nottingham - update to CVS, reintegrate ia64 support * Fri Dec 8 2000 Bernhard Rosenkraenzer - Get S/390 support into the normal package * Sat Nov 18 2000 Florian La Roche - added S/390 patch from IBM, adapting it to not conflict with IA64 patch * Sat Aug 19 2000 Jakub Jelinek - doh, actually apply the 2.4 syscalls patch - make it compile with 2.4.0-test7-pre4+ headers, add getdents64 and fcntl64 * Thu Aug 3 2000 Jakub Jelinek - add a bunch of new 2.4 syscalls (#14036) * Wed Jul 12 2000 Prospector - automatic rebuild - excludearch ia64 * Fri Jun 2 2000 Matt Wilson - use buildinstall for FHS * Wed May 24 2000 Jakub Jelinek - make things compile on sparc - fix sigreturn on sparc * Fri Mar 31 2000 Bill Nottingham - fix stat64 misdef (#10485) * Tue Mar 21 2000 Michael K. Johnson - added ia64 patch * Thu Feb 03 2000 Cristian Gafton - man pages are compressed - version 4.2 (why are we keeping all these patches around?) * Sat Nov 27 1999 Jeff Johnson - update to 4.1 (with sparc socketcall patch). * Fri Nov 12 1999 Jakub Jelinek - fix socketcall on sparc. * Thu Sep 02 1999 Cristian Gafton - fix KERN_SECURELVL compile problem * Tue Aug 31 1999 Cristian Gafton - added alpha patch from HJLu to fix the osf_sigprocmask interpretation * Sat Jun 12 1999 Jeff Johnson - update to 3.99.1. * Wed Jun 2 1999 Jeff Johnson - add (the other :-) jj's sparc patch. * Wed May 26 1999 Jeff Johnson - upgrade to 3.99 in order to - add new 2.2.x open flags (#2955). - add new 2.2.x syscalls (#2866). - strace 3.1 patches carried along for now. * Sun May 16 1999 Jeff Johnson - don't rely on (broken!) rpm %%patch (#2735) * Tue Apr 06 1999 Preston Brown - strip binary * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 16) * Tue Feb 9 1999 Jeff Johnson - vfork est arrive! * Tue Feb 9 1999 Christopher Blizzard - Add patch to follow clone() syscalls, too. * Sun Jan 17 1999 Jeff Johnson - patch to build alpha/sparc with glibc 2.1. * Thu Dec 03 1998 Cristian Gafton - patch to build on ARM * Wed Sep 30 1998 Jeff Johnson - fix typo (printf, not tprintf). * Sat Sep 19 1998 Jeff Johnson - fix compile problem on sparc. * Tue Aug 18 1998 Cristian Gafton - buildroot * Mon Jul 20 1998 Cristian Gafton - added the umoven patch from James Youngman - fixed build problems on newer glibc releases * Mon Jun 08 1998 Prospector System - translations modified for de, fr, tr