ltrace: Update to version 0.8.1
Commit Message
- 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(-)
@@ -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
@@ -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)