From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AE5D1F1517; Tue, 21 Jan 2025 12:29:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737462548; cv=none; b=dA3BtECpZ8w1ggFWFYN41/FIYClEpCOS0LSo+VxMt0FWX3rv3iFlGMz6IHAuHTXnjfOf3v9s0k+zrE7vydtSpw1YqDUT4Rc0buGBRytj9ZDp+eDse4RUsdaRcFzKWu3RSg9TpMsCmTy5cUuUdNSDz8pKs1+zFxntL/cLIXYNrko= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737462548; c=relaxed/simple; bh=/gJad0hzVC6gdQi0Vrylz5MVKI4Be2IkWe0CLAVCmEY=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=eQ6B/MNjMdLHwxKKm2YLeamlruFgh+3dpzLbeTdGmUCu966JBTW3I5QkNxyn6e9PWFASFwCfnxMR4FDnIXiZtRtRyIvWsf2YtPDd/Z4dDj0CEGb74YsmWF76IuW6GJm8SFEku+57iBwW28t8zss/Q+/YFlsDTWvLsgouW5C/zkQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=doFpnkvz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="doFpnkvz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FFC2C4CEDF; Tue, 21 Jan 2025 12:29:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737462547; bh=/gJad0hzVC6gdQi0Vrylz5MVKI4Be2IkWe0CLAVCmEY=; h=Date:From:To:Cc:Subject:From; b=doFpnkvzq21Sy68Mh7sADg6g95cc5xgRZyJ8YjycDgHO7Vwrp61htEpvQ+qkT1UqF 78a89bjEJQCo7AYCR55B4g0OmSQMBwI6+YGquksKp6SJN3SRM8K6Fp5TlkwolOiB8q fI0Au9O9EICBh02YsobF7vEVeTRnMWbF9EPKd0c6oaRdMN/ICYRpb+VmIgMXWN6GPv 9Bk3Nlk5WXk2gPHTEZWgkIog+toKqO4pndte+O2iOVvTkLzeg/rjsX29O4G9SllpwJ 5k+DoXUj3EJBhNgEGeyt0ThUhP4hva4fjWDMOsI1XWI7SDSlAWO5riHdgAf1If8VqI jg1iF0V+FDK3A== Date: Tue, 21 Jan 2025 13:29:02 +0100 From: Arnaldo Carvalho de Melo To: dwarves@vger.kernel.org Cc: Alan Maguire , Ihor Solodrai , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Jiri Olsa , Mykola Lysenko , Jan Alexander Steffens , Domenico Andreoli , Matthias Schwarzott , Dominique Leuenberger , Dominique Martinet , Viktor Malik , Tom Stellard , Linux Kernel Mailing List , bpf@vger.kernel.org Subject: ANNOUNCE: pahole v1.29 (Better DWARF loading & BTF encoding) Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, The v1.29 release of pahole is out with more efficient multithreaded DWARF loading and BTF encoding, that is now always reproducible, multiple decl tags are supported in the BTF loader and thus pfunct can pretty print the full function prototype. Main git repo: https://git.kernel.org/pub/scm/devel/pahole/pahole.git Mirror git repo: https://github.com/acmel/dwarves.git tarball + gpg signature: https://fedorapeople.org/~acme/dwarves/dwarves-1.29.tar.xz https://fedorapeople.org/~acme/dwarves/dwarves-1.29.tar.bz2 https://fedorapeople.org/~acme/dwarves/dwarves-1.29.tar.sign Thanks a lot to all the contributors and distro packagers, you're on the CC list, we appreciate a lot the work you put into these tools, Best Regards, - Arnaldo DWARF loader: - Multithreading is now contained in the DWARF loader using a jobs queue and a pool of worker threads. BTF encoder: - The parallel reproducible BTF generation done using the new DWARF loader multithreading model is as fast as the old non-reproducible one and thus is now always performed, making the "reproducible_build" flag moot. The memory consumption is now greatly reduced as well. BTF loader: - Support for multiple BTF_DECL_TAGs pointing to same tag. Example: $ pfunct vmlinux -F btf -f bpf_rdonly_cast bpf_kfunc bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k); Regression tests: - Verify that pfunct prints btf_decl_tags read from BTF. pfunct: - Don't print functions twice when using -f.