Summary: Tracks runtime library calls from dynamically linked executables. Name: ltrace Version: 0.5 Release: 13.45svn%{?dist}.12 Source: ltrace-0.5.tar.gz Patch0: ltrace-0.4-exec.patch Patch1: ltrace-0.4-fork.patch Patch2: ltrace-0.5-opd.patch Patch3: ltrace-ppc32fc5.patch Patch4: ltrace-0.5-gnuhash.patch Patch5: ltrace-0.5-testsuite.patch Patch6: ltrace-0.5-ppc-symval.patch Patch7: ltrace-0.5-a2bp.patch Patch8: ltrace-0.5-attach.patch Patch9: ltrace-0.5-fork.patch Patch10: ltrace-0.5-exec.patch Patch11: ltrace-0.5-exec-tests.patch Patch12: ltrace-0.5-man.patch Patch15: ltrace-0.5-o.patch Patch16: ltrace-0.5-s390-args.patch Patch17: ltrace-0.5-fork-earlychild.patch Patch18: ltrace-0.5-s390-31-on-64.patch Patch19: ltrace-0.5-fork-ppc64.patch # Patchset for multi-threaded tracing # https://bugzilla.redhat.com/show_bug.cgi?id=526007 Patch20: ltrace-0.5-clone_support.patch Patch21: ltrace-0.5-0002-Fix-wrong-memory-initialization.patch Patch22: ltrace-0.5-0003-Plug-a-leak-in-breakpoints_init.patch Patch23: ltrace-0.5-0004-Coding-style-nits.patch Patch24: ltrace-0.5-0005-char-char-const-one-argument-of-output_left.patch Patch25: ltrace-0.5-0006-Drop-field-type_being_displayed.patch Patch26: ltrace-0.5-0007-Streamline-interfaces-execute_program-open_program.patch Patch27: ltrace-0.5-0008-common.h-include-config.h.patch Patch28: ltrace-0.5-0009-Pass-Process-instead-of-pid-to-a-couple-functions.patch Patch29: ltrace-0.5-0010-Cleanups-in-next_event.patch Patch30: ltrace-0.5-0011-Add-argument-that-defines-whether-we-should-enable-b.patch Patch31: ltrace-0.5-0012-Conceal-the-list-of-processes-behind-an-interface.patch Patch32: ltrace-0.5-0013-Add-a-concept-of-tasks-and-leader-thread.patch Patch33: ltrace-0.5-0014-Event-queue.patch Patch34: ltrace-0.5-0015-Facility-for-custom-event-handler.patch Patch35: ltrace-0.5-0016-Use-custom-event-handler-for-implementation-of-stop-.patch Patch36: ltrace-0.5-0020-Type-the-process_status-interface-properly.patch Patch37: ltrace-0.5-0017-Handle-multi-threaded-attach-detach-gracefully.patch Patch38: ltrace-0.5-0018-Fixes-for-process-exit-before-doing-checks-for-sysca.patch Patch39: ltrace-0.5-0019-Add-a-test-case.patch Patch40: ltrace-0.5-0021-Fix-a-race-between-waiting-for-SIGSTOP-delivery-and-.patch Patch41: ltrace-0.5-0022-Don-t-share-arch_ptr-on-process-clone.patch Patch42: ltrace-0.5-0023-Fix-a-race-between-disabling-breakpoint-and-stopping.patch Patch43: ltrace-0.5-ia64-ptrace-redef.patch Patch44: ltrace-0.5-0024-Handle-the-race-between-reading-list-of-tasks-and-at.patch Patch45: ltrace-0.5-0025-Fix-serious-race-in-attach-to-many-threaded-process.patch Patch46: ltrace-0.5-0026-Fix-detach.patch Patch47: ltrace-0.5-syscall_p.patch Patch48: ltrace-0.5-vfork.patch Patch49: ltrace-0.5-signal-before-singlestep.patch Patch50: ltrace-0.5-sigill-sigtrap.patch Patch51: ltrace-0.5-ppc64-leader-running.patch Patch52: ltrace-0.5-ia64-robustify.patch License: GPL Group: Development/Debuggers ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 s390 s390x alpha sparc Prefix: %{_prefix} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: elfutils-libelf-devel dejagnu %description Ltrace is a debugging program which runs a specified command until the command exits. While the command is executing, ltrace intercepts and records both the dynamic library calls called by the executed process and the signals received by the executed process. Ltrace can also intercept and print system calls executed by the process. You should install ltrace if you need a sysadmin tool for tracking the execution of processes. %prep %setup -q %patch0 -p0 %patch1 -p1 %patch2 -p1 %patch3 -p0 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 %patch33 -p1 %patch34 -p1 %patch35 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p1 %patch39 -p1 %patch40 -p1 %patch41 -p1 %patch42 -p1 %patch43 -p1 %patch44 -p1 %patch45 -p1 %patch46 -p1 %patch47 -p1 %patch48 -p1 %patch49 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 sed -i -e 's/-o root -g root//' Makefile.in %build export CC="gcc`echo $RPM_OPT_FLAGS | sed -n 's/^.*\(-m[36][124]\).*$/ \1/p'`" %configure CC="$CC" LDFLAGS="$LDFLAGS -Wl,-z,relro" make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} docdir=%{_docdir}/ltrace-%{version}/ install %check echo ====================TESTING========================= make check ||: echo ====================TESTING END===================== %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc COPYING README TODO BUGS ChangeLog %{_prefix}/bin/ltrace %{_mandir}/man1/ltrace.1* %config /etc/ltrace.conf %changelog * Thu Aug 25 2011 Petr Machata <pmachata@redhat.com> - 0.5-13.45svn.12 - Add clone support patch that was ported by Martin Osvald - Rebase upstream patchset for tracing multi-threaded processes - Rebase upstream attach/detach fixes - Fix syscall detection - Rebase upstream patches for tracing across vfork - Add RHEL-6 patch for SIGTRAP masked as SIGILL - Resolves: #733216 * Tue Mar 3 2009 Petr Machata <pmachata@redhat.com> - 0.5-13.45svn - fix tracing of fork of 64-bit binaries with 64-bit ltrace on ppc - improve earlychild patch - Resolves: #265941 * Wed Feb 25 2009 Petr Machata <pmachata@redhat.com> - 0.5-12.45svn - support tracing of 31-bit binaries with 64-bit ltrace on s390 - remove bogus "wrong pid" message from earlychild patch - Resolves: #265941 * Tue Feb 24 2009 Petr Machata <pmachata@redhat.com> - 0.5-11.45svn - patch from Supriya Kannery implements fetching 5th and further function arguments on s390 - fix testsuite for interaction of -c and -o - added fork/exec patches, mostly IBM's work - added trace-exec tests into suite - fix handling of the case where forked child is reported before parent's fork event - Resolves: #265941 - Resolves: #426352 - Resolves: #485779 * Wed Feb 11 2009 Petr Machata <pmachata@redhat.com> - 0.5-10.45svn - fix man page - Resolves: #483350 * Mon Feb 2 2009 Petr Machata <pmachata@redhat.com> - 0.5-9.45svn - fix interaction of -c and -o - Resolves: #447404 * Mon Sep 1 2008 Petr Machata <pmachata@redhat.com> - 0.5-8.45svn - fix fork handling - fix testsuite build - Resolves: #211135 * Thu Nov 12 2007 Petr Machata <pmachata@redhat.com> - 0.5-7.45svn - added "unexpected breakpoint" patch by IBM - Resolves: #247123 * Mon Sep 4 2006 Petr Machata <pmachata@redhat.com> - 0.5-5.45svn - fix plt handling on ppc32 (symval patch) - fix attaching to process (attach patch) - add fork & exec patches from IBM - adjust weak symbol handling (ppc32fc5 patch) * Wed Aug 23 2006 Petr Machata <pmachata@redhat.com> - 0.5-3.45svn - use "{X}.{release}svn" release string per naming guidelines * Tue Aug 22 2006 Petr Machata <pmachata@redhat.com> - 0.5-1.1.45svn - using dist tag * Fri Aug 18 2006 Jesse Keating <jkeating@redhat.com> - 0.5-1.0.45svn.6 - rebuilt with latest binutils to pick up 64K -z commonpagesize on ppc* (#203001) * Fri Jul 14 2006 Petr Machata <pmachata@redhat.com> - 0.5-1.0.45svn.5 - adding .gnu.hash patch to support new ELF hash table section - adding testsuite patch to silent some bogus failures * Fri Jul 14 2006 Petr Machata <pmachata@redhat.com> - 0.5-1.0.45svn - adding upstream (svn) version. It contains most of patches that we already use, and has support for secure PLTs. * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.4-1.7.1 - rebuild * Wed Jun 14 2006 Petr Machata <pmachata@redhat.com> - 0.4-1.7 - drop broken ppc support * Thu Jun 1 2006 Petr Machata <pmachata@redhat.com> - 0.4-1.6 - e_entry patch: use elf's e_entry field instead of looking up _start symbol, which failed on stripped binaries. * Tue May 3 2006 Petr Machata <pmachata@redhat.com> - 0.4-1.5 - Correct a typo that prevented the inclusion of "demangle.h" - Adding -Wl,-z,relro * Mon Apr 24 2006 Petr Machata <pmachata@redhat.com> - 0.4-1.4 - turn off opd translation on ia64, GElf already gives us function address. - turn on main-internal test, it should pass now. * Wed Apr 12 2006 Petr Machata <pmachata@redhat.com> - 0.4-1.2 - svn fix for opt_x patch - patches for testsuite for s390{,x} - turning off main-internal test. Fails on ia64, needs investigation. * Fri Apr 7 2006 Petr Machata <pmachata@redhat.com> - 0.4-1 - Upstream 0.4 - opt_x patch: New structure for opt_x list elements, now with 'found'. Using it in options.c, elf.c. - testsuite patch: Automated testsuite for ltrace. * Wed Mar 1 2006 Petr Machata <pmachata@redhat.com> - 0.3.36-4.3 - include %%{ix86} to ExclusiveArch, instead of mere i386 * Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.3.36-4.2 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.3.36-4.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Mon Jan 9 2006 Jakub Jelinek <jakub@redhat.com> 0.3.36-4 - added ppc64 and s390x support (IBM) - added ia64 support (Ian Wienand) * Sat Mar 5 2005 Jakub Jelinek <jakub@redhat.com> 0.3.36-3 - rebuilt with GCC 4 * Tue Dec 14 2004 Jakub Jelinek <jakub@redhat.com> 0.3.36-2 - make x86_64 ltrace trace both 32-bit and 64-bit binaries (#141955, IT#55600) - fix tracing across execve - fix printf-style format handling on 64-bit arches * Thu Nov 18 2004 Jakub Jelinek <jakub@redhat.com> 0.3.36-1 - update to 0.3.36 * Mon Oct 11 2004 Jakub Jelinek <jakub@redhat.com> 0.3.35-1 - update to 0.3.35 - update syscall tables from latest kernel source * Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com> - rebuilt * Tue Jun 8 2004 Jakub Jelinek <jakub@redhat.com> 0.3.32-3 - buildreq elfutils-libelf-devel (#124921) * Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 0.3.32-2 - fix demangling * Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 0.3.32-1 - update to 0.3.32 - fix dict.c assertion (#114359) - x86_64 support - rewrite elf.[ch] using libelf - don't rely on st_value of SHN_UNDEF symbols in binaries, instead walk .rel{,a}.plt and compute the addresses (#115299) - fix x86-64 support - some ltrace.conf additions - some format string printing fixes * Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com> - rebuilt * Mon Feb 3 2003 Jakub Jelinek <jakub@redhat.com> 0.3.29-1 - update to 0.3.29 * Wed Jan 22 2003 Tim Powers <timp@redhat.com> - rebuilt * Sun Sep 1 2002 Jakub Jelinek <jakub@redhat.com> 0.3.10-12 - add a bunch of missing functions to ltrace.conf (like strlen, ugh) * Fri Jun 21 2002 Tim Powers <timp@redhat.com> - automated rebuild * Tue May 28 2002 Phil Knirsch <pknirsch@redhat.com> - Added the 'official' s390 patch. * Thu May 23 2002 Tim Powers <timp@redhat.com> - automated rebuild * Wed Jan 09 2002 Tim Powers <timp@redhat.com> - automated rebuild * Fri Jul 20 2001 Jakub Jelinek <jakub@redhat.com> - fix stale symlink in documentation directory (#47749) * Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com> - Bump release + rebuild. * Thu Aug 2 2000 Tim Waugh <twaugh@redhat.com> - fix off-by-one problem in checking syscall number * Wed Jul 12 2000 Prospector <bugzilla@redhat.com> - automatic rebuild * Mon Jun 19 2000 Matt Wilson <msw@redhat.com> - rebuilt for next release - patched Makefile.in to take a hint on mandir (patch2) - use %%{_mandir} and %%makeinstall * Wed Feb 02 2000 Cristian Gafton <gafton@redhat.com> - fix description * Fri Jan 7 2000 Jeff Johnson <jbj@redhat.com> - update to 0.3.10. - include (but don't apply) sparc patch from Jakub Jellinek. * Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> - auto rebuild in the new build environment (release 2) * Fri Mar 12 1999 Jeff Johnson <jbj@redhat.com> - update to 0.3.6. * Mon Sep 21 1998 Preston Brown <pbrown@redhat.com> - upgraded to 0.3.4