Kevin Sheldrake <Kevin.Sheldrake@xxxxxxxxxxxxx> writes: > Hello > > I've seen mention a few times that BTF information can be made > available from a kernel that wasn't configured with > CONFIG_DEBUG_INFO_BTF. Please can someone tell me if this is true and, > if so, how I could go about accessing and using it in kernels 4.15 to > 5.8? > > I have built the dwarves package from the github latest and run pahole > with '-J' against my kernel image to no avail - it actually seg > faults: > > ~/dwarves/build $ sudo ./pahole /boot/vmlinuz-5.3.0-1022-azure > btf_elf__new: cannot get elf header. > ctf__new: cannot get elf header. > ~/dwarves/build $ sudo ./pahole -J /boot/vmlinuz-5.3.0-1022-azure > btf_elf__new: cannot get elf header. > ctf__new: cannot get elf header. > Segmentation fault > ~/dwarves/build $ sudo ./pahole --version > v1.17 > > Judging by the output, I'm guessing that my kernel image isn't the > right kind of file. Can someone point me in the right direction? vmlinuz is a compressed image. There's a script in the kernel source tree (scripts/extract-vmlinux), however the kernel image in /boot/ probably also has debug information stripped from it, so that likely won't help you. You'll need to get hold of a kernel image with debug information still intact somehow... (Either way, pahole shouldn't be segfaulting, so hopefully someone can take a look at that). -Toke