Trace the Library and System Calls a Program Makes

Edit Package ltrace

Ltrace is a program that runs the specified command until it exits. It
intercepts and records the dynamic library calls that are called by the
executed process and the signals that are received by that process. It
can also intercept and print the system calls executed by the program.

The program to trace need not be recompiled for this, so you can use
ltrace on binaries for which you do not have access to the source.

This is still a work in progress, so, for example, the tracking to
child processes may fail or some things may not work as expected.

Refresh
Refresh
Source Files
Filename Size Changed
arm-trace.patch 0000000461 461 Bytes
baselibs.conf 0000000056 56 Bytes
ltrace-0.7.91-g6c6bcc3.tar.bz2 0000267585 261 KB
ltrace-fix-build.patch 0000000513 513 Bytes
ltrace.changes 0000019082 18.6 KB
ltrace.spec 0000003077 3 KB
ppc-ptrace.patch 0000000298 298 Bytes
readdir.patch 0000001075 1.05 KB
Latest Revision
Ludwig Nussel's avatar Ludwig Nussel (lnussel_factory) accepted request 606112 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 4)
- ppc-ptrace.patch: include <asm/ptrace.h> on ppc
- arm-trace.patch: remove unreachable assignment
- Do not store test results in the package to make build reproducible
- Fix overactive post-build-checks tripping over some testsuite
  compile warnings.  Adds ltrace-fix-build.patch .
- readdir.patch: Remove use of deprecated readdir_r
- Update to git rev 6c6bcc3
  ** Prototype libraries
     - Each DSO can now ship an ltrace config file (called prototype
       library) that ltrace will open when that DSO is loaded to process
       image.  See ltrace(1) for details.
     - ltrace.conf is no longer part of installation tarball.  Instead,
       we now ship libc.so.conf, libm.so.conf, libacl.so.conf, and
       syscalls.conf.  Those are now istalled to /usr/share/ltrace by
       default.  /etc/ltrace.conf and $HOME/.ltrace.conf are still
       loaded if present, and can contain arbitrary user configuration.
     - The option -F was retrofitted to be a colon-separated list of
       prototype libraries, and directories to look for prototype
       libraries in.  On Linux, ltrace looks into XDG_CONFIG_HOME,
       XDG_CONFIG_DIRS, and /usr/share/ltrace as well.
     - Wide character strings are supported in prototypes.  Use "string"
       lens as usual, but use array of integers as underlying type.
       libc.so.conf now contains prototypes of wide character functions.
     - Sole void function parameter such as in the following example, is
       now considered obsolete:
       | int fork(void); |
       This use is still accepted, taken to mean "hide(int)", but
       produces a warning, and will be removed in future.
     - Prototypes are now read from DWARF debug info, if available. This
       complements the data available in config files
  ** Architectural support
     - MIPS and MIPSel are now handled by the same backend.
     - ARMv6, ARMv7 and ARMv8 (AArch64) are supported, including full
       fetch backend.  ARMv8 backend doesn't support tracing of 32-bit
       binaries, as currently there's no 32-bit userspace available for
       ARM64 processors.
     - Imagination Technologies Meta is now supported.
     - PowerPC64 ELFv2 little-endian ABI is now supported including full
       fetch backend.
     - On Linux, tracing of IFUNC symbols is supported.  On i386,
       x86_64, ppc32 with secure PLT and ppc64, IRELATIVE PLT slots are
       traced as well.
  ** -w output now shows full library path
      The output format is similar to glibc's backtrace_symbols, e.g.:
       > /bin/ls(_init+0x19be) [0x40398e]
       > /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f50cbc3676d]
       > /bin/ls(_init+0x25fd) [0x4045cd]
- Enable for ppc64le and aarch64
- Enable for m68k
- Don't warn about unused local typedefs
- Update to 0.7.2
  ** Bugfixes
  *** (Again) detect VDSO entry in r_debug linkmap with non-empty name
  *** Fix building with libunwind 1.1
  *** Fix prototype lookup for -x symbols from shared libraries
- Remove upstreamed patch ltrace.vdso.patch
- Update to 0.7.1
  * Version 0.7.1
  ** Bugfixes
  *** ltrace.conf.5 is now installed to man5 as it should be
  *** [PowerPC] A header file necessary for building is now shipped
  *** [MIPS] Work around duplicate symbol request bug
  *** Detect VDSO entry in r_debug linkmap with non-empty name
  *** Temporary files are wiped properly after the test suite has been run
  *** Parsing typedefs with common prefix now works as it should
  ** Cofiguration Files
  *** The following prototypes in ltrace.conf were added or updated
  *** Duplicate typedefs are now guarded against
  *** It's now possible to define recursive structures
  *** New lens "bitvec" is available
  *** Octal lens renamed to "oct"
  *** The hex lens can now format floating point arguments
  * Version 0.7.0
  ** Tracing
  *** Full support for tracing multi-threaded processes
  *** Support for tracing inter-library calls
  *** Better support for parameter passing ("fetch backend")
  *** Awareness of deny_ptrace SELinux boolean
  *** Limited support for tracing returns from tail call functions
  *** -e, -x and -l selectors now allow using globs and regular expressions
  *** -g command line option dropped
  *** Test suite can now be run under valgrind
  *** [ppc] Support both BSS and secure PLTs for 32-bit processes
  *** [mips] Implement software singlestepping
  *** [mips] Add support for CPIC main programs
  *** Support tracing PIE binaries
  ** Configuration Files
  *** New abstraction: parameter pack
  *** New expression: zero
  *** Lenses: change the way that underlying type is rendered
  *** Misspelling of "int" as "itn" temporarily accepted, but deprecated
  *** Using void as top-level function argument now deprecated
  *** Using void to hide one argument is now obsolete
  ** Documentation
  *** New manual page ltrace.conf(5)
  *** README, INSTALL brought up to date
  *** New file CREDITS with a list of contributors
  ** Bugfixes
  *** Fix detaching from a process
  *** Argument to -n is now checked for validity
  *** Fix tracing across exec in a stripped binary
  *** [x86] ORIG_RAX/ORIG_EAX may not contain original syscall number
  *** [ppc] Fix races in tracing -e events in 64-bit processes
  *** [ppc] Allow stepping over lwarx instruction
  ** Known bugs
  *** [arm] Tracing is not supported at all on ARM
  * Version 0.6.0
  ** General Features
  *** Use autotools for building
  *** New option -b: disables output of signals received by the tracee
  *** New option -w: print stack trace of events
  *** Support tracing of symbols from libraries opened with dlopen
  ** Architecture-specific Changes
  *** Various fixes for MIPS and PowerPC
  *** Support for ARM Thumb mode
  *** Implement fetching of 5th and further function arguments on s390
  *** Support fork/exec syscalls on 31-bit s390
  *** Support for float and double arguments on x86_64
  *** Fixes for return arguments (after '+') in nested calls on x86_64
- removed upstreamed patches:
  ltrace.ppc.patch
  ltrace.s390-more-arguments.patch
  ltrace.demangle-lib.cstdlib.patch
- ltrace.vdso.patch: allow more VDSO names.
- update to 0.5.3 (bug and build fixes)
- autoreconf is not required
- add ppc patch
- build with libelf1 instead of libelf0
- add automake as buildrequire to avoid implicit dependency
- Kernel commit v2.6.28-5383-g192eee8 removed
  arch/sparc/include/asm/reg.h, so deactivate SPARC building
- enable SPARC building
- package baselibs.conf
- Update version from 0.4-svn to 0.5.2
  * Huge amount of bugfixes, arm support, etc. ...
  * Fix ctrl-c sometimes crashing ltrace [bnc#474534]
- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade
  (bnc#437293)
- remove ltrace -c patch from bnc#201272 (bnc#439498)
- include cstdlib in demangle-lib test (bnc#439498)
- obsolete old -XXbit packages (bnc#437293)
- added baselibs.conf file to build xxbit packages
  for multilib support
- update last patch to not use global variables
- more complete powerpc ABI handling (bnc#364988 - LTC41151)
- handle more than 4 args on s390 (349987 - LTC41171)
- allow build with old distributions, libelf0-devel is new in 10.3
- update to ltrace mainline r80
  added more system calls
  add sleep to clone testcase to avoid earlier termination of process
  disable breakpoints before doing fork()
- fix build with sles9 (329163 - LTC38963)
- changed from libelf to libelf0-devel in buildrequires.
- Fix argument decoding.
- update to ltrace mainline r75
  fix -p behavior: wait for process to stop after PTRACE_ATTACH
  fix -L behavior: always initialize the breakpoint dictionary,
  and thus aviod NULL dereference.
- rename patch numbers in %prep section to match commit ids
- fix ltrace -c on ppc32 (201272 - LTC24809)
- add ltrace.trace_exec.patch (201282 - LTC25640)
- better opd handling
  add arch name to mack check results
  use /etc/ltrace.conf (211921)
- add more ia64 fixes from Steve Fink
  keep make check results in the package
- provide elf_gnu_hash, current glibc defines SHT_GNU_HASH
  remove merge acl entries for ltrace.conf
- fix opd2addr to return the value at addr, not addr itself
  revert a regex handling change in the testsuite to fix make check
- run make check, do not abort the build if it fails
- update to ltrace mainline r65 (201272)
  implement ignored arguments, pointer parameters, enumerated parameters
  short, ushort and float types, typedefs, array arguments and struct support
  improve string handling
  add .gnu.hash ELF support
  add -F option to read in config files
  add secure-plt support
  update syscall list to 2.6.17
  use e_entry instead of _start if the binary is stripped
  fix the -x processing to get rid of bad warning.
- Update to ltrace 0.4 to get support for ia64.
- Don't build as root.
- fix crash of every process traced with -p on ltrace exit (138568)
- update man page to ltrace 0.4 version (176209 - LTC23913)
- add handling for secure PLT on powerpc (154472 - LTC21994)
  fix segfault when following forks (155754 - LTC22229)
  configure does checks for c++ features, add c++ to Buildrequires
- Add patch from IBM that fixes segfaults when using -x (#150487)
- biarch support for S/390.
- converted neededforbuild to BuildRequires
- ported s390x support from 0.3.10
- Incorporate RH patch for biarch support
- Incorporate all pathches from IBM for biarch ltrace on ppc64
- Fix warnings in the ppc specific parts.
- Don't use elfutils because of their unacceptable license,
  use libelf instead.
- Fix the check for gelf.h
- Really use the include path for gelf.h that configure found.
- Use version number from config.h
- Update to ltrace 0.3.36: 
  - All SUSE patches integrated
  - Alpha support,
  - Uses elfutils.
  - list of functions expanded.
- Adapt patch from Jakub Jellinek to make ltrace handle long/ulong
  values and thus work on AMD64 (#74374).
- fix assert in call summary if ltrace was tracing nothing(#39642)
- use new path for changelog file, fixes stale symlink (Bug #36383)
- update manual page regarding bugs fixed with the applied patches
- calculate PLT table function address if missing in symtab(#36212)
  (this makes ltrace work again on i386, otherwise it does nothing)
- Update to ltrace 0.3.31: More functions in ltrace.conf, options
  to show time spent inside each call and summary of calls at end
- fix ExclusiveArch: Include s390 and s390x for 32- and 64-bit arch
- Use BuildRoot
- remove unpackaged files from buildroot 
- Update syscall table definitions for supported architectures to
  current 8.1/UL/SLES kernel.
- Add declarations for extended attribute syscalls and
  for libacl functions (POSIX ACL library).
- Fix ExclusiveArch for x86.
- Added support for Elf64 binaries.
- Fixed x86-64 port.
- Update to ltrace 0.3.26:
  * Added support for s390 and powerpc
- Add initial support for x86-64.
- added armv4l to ExclusiveArch
- added PPC port by Anton Blanchard 
- added S/390 patch from IBM Linux Technology Center
- Update to ltrace 0.3.10
- Add patch for SPARC
- updated to ltrace-0.3.8
- ran old prepare_spec on spec file to switch to new prepare_spec.
- added call of Check
- new package
Comments 0
openSUSE Build Service is sponsored by