$ git log --pretty=format:'%h %s (%cs)%d'
d1dda58f elfcreator: Fix NULL dereference in remove_dyn() (2026-01-12)
(HEAD -> master, tmp.master, next)
4d197b2a scncopy: Fix error handling when opening file (2026-01-12)
4783a4dd dwarf_loader: Handle DW_AT_location attrs containing DW_OP_plus_uconst (2026-01-06)
8b536f4e btf_encoder: Factor out BPF kfunc emission (2025-11-13)
2385c55f btf_encoder: Refactor btf_encoder__add_func_proto (2025-11-13)
7a7ff77a btf_encoder: Remove encoder pointer from btf_encoder_func_state (2025-11-13)
1f2805b6 Prep 1.31 (2025-11-07)
(tag: v1.31)
f33ac6dc btf_encoder: Move ambiguous_addr flag to elf_function (2025-10-09)
09c1e9c9 btf_encoder: Group all function ELF syms by function name (2025-08-22)
fe6738f4 btf_encoder: Fix elf_functions cleanup on error (2025-08-20)
...
$ git cat-file blob HEAD:README
Build instructions:
1. install cmake
2. mkdir build
3. cd build
4. cmake ..
5. make install
cmake Options:
-DBUILD_SHARED_LIBS
By default SHARED libraries are created and applications are linked to it.
Use -DBUILD_SHARED_LIBS=OFF while invoking cmake to create STATIC libraries
and link applications to it.
Ex. cmake -DBUILD_SHARED_LIBS=OFF ..
-DCMAKE_INSTALL_PREFIX
Default is to install to /usr/local, use -DCMAKE_INSTALL_PREFIX=
when invoking cmake to specify another install location.
-DCMAKE_INSTALL_LIBDIR
Default is to install to lib or lib64, use -DCMAKE_INSTALL_LIBDIR=
when invoking cmake to specify another install location.
You may need to update the libbpf git submodule:
git submodule update --init --recursive
Testing:
Tests are available in the tests subdirectory and should be run prior to
submitting patches. Patches that add functionality should add to tests
here also. Tests can be run by
- running the scripts directly using a pre-existing vmlinux binary; i.e.
cd tests ; vmlinux=/path/2/vmlinux ./tests
(the vmlinux binary must contain DWARF to be converted to BTF)
- running the tests via local scripts in .github/scripts; i.e.
bash .github/scripts/build-pahole.sh; \
bash .github/scripts/build-kernel.sh; \
bash .github/scripts/run-selftests.sh
- via GitHub actions: push a branch to a GitHub repo; actions will be
triggered for build and test matching the above steps. See the "Actions"
tab in the github repo for info on job pass/fail and logs.
# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
* master elfcreator: Fix NULL dereference in remove_dyn() (2026-01-12)
next elfcreator: Fix NULL dereference in remove_dyn() (2026-01-12)
tmp.master elfcreator: Fix NULL dereference in remove_dyn() (2026-01-12)
btf2btf tests: Add test of pahole using BTF as input to BTF generation (2025-07-03)
next.v1.30 Prep 1.30 (2025-04-09)
tmp.next Prep 1.30 (2025-04-09)
next.attributes-v4 pahole: add a BTF feature check function (2025-03-23)
next-alan Fix spelling error. (2025-02-25)
btf_global_vars btf_encoder: Add global_var feature to encode globals (2024-10-01)
test tests prettify_perf.data: Add regression test for 'pahole --prettify' (2024-08-28)
...
# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
--format='%(refname:short) %(subject) (%(creatordate:short))'
v1.31 BTF encoder: (2025-11-10) tar.gz
v1.30 CI testing: (2025-04-18) tar.gz
v1.29 DWARF loader: (2025-01-21) tar.gz
v1.28 pahole: (2024-12-07) tar.gz
v1.27 BTF encoder: (2024-06-11) tar.gz
v1.26 pahole: (2024-02-28) tar.gz
v1.25 DWARF loader: (2023-04-13) tar.gz
v1.24 BTF encoder: (2022-08-22) tar.gz
v1.23 DWARF loader: (2021-12-08) tar.gz
v1.22 pahole: (2021-08-23) tar.gz
...
# associated public inboxes:
# (number on the left is used for dev purposes)
302 dwarves
249 bpf
42 lkml
29 linux-dwarves
17 netdev
10 linux-arm-kernel
8 xen-devel
7 u-boot
6 linux-wireless
6 qemu-devel
6 linux-devicetree
6 rust-for-linux
5 linux-mm
5 stable
5 linux-omap
5 buildroot
5 openembedded-core
5 linux-debuggers
4 linux-mips
4 alsa-devel
4 dpdk-dev
4 linux-pci
4 linuxppc-dev
4 kvm
4 linux-ide
4 linux-arch
3 linux-mtd
3 linux-xfs
3 linux-acpi
3 linux-fsdevel
3 linux-iommu
3 linux-snps-arc
3 git
3 dri-devel
3 intel-gfx
3 linux-unionfs
2 linux-samsung-soc
2 linux-block
2 linux-riscv
2 linux-mediatek
2 linux-edac
2 linux-arm-msm
2 linux-amlogic
2 linux-nvdimm
2 linux-usb
2 linux-kselftest
2 linux-gpio
2 linux-parisc
2 linux-security-module
2 linux-bluetooth
2 linux-watchdog
2 rcu
2 linux-doc
2 linux-i2c
2 virtualization
2 platform-driver-x86
2 linux-fbdev
2 linux-sh
2 linux-s390
2 sparclinux
2 mptcp
2 nvdimm
2 llvm
2 openembedded-devel
2 linux-patches
2 openrisc
2 intel-xe
2 linux-um
2 ecryptfs
2 poky
2 qemu-riscv
2 linux-ia64
2 linux-hexagon
2 igt-dev
1 linux-fscrypt
1 cocci
1 linux-nvme
1 live-patching
1 linux-nfs
1 linux-crypto
1 linux-efi
1 netfilter-devel
1 linux-integrity
1 linux-cifs
1 linux-erofs
1 linux-media
1 fstests
1 linux-pm
1 linux-hwmon
1 linux-rtc
1 linux-input
1 linux-scsi
1 linux-btrfs
1 kvmarm
1 driverdev-devel
1 linux-renesas-soc
1 selinux
1 kernel-hardening
1 linux-clk
1 linux-iio
1 dmaengine
1 linux-rdma
1 linux-next
1 linux-ext4
1 linux-leds
1 linux-f2fs-devel
1 linux-modules
1 kernelnewbies
1 linux-rt-users
1 linux-sgx
1 linux-serial
1 linux-trace-devel
1 linux-hyperv
1 workflows
1 linux-m68k
1 linux-i3c
1 util-linux
1 linux-spdx
1 linux-wpan
1 ksummit-discuss
1 wireguard
1 backports
1 io-uring
1 linux-kernel-mentees
1 linux-csky
1 linux-man
1 linux-mmc
1 amd-gfx
1 tpmdd-devel
1 linux-firmware
1 linux-api
1 cip-dev
1 linux-audit
1 linux-spi
1 linux-remoteproc
1 linux-dash
1 linux-bcache
1 linux-sparse
1 mm-commits
1 linux-pwm
1 linux-tegra
1 lttng-dev
1 linux-kbuild
1 linux-fpga
1 ceph-devel
1 linux-can
1 containers
1 linux-rockchip
1 linux-raid
1 xdp-newbies
1 phone-devel
1 openbmc
1 linux-hardening
1 dash
1 dm-devel
1 keyrings
1 linux-sctp
1 linux-cxl
1 linux-perf-users
1 target-devel
1 lustre-devel
1 soc
1 ocfs2-devel
1 ath10k
1 ath11k
1 nouveau
1 linux-phy
1 kernel-janitors
1 linux-staging
1 linux-sunxi
1 linux-coco
1 regressions
1 ksummit
1 b43-dev
1 linux-nfc
1 linux-bcachefs
1 ath9k-devel
1 ntfs3
1 fio
1 iwd
1 ell
1 ofono
1 ltp
1 yocto
1 yocto-meta-freescale
1 yocto-toaster
1 yocto-meta-arm
1 yocto-docs
1 bitbake-devel
1 yocto-meta-virtualization
1 chrome-platform
1 ntb
1 yocto-meta-ti
1 yocto-meta-arago
1 outreachy
1 xenomai
1 damon
1 asahi
1 intel-wired-lan
1 kexec
1 loongarch
1 imx
1 ath12k
1 b4-sent
1 linux-trace-kernel
1 oe-linux-nfc
1 oe-kbuild-all
1 oe-chipsec
1 batman
1 virtio-dev
1 virtio-comment
1 v9fs
1 cluster-devel
1 grub-devel
1 kbd
1 autofs
1 cpufreq
1 dccp
1 cgroups
1 devicetree-spec
1 devicetree-compiler
1 initramfs
1 kvm-ppc
1 hail-devel
1 kvm-ia64
1 linux-8086
1 kernel-testers
1 linux-alpha
1 linux-btrace
1 linux-embedded
1 linux-hams
1 linux-hotplug
1 linux-laptop
1 linux-sound
1 trinity
1 reiserfs-devel
1 linux-metag
1 linux-x25
1 linux-nilfs
1 lvs-devel
1 netfilter
1 linux-oxnas
1 u-boot-amlogic
1 lm-sensors
1 lvm-devel
1 acpica-devel
1 perfbook
1 virtio-fs
1 smatch
1 fuego
1 wireless-regdb
1 powertop
git clone https://yhbt.net/lore/pub/scm/devel/pahole/pahole.git