ltrace: Update to version 0.8.1

Message ID 20260701113444.3425761-3-adolf.belka@ipfire.org
State Staged
Commit 4b6ef0f27c9621a4713d12fda4a4724399bccad2
Headers
Series ltrace: Update to version 0.8.1 |

Commit Message

Adolf Belka 1 Jul 2026, 11:34 a.m. UTC
- Update from version 0.7.3 to 0.8.1
- Update of rootfile
- ltrace now supports aarch64 (full support) and riscv64 (initial support) since
   version 0.8.0
- Changelog
0.8.1
Bugfixes
  - include config.h in more cases to fix LTO builds
0.8.0
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
   - RISC-V initial support included.
   - 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.
   - Cadence Tensilica Xtensa is now supported.
   - LoongArch is now supported.
   - 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]

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/ltrace |  9 ++++++++-
 lfs/ltrace                       | 18 ++++++++++--------
 2 files changed, 18 insertions(+), 9 deletions(-)
  

Patch

diff --git a/config/rootfiles/packages/ltrace b/config/rootfiles/packages/ltrace
index 9964a70ca..58a4857a1 100644
--- a/config/rootfiles/packages/ltrace
+++ b/config/rootfiles/packages/ltrace
@@ -1,4 +1,3 @@ 
-etc/ltrace.conf
 usr/bin/ltrace
 #usr/share/doc/ltrace
 #usr/share/doc/ltrace/COPYING
@@ -6,5 +5,13 @@  usr/bin/ltrace
 #usr/share/doc/ltrace/INSTALL
 #usr/share/doc/ltrace/README
 #usr/share/doc/ltrace/TODO
+#usr/share/ltrace
+usr/share/ltrace/libacl.so.conf
+usr/share/ltrace/libc.so-types.conf
+usr/share/ltrace/libc.so.conf
+usr/share/ltrace/libm.so.conf
+usr/share/ltrace/libpthread.so-types.conf
+usr/share/ltrace/libpthread.so.conf
+usr/share/ltrace/syscalls.conf
 #usr/share/man/man1/ltrace.1
 #usr/share/man/man5/ltrace.conf.5
diff --git a/lfs/ltrace b/lfs/ltrace
index f3f07c0b1..a49a1c455 100644
--- a/lfs/ltrace
+++ b/lfs/ltrace
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2026  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -26,16 +26,15 @@  include Config
 
 SUMMARY    = Library and system call tracer for programs
 
-VER        = 0.7.3
-SUP_ARCHES = x86_64
+VER        = 0.8.1
 
 THISAPP    = ltrace-$(VER)
-DL_FILE    = ltrace_$(VER).orig.tar.bz2
+DL_FILE    = ltrace-$(VER).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = ltrace
-PAK_VER    = 3
+PAK_VER    = 4
 
 DEPS       =
 
@@ -49,7 +48,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 30d1dbb178a41043e4bbbac17a23676db202b64327c9bb4393ae7ace9f5e1a1e2a5ded56cabc7faf2ea55b22ed17126a94c121147aeefb40250710b7307a50d3
+$(DL_FILE)_BLAKE2 = 4fb938f3511668f836f7f9cd3d3ab88b9e46a749bce9f506609c1ebfced552c71f868272766be7d902c0151eba55061d6aa9f5c88b0f40cf040cc6f4a43d9ce6
 
 install : $(TARGET)
 
@@ -82,8 +81,11 @@  $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
-		--disable-werror
+	cd $(DIR_APP) && ./autogen.sh
+	cd $(DIR_APP) && ./configure \
+				--prefix=/usr 
+				--sysconfdir=/etc \
+				--disable-werror
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)