All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Alan Maguire <alan.maguire@oracle.com>
Cc: Jiri Olsa <jolsa@kernel.org>,
	Clark Williams <williams@redhat.com>,
	dwarves@vger.kernel.org,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	bpf@vger.kernel.org, Yonghong Song <yonghong.song@linux.dev>,
	Andrii Nakryiko <andrii@kernel.org>
Subject: Re: RFT: coverage analysis and lots more regression tests in the 'next' branch. Was: Re: [PATCH v2 0/9] pahole: Support cross-CU type references and dwz alternate debug files
Date: Sun, 30 Aug 2026 21:18:46 -0300	[thread overview]
Message-ID: <apTIZoZoxj_gGx_e@x2> (raw)
In-Reply-To: <5e3b9e48-00f5-43d1-a383-2b1c59342e87@oracle.com>

On Sun, Aug 30, 2026 at 06:08:49PM +0100, Alan Maguire wrote:
> On 29/08/2026 21:21, Arnaldo Carvalho de Melo wrote:
> > On Fri, Aug 28, 2026 at 07:59:24PM -0300, Arnaldo Carvalho de Melo wrote:
> >> I'm now in the process of cherry picking non-Rust related patches,
> >> things that don't touch the .c files in the tree, just adding coverage
> >> analysis, tons of tests and scripts for helping us do bisection tests,
> >> etc.
  
> >> I just pushed out the first batch to the next branch, I invite people to
> >> try it and report results, it should help us to catch problems sooner by
> >> testing most of the paths in the codebase, which is super important
> >> these days where we are having (or will have) tons of patches being
> >> submitted.

> > Got all of the coverage analysis and new regression tests on the next
> > branch, and run the 'build-and-test.sh' script on my set of containers,
> > where all the test ran on:
 
> This looks fantastic! I ran it thru CI: 

Yeah, lots of tests, some simple, some more involved, and several
scripts to help in development, like the one for test build after a
range of patches :-)
 
> https://github.com/alan-maguire/dwarves/actions/runs/33255515875
 
> Let's get the coverage report enabled as part of CI too..

Right, taking a look at it before after patches seems like a good way to
notice the need for further tests to cover new code or further test
existing one.

Since it sat there for a couple days and you run it throug CI and it
passed, I'm moving it from next to master, I still have some branches to
merge but will concentrate on the rust patches as we need to experiment
for our talk at LPC, but will do it in a separate development branch,
leaving what is in master for a few more days to then cut 1.32, as there
are requests from at least Fedora for a new release as users are needing
features that are post 1.31.

Thanks for testing it!

- Arnaldo
 
> > 
> > toolsbuilder@five:~$ cat dm.log/summary
> > Subject: tools build test for http://192.168.86.5/pahole/dwarves-1.31.tar.xz build-and-test-cmd.sh
> > 
> >    1    78.93 almalinux:8                   : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-28) , clang version 21.1.8 ( 21.1.8-1.module_el8.10.0+4172+b6b13d75) flex 2.6.1
> >    2   158.15 almalinux:9                   : Ok   gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-14) , clang version 21.1.8 (AlmaLinux OS Foundation 21.1.8-2.el9) flex 2.6.4
> >    3    36.95 almalinux:9-i386              : Ok   gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-14) , clang version 21.1.8 (AlmaLinux OS Foundation 21.1.8-2.el9) flex 2.6.4
> >    4   167.45 almalinux:10                  : Ok   gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4) , clang version 21.1.8 (AlmaLinux OS Foundation 21.1.8-1.el10.alma.1) flex 2.6.4
> >    5   293.08 alpine:3.22                   : Ok   gcc (Alpine 14.2.0) 14.2.0 , Alpine clang version 20.1.8 flex 2.6.4
> >    6   289.06 alpine:3.23                   : Ok   gcc (Alpine 15.2.0) 15.2.0 , Alpine clang version 21.1.2 flex 2.6.4
> >    7   255.51 alpine:3.24                   : Ok   gcc (Alpine 15.2.0) 15.2.0 , Alpine clang version 22.1.3 flex 2.6.4
> >    8   262.55 alpine:edge                   : Ok   gcc (Alpine 15.2.0) 15.2.0 , Alpine clang version 22.1.8 flex 2.6.4
> >    9   152.16 amazonlinux:2023              : Ok   gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5) , clang version 15.0.7 (AWS 15.0.7-3.amzn2023.0.4) flex 2.6.4
> >   10   152.38 amazonlinux:devel             : Ok   gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) , clang version 15.0.6 (Amazon Linux 15.0.6-3.amzn2023.0.2) flex 2.6.4
> >   11   171.22 archlinux:base                : Ok   gcc (GCC) 16.2.1 20260810 , clang version 22.1.8 flex 2.6.4
> >   12   160.21 centos:stream                 : Ok   gcc (GCC) 14.4.1 20260724 (Red Hat 14.4.1-2) , clang version 22.1.8 (CentOS 22.1.8-1.el10) flex 2.6.4
> >   13    77.34 debian:11                     : Ok   gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 13.0.1-6~deb11u1 flex 2.6.4
> >   14   154.23 debian:12                     : Ok   gcc (Debian 12.2.0-14+deb12u1) 12.2.0 , Debian clang version 14.0.6 flex 2.6.4
> >   15   157.32 debian:13                     : Ok   gcc (Debian 14.2.0-19) 14.2.0 , Debian clang version 19.1.7 (3+b1) flex 2.6.4
> >   16   156.96 debian:experimental           : Ok   gcc (Debian 16.1.0-3) 16.1.0 , Debian clang version 21.1.8 (10) flex 2.6.4
> >   17   157.12 fedora:40                     : Ok   gcc (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3) , clang version 18.1.8 (Fedora 18.1.8-2.fc40) flex 2.6.4
> >   18   158.62 fedora:41                     : Ok   gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4) , clang version 19.1.7 (Fedora 19.1.7-5.fc41) flex 2.6.4
> >   19   161.74 fedora:42                     : Ok   gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7) , clang version 20.1.8 (Fedora 20.1.8-4.fc42) flex 2.6.4
> >   20   160.37 fedora:43                     : Ok   gcc (GCC) 15.3.1 20260722 (Red Hat 15.3.1-1) , clang version 21.1.8 (Fedora 21.1.8-6.fc43) flex 2.6.4
> >   21   239.67 fedora:44                     : Ok   gcc (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2) , clang version 22.1.8 (Fedora 22.1.8-4.fc44) flex 2.6.4
> >   22   238.08 fedora:45                     : Ok   gcc (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2) , clang version 22.1.8 (Fedora 22.1.8-20.fc45) flex 2.6.4
> >   23   170.21 fedora:rawhide                : Ok   gcc (GCC) 16.1.1 20260703 (Red Hat 16.1.1-4) , clang version 22.1.8 (Fedora 22.1.8-20.fc45) flex 2.6.4
> >   24    89.22 gentoo:stage3                 : Ok   gcc (Gentoo 15.3.0 p8) 15.3.0  flex 2.6.4
> >   25   166.60 manjaro:base                  : Ok   gcc (GCC) 16.1.1 20260625 , clang version 22.1.6 flex 2.6.4
> >   26   172.84 opensuse:16.0                 : Ok   gcc (SUSE Linux) 15.3.0 , clang version 19.1.7 flex 2.6.4
> >   27   166.50 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 15.3.0 , clang version 22.1.8 flex 2.6.4
> >   28    80.73 oraclelinux:8                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-28.0.1) , clang version 21.1.8 ( 21.1.8-1.module+el8.10.0+90887+a5269809) flex 2.6.1
> >   29   162.06 oraclelinux:9                 : Ok   gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-14.0.1) , clang version 21.1.8 ( 21.1.8-2.el9) flex 2.6.4
> >   30   164.88 oraclelinux:10                : Ok   gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4.0.1) , clang version 21.1.8 (Oracle America 21.1.8-1.el10) flex 2.6.4
> >   31    82.10 rockylinux:8                  : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-28) , clang version 21.1.8 (RESF 21.1.8-1.module+el8.10.0+40180+8e26bdb3) flex 2.6.1
> >   32   162.01 rockylinux:9                  : Ok   gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-14) , clang version 21.1.8 (RESF 21.1.8-2.el9) flex 2.6.4
> >   33   166.23 rockylinux:10                 : Ok   gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4) , clang version 21.1.8 (RESF 21.1.8-1.el10) flex 2.6.4
> >   34   169.75 ubuntu:22.04                  : Ok   gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0 , Ubuntu clang version 14.0.0-1ubuntu1.1 flex 2.6.4
> >   35   162.24 ubuntu:24.04                  : Ok   gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0 , Ubuntu clang version 18.1.3 (1ubuntu1) flex 2.6.4
> >   36   162.16 ubuntu:25.04                  : Ok   gcc (Ubuntu 14.2.0-19ubuntu2) 14.2.0 , Ubuntu clang version 20.1.2 (0ubuntu1) flex 2.6.4
> >   37   161.96 ubuntu:25.10                  : Ok   gcc (Ubuntu 15.2.0-4ubuntu4) 15.2.0 , Ubuntu clang version 20.1.8 (0ubuntu4) flex 2.6.4
> >   38   163.52 ubuntu:26.04                  : Ok   gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 , Ubuntu clang version 21.1.8 (6ubuntu1) flex 2.6.4
> > BUILD_TARBALL_HEAD=eeb6956261d2fbe71715f0633a68fdc840b5f5ce
> > 39 6242.1
> > toolsbuilder@five:~$
> > 
> > For instance:
> > 
> > toolsbuilder@five:~$ cat dm.log/fedora\:rawhide 
> > fedora:rawhide
> > Downloading http://192.168.86.5/pahole/dwarves-1.31.tar.xz...
> >   % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
> >                                  Dload  Upload  Total   Spent   Left   Speed
> > 100  2.34M 100  2.34M   0      0 530.8M      0                              0
> > dwarves-1.31/config.h.cmake
> > dwarves-1.31/btfdiff
> > <SNIP>
> > dwarves-1.31/tests/typedef_chain.sh
> > dwarves-1.31/tests/.test-times.seed
> > dwarves-1.31/HEAD
> > BUILD_TARBALL_HEAD=eeb6956261d2fbe71715f0633a68fdc840b5f5ce
> > Using built-in specs.
> > COLLECT_GCC=gcc
> > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/16/lto-wrapper
> > OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
> > OFFLOAD_TARGET_DEFAULT=1
> > Target: x86_64-redhat-linux
> > Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,cobol,algol68,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugzilla.redhat.com/ --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-16.1.1-build/gcc-16.1.1-20260703/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-tls=gnu2 --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1 --disable-libssp
> > Thread model: posix
> > Supported LTO compression algorithms: zlib zstd
> > gcc version 16.1.1 20260703 (Red Hat 16.1.1-4) (GCC) 
> > -- The C compiler identification is GNU 16.1.1
> > -- Detecting C compiler ABI info
> > -- Detecting C compiler ABI info - done
> > -- Check for working C compiler: /usr/bin/cc - skipped
> > -- Detecting C compile features
> > -- Detecting C compile features - done
> > -- Setting BUILD_SHARED_LIBS = ON
> > -- Checking availability of DWARF and ELF development libraries
> > -- Looking for dwfl_module_build_id in elf
> > -- Looking for dwfl_module_build_id in elf - found
> > -- Found dwarf.h header: /usr/include
> > -- Found elfutils/libdw.h header: /usr/include
> > -- Found libdw library: /usr/lib64/libdw.so
> > -- Found libelf library: /usr/lib64/libelf.so
> > -- Checking availability of DWARF and ELF development libraries - done
> > -- Found ZLIB: /usr/lib64/libz.so (found version "1.3.1")
> > -- Checking availability of argp library
> > -- Assuming argp is in libc
> > -- Checking availability of argp library - done
> > -- Checking availability of obstack library
> > -- Assuming obstack is in libc
> > -- Checking availability of obstack library - done
> > -- Version: v1.31-tarball-g416753b4ba90 (from HEAD file)
> > -- Performing Test HAVE_REALLOCARRAY_SUPPORT
> > -- Performing Test HAVE_REALLOCARRAY_SUPPORT - Success
> > -- Configuring done (0.6s)
> > -- Generating done (0.0s)
> > -- Build files have been written to: /git/dwarves-1.31/build
> > make: Entering directory '/git/dwarves-1.31/build'
> > [  1%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/btf.c.o
> > [  3%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/features.c.o
> > [  5%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/bpf.c.o
> > [  8%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/btf_relocate.c.o
> > [  8%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/btf_dump.c.o
> > [ 10%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/hashmap.c.o
> > [ 13%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/bpf_prog_linfo.c.o
> > [ 13%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/libbpf.c.o
> > [ 15%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/libbpf_probes.c.o
> > [ 18%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/libbpf_utils.c.o
> > [ 20%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/linker.c.o
> > [ 20%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/btf_iter.c.o
> > [ 22%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/elf.c.o
> > [ 24%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/gen_loader.c.o
> > [ 25%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/netlink.c.o
> > [ 27%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/nlattr.c.o
> > [ 29%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/ringbuf.c.o
> > [ 31%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/relo_core.c.o
> > [ 32%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/usdt.c.o
> > [ 36%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/strset.c.o
> > [ 36%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/zip.c.o
> > [ 36%] Built target bpf
> > [ 39%] Building C object CMakeFiles/dwarves.dir/dwarves.c.o
> > [ 39%] Building C object CMakeFiles/dwarves.dir/dwarves_fprintf.c.o
> > [ 43%] Building C object CMakeFiles/dwarves.dir/rbtree.c.o
> > [ 43%] Building C object CMakeFiles/dwarves.dir/libctf.c.o
> > [ 46%] Building C object CMakeFiles/dwarves.dir/ctf_loader.c.o
> > [ 48%] Building C object CMakeFiles/dwarves.dir/gobuffer.c.o
> > [ 51%] Building C object CMakeFiles/dwarves.dir/btf_loader.c.o
> > [ 51%] Building C object CMakeFiles/dwarves.dir/elf_symtab.c.o
> > [ 48%] Building C object CMakeFiles/dwarves.dir/btf_encoder.c.o
> > [ 53%] Building C object CMakeFiles/dwarves.dir/dwarf_loader.c.o
> > [ 55%] Building C object CMakeFiles/dwarves.dir/dutil.c.o
> > [ 56%] Linking C shared library libdwarves.so
> > [ 56%] Built target dwarves
> > [ 60%] Building C object CMakeFiles/syscse.dir/syscse.c.o
> > [ 62%] Building C object CMakeFiles/dtagnames.dir/dtagnames.c.o
> > [ 65%] Building C object CMakeFiles/prefcnt.dir/prefcnt.c.o
> > [ 65%] Building C object CMakeFiles/dwarves_emit.dir/dwarves_emit.c.o
> > [ 72%] Building C object CMakeFiles/scncopy.dir/scncopy.c.o
> > [ 68%] Building C object CMakeFiles/pglobal.dir/pglobal.c.o
> > [ 62%] Building C object CMakeFiles/pdwtags.dir/pdwtags.c.o
> > [ 72%] Building C object CMakeFiles/dwarves_reorganize.dir/dwarves_reorganize.c.o
> > [ 68%] Building C object CMakeFiles/codiff.dir/codiff.c.o
> > [ 74%] Building C object CMakeFiles/scncopy.dir/elfcreator.c.o
> > [ 75%] Linking C executable dtagnames
> > [ 79%] Linking C executable pdwtags
> > [ 81%] Linking C executable syscse
> > [ 81%] Linking C executable prefcnt
> > [ 82%] Linking C executable pglobal
> > [ 84%] Linking C executable scncopy
> > [ 86%] Linking C shared library libdwarves_reorganize.so
> > [ 86%] Built target dtagnames
> > [ 86%] Built target pdwtags
> > [ 86%] Built target pglobal
> > [ 86%] Built target prefcnt
> > [ 86%] Built target syscse
> > [ 87%] Linking C shared library libdwarves_emit.so
> > [ 87%] Built target scncopy
> > [ 87%] Built target dwarves_reorganize
> > [ 87%] Built target dwarves_emit
> > [ 89%] Linking C executable codiff
> > [ 91%] Building C object CMakeFiles/pahole.dir/pahole.c.o
> > [ 93%] Building C object CMakeFiles/ctracer.dir/ctracer.c.o
> > [ 94%] Building C object CMakeFiles/pfunct.dir/pfunct.c.o
> > [ 94%] Built target codiff
> > [ 98%] Linking C executable ctracer
> > [ 98%] Linking C executable pfunct
> > [ 98%] Built target pfunct
> > [ 98%] Built target ctracer
> > [100%] Linking C executable pahole
> > [100%] Built target pahole
> > make: Leaving directory '/git/dwarves-1.31/build'
> > Testing pahole version:
> >   v1.31-tarball-g416753b4ba90
> > 
> > Verbose mode enabled - showing diagnostic information:
> >   Architecture: x86_64
> >   CPUs: 32
> >   Memory: 62.7 GB
> >   Swap: 8.0 GB
> >   Parallelism: unlimited (all tests run in parallel)
> >     Tip: On low-memory systems, use -j to limit parallelism (e.g., -j 4 or -j 1)
> >   Test artifacts: /tmp/pahole-tests/
> >   Compiler: gcc (GCC) 16.1.1 20260703 (Red Hat 16.1.1-4)
> >   libc: ldd (GNU libc) 2.44
> >   bpftool: bpftool v7.7.0
> >   VMLINUX: /tmp/vmlinux
> >   PERF_BIN: not set
> >   PERF_SRC_DIR: not set
> > 
> >   1: dwarves_emit.c: _Atomic type compile emission.                     : Ok
> >   2: _Atomic type display and --skip_emitting_atomic_typedefs.          : Ok
> >   3: Auxiliary tools: pglobal, prefcnt, dtagnames.                      : Ok
> >   4: Bitfield layout and data member filtering.                         : Ok
> >   5: dwarf_loader coverage: bitfields, templates, enums, inlines.       : Ok
> >   6: Bitfield typedef recoding (tag__recode_dwarf_bitfield).            : Ok
> >   7: BTF arena type tag encoding for kfuncs.                            : Ok
> >   8: BTF multi-dimensional array encoding and round-trip.               : Ok
> >   9: BTF bitfield encoding and loading round-trip.                      : Ok
> >  10: BTF VAR and DATASEC encoding for global variables.                 : Ok
> >  11: BTF deduplication of array types across CUs.                       : Ok
> >  12: Distilled base BTF generation.                                     : Ok
> >  13: BTF encoding options.                                              : Ok
> >  14: BTF encoder coverage.                                              : Ok
> >  15: Validation of BTF encoding of functions.                           : Ok
> >  16: BTF_KIND_FWD encoding and loading round-trip.                      : Ok
> >  17: BTF encoding with invalid symbol names.                            : Ok
> >  18: Split BTF encoding (vmlinux base + kernel module).                 : Skip (no loaded module with debuginfod-available debuginfo found)
> >  19: Check BTF type tag order.                                          : Ok
> >  20: BTF FLOAT and ENUM64 type encoding.                                : Ok
> >  21: BTF encoder verbose logging coverage.                              : Ok
> >  23: BTF encoding into ELF via pahole -J (btf_encoder__write_elf).      : Ok
> >  24: BTF true_signature: clang optimized aggregate parameters (2 structs: Ok
> >  25: BTF true_signature: clang optimized aggregate parameters (2 structs: Ok
> >  26: BTF true_signature: clang optimized with large union parameter     : Ok
> >  27: BTF true_signature: clang optimized parameters (scalar)            : Ok
> >  28: BTF true_signature: clang optimized with stack parameters (9 params: Ok
> >  29: BTF true_signature: clang optimized with stack parameters (non-stat: Ok
> >  30: Class name list from file.                                         : Ok
> >  31: CLI display and filtering options.                                 : Ok
> >  32: codiff struct comparison.                                          : Ok
> >  33: codiff coverage: terse, functions, verbose, multi-CU.              : Ok
> >  34: codiff member change coverage.                                     : Ok
> >  35: codiff multi-CU: __cus__find_cu_by_name coverage.                  : Ok
> >  36: Compilable output and type filtering.                              : Ok
> >  37: Type containment and pointer search.                               : Ok
> >  38: C++ namespace and using-declaration display.                       : Ok
> >  39: C++ variadic template parameter pack handling.                     : Ok
> >  40: Class name filtering.                                              : Ok
> >  41: Default BTF on a system without BTF.                               : Ok
> >  42: Display format options.                                            : Ok
> >  43: dwarf_loader.c edge cases: bitfield recode, inlining, call sites.  : Ok
> >  44: dwarves.c core API coverage.                                       : Ok
> >  45: DWZ alternate debug file type resolution.                          : Ok
> >  46: Atomic typedef emission.                                           : Ok
> >  47: Legacy atomic_ base type emission via --compile (hand-crafted DWARF: Ok
> >  48: dwarves_emit.c / dwarves_reorganize.c coverage.                    : Ok
> >  49: Enumerator search.                                                 : Ok
> >  50: Expand pointers option.                                            : Ok
> >  51: Type expansion and anonymous struct options.                       : Ok
> >  52: Flexible arrays accounting.                                        : Ok
> >  53: Validation of GCC optimized parameters in default BTF.             : Ok
> >  54: Validation of BTF encoding of true_signatures.                     : Skip (no optimizations applied.)
> >  56: Multi-file loading (cus__load_files).                              : Ok
> >  57: Version output.                                                    : Ok
> >  58: Header, range and seek_bytes prettify paths.                       : Ok
> >  59: pahole.c scattered option paths.                                   : Ok
> >  60: pdwtags DWARF tag display.                                         : Ok
> >  61: Check that pfunct can print btf_decl_tags read from BTF.           : Ok
> >  62: pfunct coverage: symtab, class, expand_types, compile.             : Ok
> >  63: pfunct function statistics.                                        : Ok
> >  64: pglobal basic: variables, functions, static exclusion.             : Ok
> >  65: prefcnt.c: reference counting coverage.                            : Ok
> >  68: Cacheline boundary display with large structs.                     : Ok
> >  70: Sizes and holes display.                                           : Ok
> >  71: Small files coverage: elf_symtab, gobuffer, dutil, pglobal.        : Ok
> >  72: Sort output and separator.                                         : Ok
> >  73: Typedef chain display.                                             : Ok
> >  55: Compare parallel vs merged CU loading for inter-CU type references.: Ok    
> >  66: Pretty printing of files using DWARF type information.             : Ok    
> >  67: Prototype expression parsing and prettify.                         : Ok
> >  69: Parallel reproducible DWARF Loading/Serial BTF encoding.           : Ok    
> >  22: BTF encoding on vmlinux.                                           : Ok    
> > Saved timing data to .test-times (73 tests)
> > 
> > + '[' ']'
> > + set +o xtrace
> > clang version 22.1.8 (Fedora 22.1.8-20.fc45)
> > Target: x86_64-redhat-linux-gnu
> > Thread model: posix
> > InstalledDir: /usr/bin
> > Configuration file: /etc/clang/x86_64-redhat-linux-gnu-clang.cfg
> > System configuration file directory: /etc/clang/
> > Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/16
> > Selected GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/16
> > Candidate multilib: .;@m64
> > Candidate multilib: 32;@m32
> > Selected multilib: .;@m64
> > mkdir: cannot create directory 'build': File exists
> > -- Setting BUILD_SHARED_LIBS = ON
> > -- Checking availability of DWARF and ELF development libraries
> > -- Checking availability of DWARF and ELF development libraries - done
> > -- Checking availability of argp library
> > -- Assuming argp is in libc
> > -- Checking availability of argp library - done
> > -- Checking availability of obstack library
> > -- Assuming obstack is in libc
> > -- Checking availability of obstack library - done
> > -- Version: v1.31-tarball-g416753b4ba90 (from HEAD file)
> > -- Configuring done (0.1s)
> > -- Generating done (0.0s)
> > -- Build files have been written to: /git/dwarves-1.31/build
> > make: Entering directory '/git/dwarves-1.31/build'
> > [ 36%] Built target bpf
> > [ 56%] Built target dwarves
> > [ 65%] Built target dwarves_reorganize
> > [ 67%] Built target dwarves_emit
> > [ 67%] Built target dtagnames
> > [ 70%] Built target codiff
> > [ 74%] Built target pdwtags
> > [ 77%] Built target pglobal
> > [ 82%] Built target scncopy
> > [ 86%] Built target syscse
> > [ 89%] Built target prefcnt
> > [ 93%] Built target ctracer
> > [ 96%] Built target pfunct
> > [100%] Built target pahole
> > make: Leaving directory '/git/dwarves-1.31/build'
> > Testing pahole version:
> >   v1.31-tarball-g416753b4ba90
> > 
> > Verbose mode enabled - showing diagnostic information:
> >   Architecture: x86_64
> >   CPUs: 32
> >   Memory: 62.7 GB
> >   Swap: 8.0 GB
> >   Parallelism: unlimited (all tests run in parallel)
> >     Tip: On low-memory systems, use -j to limit parallelism (e.g., -j 4 or -j 1)
> >   Test artifacts: /tmp/pahole-tests/
> >   Compiler: clang version 22.1.8 (Fedora 22.1.8-20.fc45)
> >   libc: ldd (GNU libc) 2.44
> >   bpftool: bpftool v7.7.0
> >   VMLINUX: /tmp/vmlinux
> >   PERF_BIN: not set
> >   PERF_SRC_DIR: not set
> > 
> >   1: dwarves_emit.c: _Atomic type compile emission.                     : Ok
> >   2: _Atomic type display and --skip_emitting_atomic_typedefs.          : Ok
> >   3: Auxiliary tools: pglobal, prefcnt, dtagnames.                      : Ok
> >   4: Bitfield layout and data member filtering.                         : Ok
> >   5: dwarf_loader coverage: bitfields, templates, enums, inlines.       : Ok
> >   6: Bitfield typedef recoding (tag__recode_dwarf_bitfield).            : Ok
> >   7: BTF arena type tag encoding for kfuncs.                            : Ok
> >   8: BTF multi-dimensional array encoding and round-trip.               : Ok
> >   9: BTF bitfield encoding and loading round-trip.                      : Ok
> >  10: BTF VAR and DATASEC encoding for global variables.                 : Ok
> >  11: BTF deduplication of array types across CUs.                       : Ok
> >  12: Distilled base BTF generation.                                     : Ok
> >  13: BTF encoding options.                                              : Ok
> >  14: BTF encoder coverage.                                              : Ok
> >  15: Validation of BTF encoding of functions.                           : Ok
> >  16: BTF_KIND_FWD encoding and loading round-trip.                      : Ok
> >  17: BTF encoding with invalid symbol names.                            : Ok
> >  18: Split BTF encoding (vmlinux base + kernel module).                 : Skip (no loaded module with debuginfod-available debuginfo found)
> >  19: Check BTF type tag order.                                          : Ok
> >  20: BTF FLOAT and ENUM64 type encoding.                                : Ok
> >  21: BTF encoder verbose logging coverage.                              : Ok
> >  22: BTF encoding into ELF via pahole -J (btf_encoder__write_elf).      : Ok
> >  23: BTF true_signature: clang optimized aggregate parameters (2 structs: Ok
> >  24: BTF true_signature: clang optimized aggregate parameters (2 structs: Ok
> >  25: BTF true_signature: clang optimized with large union parameter     : Ok
> >  26: BTF true_signature: clang optimized parameters (scalar)            : Ok
> >  27: BTF true_signature: clang optimized with stack parameters (9 params: Ok
> >  28: BTF true_signature: clang optimized with stack parameters (non-stat: Ok
> >  29: Class name list from file.                                         : Ok
> >  30: CLI display and filtering options.                                 : Ok
> >  31: codiff struct comparison.                                          : Ok
> >  32: codiff coverage: terse, functions, verbose, multi-CU.              : Ok
> >  33: codiff member change coverage.                                     : Ok
> >  34: codiff multi-CU: __cus__find_cu_by_name coverage.                  : Ok
> >  35: Compilable output and type filtering.                              : Ok
> >  36: Type containment and pointer search.                               : Ok
> >  37: C++ namespace and using-declaration display.                       : Ok
> >  38: C++ variadic template parameter pack handling.                     : Ok
> >  39: Class name filtering.                                              : Ok
> >  40: Default BTF on a system without BTF.                               : Ok
> >  41: Display format options.                                            : Ok
> >  42: dwarf_loader.c edge cases: bitfield recode, inlining, call sites.  : Ok
> >  43: dwarves.c core API coverage.                                       : Ok
> >  44: DWZ alternate debug file type resolution.                          : Ok
> >  45: Atomic typedef emission.                                           : Ok
> >  46: Legacy atomic_ base type emission via --compile (hand-crafted DWARF: Ok
> >  47: dwarves_emit.c / dwarves_reorganize.c coverage.                    : Ok
> >  48: Enumerator search.                                                 : Ok
> >  49: Expand pointers option.                                            : Ok
> >  50: Type expansion and anonymous struct options.                       : Ok
> >  51: Flexible arrays accounting.                                        : Ok
> >  52: Validation of GCC optimized parameters in default BTF.             : Ok
> >  53: Validation of BTF encoding of true_signatures.                     : Skip (no optimizations applied.)
> >  54: Multi-file loading (cus__load_files).                              : Ok
> >  55: Version output.                                                    : Ok
> >  56: Header, range and seek_bytes prettify paths.                       : Ok
> >  57: pahole.c scattered option paths.                                   : Ok
> >  58: pdwtags DWARF tag display.                                         : Ok
> >  59: Check that pfunct can print btf_decl_tags read from BTF.           : Ok
> >  60: pfunct coverage: symtab, class, expand_types, compile.             : Ok
> >  61: pfunct function statistics.                                        : Ok
> >  62: pglobal basic: variables, functions, static exclusion.             : Ok
> >  63: prefcnt.c: reference counting coverage.                            : Ok
> >  64: Cacheline boundary display with large structs.                     : Ok
> >  65: Sizes and holes display.                                           : Ok
> >  66: Small files coverage: elf_symtab, gobuffer, dutil, pglobal.        : Ok
> >  67: Sort output and separator.                                         : Ok
> >  68: Typedef chain display.                                             : Ok
> >  70: Compare parallel vs merged CU loading for inter-CU type references.: Ok
> >  71: Pretty printing of files using DWARF type information.             : Ok
> >  72: Prototype expression parsing and prettify.                         : Ok
> >  73: Parallel reproducible DWARF Loading/Serial BTF encoding.           : Ok    
> >  69: BTF encoding on vmlinux.                                           : Ok    
> > Saved timing data to .test-times (73 tests)
> > 
> > toolsbuilder@five:~$ 
> > 
> > 

  reply	other threads:[~2026-08-31  0:18 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-21 21:34 [PATCH v2 0/9] pahole: Support cross-CU type references and dwz alternate debug files Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 1/9] dwarf_loader: Initial support for DW_TAG_variant_part Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 2/9] dwarf_loader: Initial support for DW_TAG_subprogram in DW_TAG_enumeration Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 3/9] dwarf_loader: Allow forcing the merge of CUs for solving inter CU tag references Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 4/9] dwarf_loader: Support DW_TAG_imported_unit for same-file partial units Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 5/9] dwarf_loader: Fix cus__merging_cu failing to detect DW_FORM_ref_addr Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 6/9] tests: Add inter-CU type reference comparison test Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 7/9] dwarf_loader: Add cu parameter to tag__set_spec() and dwarf_tag__set_attr_type() Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 8/9] dwarf_loader: Support DW_FORM_GNU_ref_alt references to dwz alternate debug files Arnaldo Carvalho de Melo
2026-08-21 21:35 ` [PATCH v2 9/9] scripts: Add vmlinux_comparison.py for DWARF/BTF analysis Arnaldo Carvalho de Melo
2026-08-26  0:52 ` [PATCH v2 0/9] pahole: Support cross-CU type references and dwz alternate debug files Arnaldo Carvalho de Melo
2026-08-26 11:43   ` Alan Maguire
2026-08-26 13:10     ` Arnaldo Carvalho de Melo
2026-08-28 14:05       ` Alan Maguire
2026-08-28 22:59         ` Arnaldo Carvalho de Melo
2026-08-29 20:21           ` RFT: coverage analysis and lots more regression tests in the 'next' branch. Was: " Arnaldo Carvalho de Melo
2026-08-30 17:08             ` Alan Maguire
2026-08-31  0:18               ` Arnaldo Carvalho de Melo [this message]
2026-08-31  0:48                 ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=apTIZoZoxj_gGx_e@x2 \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=alan.maguire@oracle.com \
    --cc=andrii@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=dwarves@vger.kernel.org \
    --cc=jolsa@kernel.org \
    --cc=williams@redhat.com \
    --cc=yonghong.song@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.