dwarves (1.22-4~bpo11+1) bullseye-backports; urgency=medium * Rebuild for bullseye-backports. -- Antonio Terceiro Wed, 02 Feb 2022 08:33:19 -0300 dwarves (1.22-4) unstable; urgency=high [Ben Hutchings] * Fix inconsistent usage of HAVE_BTF and HAVE_BPF in add_cmake_libbpf_enabled_option.patch. Closes: #1004311. -- Domenico Andreoli Wed, 26 Jan 2022 12:24:40 +0100 dwarves (1.22-3) unstable; urgency=medium * debian/rules: fix logic for disabling BPF support on non-linux. * Rename test: pahole-struct-with-hole -> dwarf-struct-with-hole. * Add test: btf-struct-with-hole. -- Domenico Andreoli Tue, 25 Jan 2022 21:58:43 +0100 dwarves (1.22-2~bpo11+1) bullseye-backports; urgency=medium * Rebuild for bullseye-backports. -- Antonio Terceiro Tue, 25 Jan 2022 16:48:46 -0300 dwarves (1.22-2) unstable; urgency=medium * Mark dwarves binary as Multi-Arch foreign. * Update libbpf-dev Build-Depends version. * Consolidate and forward patches. * Add test: pahole-struct-with-hole. * Disable BPF support on hurd-i386, kfreebsd-amd64 and kfreebsd-i386: - add add_cmake_libbpf_enabled_option.patch * Rename branch debian/master to debian/main. -- Domenico Andreoli Fri, 21 Jan 2022 19:55:31 +0100 dwarves (1.22-1) unstable; urgency=low * New upstream release. Changes since 1.20: pahole: - Allow encoding BTF to a separate BTF file (detached) instead of to a new ".BTF" ELF section in the file being encoded (vmlinux usually). - Introduce -j/--jobs option to specify the number of threads to use. Without arguments means one thread per CPU. So far used for the DWARF loader, will be used as well for the BTF encoder. - Show all different types with the same name, not just the first one found. - Introduce sorted type output (--sort), needed with multithreaded DWARF loading, to use with things like 'btfdiff' that expects the output from DWARF and BTF types to be comparable using 'diff'. - Stop assuming that reading from stdin means pretty printing as this broke pre-existing scripts, introduce a explicit --prettify command line option. - Improve type resolution for the --header command line option. - Disable incomplete CTF encoder, this needs to be done using the external libctf library. - Do not consider the ftrace filter when encoding BTF for kernel functions. - Add --kabi_prefix to avoid deduplication woes when using _RH_KABI_REPLACE() - Add --with_flexible_array to show just types with flexible arrays. DWARF Loader: - Multithreaded loading, requires elfutils >= 0.178. - Lock calls to non-thread safe elfutils' libdw functions (dwarf_decl_file() and dwarf_decl_line()) - Change hash table size to one that performs better with current typical vmlinux files. - Allow tweaking the hash table size from the command line. - Stop allocating memory for strings obtained from libdw, just defer freeing the Dwfl handler so that references to its strings can be safely kept. - Use a frontend cache for the latest lookup result. - Allow ignoring some DWARF tags when loading for encoding BTF, as BTF doesn't have equivalents for things like DW_TAG_inline_expansion and DW_TAG_label. - Allow ignoring some DWARF tag attributes, such as DW_AT_alignment, not used when encoding BTF. - Do not query for non-C attributes when loading a C language CU (compilation unit). BTF encoder: - Preparatory work for multithreaded encoding, the focus for 1.23. btfdiff: - Support diffing against a detached BTF file, e.g.: 'btfdiff vmlinux vmlinux.btf' - Support multithreaded DWARF loading, using the new pahole --sort option to have the output from both BTF and DWARF sorted and thus comparable via 'diff'. Build: - Support building with libc libraries lacking either obstacks or argp, such as Alpine Linux's musl libc. - Support systems without getconf() to obtain the data cacheline size, such as musl libc. - Add a buildcmd.sh for test builds, tested using the same set of containers used for testing the Linux kernel perf tools. - Enable selecting building with a shared libdwarves library or statically. - Allow one to use the libbpf package found in distributions instead of with the accompanying libbpf git submodule. Cleanups: - Address lots of compiler warnings accumulated by not using -Wextra, it'll be added in the next release after allowing not to use it to build libbpf. - Address covscan report issues. Documentation: - Improve the --nr_methods/-m pahole man page entry. - Clarify that currently --nr_methods doesn't work together witn -C. * Refresh patches. * Drop patch no_shared_no_ebl, can do without it. * Build-Depends on linux-libc-dev (>= 5.14) for BTF_KIND_FLOAT. * Rename source package to dwarves. Closes: #705969. * Rename binary package to pahole and add a transitional dummy package. * Patch pahole manpage to fix groff's warning. * Configure gbp to sign tags by default. * Remove superfluous file patterns from debian/copyright. -- Domenico Andreoli Tue, 19 Oct 2021 23:31:29 +0200 dwarves-dfsg (1.20-2) unstable; urgency=high * Build-Depends on libbpf-dev on Linux builds only. * Add lintian override for upstream-metadata-missing-bug-tracking, upstream does not have any bug tracking system. * Mark dwarves binary as Multi-Arch foreign. Closes: #989174. -- Domenico Andreoli Sun, 07 Feb 2021 22:37:57 +0100 dwarves-dfsg (1.20-1) unstable; urgency=medium * New upstream release. Changes since 1.19: BTF encoder: - Improve ELF error reporting using elf_errmsg(elf_errno()). - Improve objcopy error handling. - Fix handling of 'restrict' qualifier, that was being treated as a 'const'. - Support SHN_XINDEX in st_shndx symbol indexes, to handle ELF objects with more than 65534 sections, for instance, which happens with kernels built with 'KCFLAGS="-ffunction-sections -fdata-sections", Other cases may include when using FG-ASLR, LTO. - Cope with functions without a name, as seen sometimes when building kernel images with some versions of clang, when a SEGFAULT was taking place. - Fix BTF variable generation for kernel modules, not skipping variables at offset zero. - Fix address size to match what is in the ELF file being processed, to fix using a 64-bit pahole binary to generate BTF for a 32-bit vmlinux image. - Use kernel module ftrace addresses when finding which functions to encode, which increases the number of functions encoded. DWARF loader: - Support DW_AT_data_bit_offset - DW_FORM_implicit_const in attr_numeric() and attr_offset() - Support DW_TAG_GNU_call_site, its the standardized rename of the previously supported DW_TAG_GNU_call_site. build: - Fix compilation on 32-bit architectures. * Refresh patches. * Remove ctfdwdiff and README.cross so to reuse upstream tarball as-is. * Update Standards-Version to 4.5.1 * Update debhelper compatibility to 13: - install missing binaries: btfdiff and fullcircle * Add upstream metadata file * gbp: set upstream tarball compression to xz * Add lintian override for orig-tarball-missing-upstream-signature, see #882694. -- Domenico Andreoli Sun, 07 Feb 2021 17:59:01 +0100 dwarves-dfsg (1.19-1) unstable; urgency=high * New upstream release. Closes: #978691. Changes since 1.18: - Support split BTF, where a main BTF file, vmlinux, can be used to find types and then a kernel module, for instance, can have just what is unique to it - Update libbpf to get the split BTF support and use some of its functions to load BTF and speed up DWARF loading and BTF encoding - Support cross-compiled ELF binaries with different endianness - Support showing typedefs for anonymous types, like structs, unions and enums - Align enumerators - Workaround bugs in the generation of DWARF records for functions in some gcc versions that were causing breakage in the encoding of BTF - Ignore zero-sized ELF symbols instead of erroring out - Handle union forward declaration properly in the BTF loader - Introduce --numeric_version for use in scripts and Makefiles - Try sole pfunct argument as a function name, just like pahole with type names - Speed up pfunct using some of the load techniques used in pahole - Discard CUs after BTF encoding as they're not used anymore, greatly reducing memory usage and speeding up vmlinux BTF encoding - Revamp how per-CPU variables are encoded in BTF - Include BTF info for static functions - Use BTF's string APIs for strings management, greatly improving performance over the tsearch() - Increase size of DWARF lookup hash table, shaving off about 1 second out of about 20 seconds total for Linux BTF dedup - Stop BTF encoding when errors are found in some DWARF CU - Implement --packed, to show just packed structures, for instance, here are the top 5 packed data structures in the Linux kernel - Fix bug in distros such as OpenSUSE:15.2 where DW_AT_alignment isn't defined * Refresh patches. -- Domenico Andreoli Mon, 04 Jan 2021 23:33:54 +0100 dwarves-dfsg (1.18-1) unstable; urgency=medium [ Domenico Andreoli ] * New upstream release (changes since 1.17): - Use type information to pretty print raw data from stdin, all documented in the man pages, further information in the csets. - Store percpu variables in vmlinux BTF. This can be disabled when debugging kernel features being developed to use it. - pahole now should be segfault free when handling gdb test suit DWARF files, including ADA, FORTRAN, rust and dwp compressed files, the later being just flatly refused, that got left for v1.19. - Bail out on partial units for now, avoiding segfaults and providing warning to user, hopefully will be addressed in v1.19. Closes: #977715. * Update Homepage link. Closes: #978708. * Drop debian/compat in favor of Build-Depends: debhelper-compat. * Fix typo in pahole manual page. * Fix escaping in pahole manual page. * Fix debian/copyright lintian errors. * Revert test to a superficial pahole --version until partial units become supported. [ Luca Boccassi ] * Use packaged libbpf instead of the statically linked. Closes: #979105. -- Domenico Andreoli Sun, 03 Jan 2021 13:41:31 +0100 dwarves-dfsg (1.17-1) unstable; urgency=low * New upstream release (changes since 1.16): BTF loader: - Support raw BTF as available in /sys/kernel/btf/vmlinux. pahole: - When the sole argument passed isn't a file, take it as a class name: - Do not require a class name to operate without a file name. - Make --find_pointers_to consider unions: - Make --contains and --find_pointers_to honour --unions - Add support for finding pointers to void: - Make --contains and --find_pointers_to to work with base types: - Make --contains look for more than just unions, structs: - Consider unions when looking for classes containing some class: - Introduce --unions to consider just unions: - Fix -m/--nr_methods - Number of functions operating on a type pointer man-pages: - Add section about --hex + -E to locate offsets deep into sub structs. - Add more information about BTF. - Add some examples. * Update to Standards-Version 4.5.0: - Drop get-orig-source rules target - Add Rules-Requires-Root: no * Update debhelper compat to 12. -- Domenico Andreoli Sun, 19 Apr 2020 20:25:33 +0200 dwarves-dfsg (1.16-1) unstable; urgency=low * New upstream release (changes since 1.15): - Preserve and encode exported functions as BTF_KIND_FUNC - Add support for BTF_KIND_FUNC - Account inline type __aligned__ member types for spacing - Fix alignment of class members that are structs/enums/unions - Fixup handling classes with no members, solving a NULL deref - Avoid infinite loop trying to determine type with static data member of its own type. - type->type == 0 is void, fix --compile for that - Print DW_TAG_subroutine_type as well - Fix ptr_table__add_with_id() handling of pt->nr_entries, covering how BTF variables IDs are encoded - Allow passing the format path specifier, to use with BTF - Fixup issues pointed out by various coverity reports -- Domenico Andreoli Wed, 15 Jan 2020 18:02:11 +0100 dwarves-dfsg (1.15-2) unstable; urgency=low * Fix hardening-no-bindnow. * Fix debian-watch-uses-insecure-uri. * Fix debian-watch-does-not-check-gpg-signature. * Fix priority-extra-is-replaced-by-priority-optional. * Revert to dwarves-dbgsym for tests execution but skip the test if it's not installable (i.e. on transition to testing). -- Domenico Andreoli Mon, 23 Sep 2019 18:21:35 +0200 dwarves-dfsg (1.15-1) unstable; urgency=medium [ Theodore Y. Ts'o ] * New upstream release (changes since 1.12, closes: #931142): - Add support for BTF encoding which is a much more compact way of encoding C type information. It is derived from CTF (Compact C-Type format) and is designed for use with eBPF. - Add initial support for the DWARF DW_TAG_partial_unit - Improve support for pretty-printing unions - Teach pahole to show where a struct was used, via the -I option - Use the running kernel by default when no file name is passed - Improve man pages - Support new BTF deduplication algorithm found the Linux kernel's libbpf library, which allows type information for the kernel to be stored in roughly 1% of the space. - Add a new utility, btfdiff, which compares the pretty-printed type information between two kernel images. - Teach pahole to use the BTF information to pretty print structures using the BTF information using "pahole -F btf", which is much faster than using the Dwarf information. - Infer the __packed__ attribute for structures without alignment holes and which violate the natural types' alignment requirements. - Support DWARF5's DW_AT_alignment tag - Add a --compile option to pfunct which produces compileable output for function prototypes in an object file. - Miscellaneous bug fixes [ Domenico Andreoli ] * Autopkgtest on libc-bin-dbgsym instead of dwarves-dbgsym. Closes: #923717. * Fix typo in description of no_shared_no_ebl. -- Domenico Andreoli Tue, 30 Jul 2019 16:58:55 +0200 dwarves-dfsg (1.12-2) unstable; urgency=medium * Convert to dh. * Fix Homepage and Vcs-Git. * Fix depends on debhelper >= 10. * Remove trailing spaces from the Debian changelog. * Update copyright to copyright-format/1.0. Closes: #919356. -- Domenico Andreoli Wed, 27 Feb 2019 18:09:08 +0100 dwarves-dfsg (1.12-1) unstable; urgency=medium [ Domenico Andreoli ] * New upstram release. Closes: #908563, #779809, #693096, * Migrate to salsa.d.o and enable CI. Closes: #908564. * Migrate to DEP-14. * Drop patch DW_TAG_mutable_type (merged upstream). * Refresh patch no_shared_no_ebl. * Improve package description. Closes: #914527. * Add test executing pahole on itself. * Set debhelper compatibility level to 10. * Start using dh_strip_nondeterminism. [ Helmut Grohne ] * Let dh_auto_configure pass cross flags to cmake. Closes: #903506. -- Domenico Andreoli Mon, 19 Nov 2018 18:11:43 +0100 dwarves-dfsg (1.10-2.1) unstable; urgency=medium * Non-maintainer upload. [ Robie Basak ] * Fix FTBFS with newer elfutils. (Closes: #764484) -- James Cowgill Thu, 24 Mar 2016 13:01:08 +0000 dwarves-dfsg (1.10-2) unstable; urgency=low * Make sure CMake uses standard library location if host has no MultiArch. Closes: #665054. -- Thomas Girard Sat, 16 Jun 2012 10:50:15 +0200 dwarves-dfsg (1.10-1) unstable; urgency=low * New upstram release. * Record patches using dpkg-source --commit. Closes: #643102. * Use MultiArch elfutils location. Closes: #665054. * debian/control: change homepage to new location. * debian/watch: change source tarball location. * debian/control: bump Standards-Version: to 3.9.3. No changes needed. * debian/rules: add missing build-arch and build-indep targets. -- Thomas Girard Fri, 08 Jun 2012 20:55:03 +0200 dwarves-dfsg (1.9-1) unstable; urgency=low * Acknowledge 1.3-1.1 NMU (thanks to Michael Banck) and resynch with Ubuntu release (thanks Bhavani Shankar). * New upstream release: - patch from 1.3-1.1ubuntu1 no longer needed. - new manpage for pahole. - new program scncopy to copy ELF sections. - fixes crash when encountering a pointer in a struct. Closes: #513573. - recognizes C++ classes. Closes: #621530. - no longer FTBFS with gcc 4.6. Closes: #625158. * Remove libebl detection and use. Closes: #534529. * debian/control: - bump debhelper level to 7. - add Vcs-Git: and Vcs-Browser: - bump Standards-Version: to 3.9.2. - add zlib1g-dev build dependency. * debian/copyright: add missing copyright holders. * debian/rules: - allow to be compiled twice in a row. - ensure package building aborts if a program is not installed. - use dh_prep instead of dh_clean -k. * debian/dwarves.install: - include syscse. Closes: #517180. - add ctracer. See README.ctracer for information on how to use it. * Switch to dpkg-source 3.0 (quilt) format. * Fix many lintian warnings. -- Thomas Girard Mon, 02 May 2011 19:34:31 +0200 dwarves-dfsg (1.3-1.1ubuntu1) maverick; urgency=low * dwarwes-dfsg-1.3/src/dwarves.c: + Add missing headers to fix undefined reference to `S_IS*' linker error with gcc 4.5 LP: #602367 -- Bhavani Shankar Tue, 06 Jul 2010 22:20:38 +0530 dwarves-dfsg (1.3-1.1) unstable; urgency=low * Non-maintainer upload. * Applied patch by Peter Green (Closes: #534084) + cmake/modules/FindDWARF.cmake: Removed libebl support. + debian/control (Build-Depends): Removed libebl-dev. -- Michael Banck Sun, 29 Nov 2009 12:45:58 +0100 dwarves-dfsg (1.3-1) unstable; urgency=low * Initial release, based on Domenico Andreoli work. Closes: #436522. -- Thomas Girard Mon, 24 Dec 2007 10:14:17 +0100