From patchwork Wed Jul 1 11:34:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 9991 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "YR2" (not verified)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4gqyc93Z6Dz3wkB for ; Wed, 01 Jul 2026 11:35:05 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail02.haj.ipfire.org", Issuer "YE1" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4gqyc217m6z6xT for ; Wed, 01 Jul 2026 11:34:58 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4gqyc03B3Zz3362 for ; Wed, 01 Jul 2026 11:34:56 +0000 (UTC) X-Original-To: development@lists.ipfire.org Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1 raw public key) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "YR2" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4gqybv49DRz32dP for ; Wed, 01 Jul 2026 11:34:51 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4gqybs4TgNz4N3; Wed, 01 Jul 2026 11:34:49 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1782905689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4HbwyS6XyUp+Q0qSFktd569xEwczXYyZYsSO4k6kE9w=; b=ZIEj0H+8YxkTBGdQjEUVVGrkM4Nkkh3oiGf3aJlZoMqENtwRxRDpQNXX83Yb/fxZC156w/ NZ4ghvZWwqM9k+CA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1782905689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4HbwyS6XyUp+Q0qSFktd569xEwczXYyZYsSO4k6kE9w=; b=YUos7YGvMG7+Wf7/L6dR2Qj/cDzTGXN1pBZcjDyjJsMtQy/uXgLcRn0WqCcO4x59nOuPA1 8BCXjIpIg9eR6mcOAtMJer7dnPp3bRQIg61160aiNlphYjaBk0B+HjdwaGS/7pwr1LeBHM oimHeTAWA+px4aeCUzPDWe/DtPvQYp11UF9fNLZROMzXho2ptQBIgoGpJq9rQ4M3FU1CU6 cQJ/sSQRx7X/Bt5ufIfGu9n40OlGZjfzTQnCNBbkpfsM7hrt3ITRpM6D760loAkx/+3ZLw hEz+/EpZwAdlLfO+qFYZsir0/icsZWsL4CnG4RnUzmeXb4j1Z6yKWR+REI1/sw== From: Adolf Belka To: development@lists.ipfire.org Cc: Adolf Belka Subject: [PATCH] ltrace: Update to version 0.8.1 Date: Wed, 1 Jul 2026 13:34:42 +0200 Message-ID: <20260701113444.3425761-3-adolf.belka@ipfire.org> In-Reply-To: <20260701113444.3425761-1-adolf.belka@ipfire.org> References: <20260701113444.3425761-1-adolf.belka@ipfire.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 - 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 --- config/rootfiles/packages/ltrace | 9 ++++++++- lfs/ltrace | 18 ++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) 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 # +# Copyright (C) 2007-2026 IPFire Team # # # # 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)