Hi Arnaldo, I use CONFIG_DEBUG_INFO_BTF=y with LLVM-15. Darkly, I remember I needed some post-v1.24 fixes. Currently, I use: $ git describe v1.24-26-gb72f5188856d commit b72f5188856d "dwarves: Zero-initialize struct cu in cu__new() to prevent incorrect BTF types" Any plans to release a pahole version 1.25? Thanks. Best regards, -Sedat- P.S.: I still carry this diff around (attached as diff as Gmail might truncate the following lines): $ cd /path/to/pahole.git $ git diff dwarf_loader.c diff --git a/dwarf_loader.c b/dwarf_loader.c index 5a74035c5708..96ce5db4f5bc 100644 --- a/dwarf_loader.c +++ b/dwarf_loader.c @@ -2808,8 +2808,8 @@ static int __cus__load_debug_types(struct conf_load *conf, Dwfl_Module *mod, Dwa return 0; } -/* Match the define in linux:include/linux/elfnote.h */ -#define LINUX_ELFNOTE_BUILD_LTO 0x101 +/* Match the define in linux:include/linux/elfnote-lto.h */ +#define LINUX_ELFNOTE_LTO_INFO 0x101 static bool cus__merging_cu(Dwarf *dw, Elf *elf) { @@ -2827,7 +2827,7 @@ static bool cus__merging_cu(Dwarf *dw, Elf *elf) size_t name_off, desc_off, offset = 0; GElf_Nhdr hdr; while ((offset = gelf_getnote(data, offset, &hdr, &name_off, &desc_off)) != 0) { - if (hdr.n_type != LINUX_ELFNOTE_BUILD_LTO) + if (hdr.n_type != LINUX_ELFNOTE_LTO_INFO) continue; /* owner is Linux */ $ cd /path/to/linux.git $ git describe v6.2-rc4-77-gd368967cb103 $ git grep LINUX_ELFNOTE_LTO_INFO include/linux/elfnote-lto.h include/linux/elfnote-lto.h:#define LINUX_ELFNOTE_LTO_INFO 0x101 include/linux/elfnote-lto.h:#define BUILD_LTO_INFO ELFNOTE32("Linux", LINUX_ELFNOTE_LTO_INFO, 1) include/linux/elfnote-lto.h:#define BUILD_LTO_INFO ELFNOTE32("Linux", LINUX_ELFNOTE_LTO_INFO, 0) dileks@iniza:~/src/linux/git$ git describe v6.2-rc4-195-gf609936e078d -EOT-
diff --git a/dwarf_loader.c b/dwarf_loader.c index 5a74035c5708..96ce5db4f5bc 100644 --- a/dwarf_loader.c +++ b/dwarf_loader.c @@ -2808,8 +2808,8 @@ static int __cus__load_debug_types(struct conf_load *conf, Dwfl_Module *mod, Dwa return 0; } -/* Match the define in linux:include/linux/elfnote.h */ -#define LINUX_ELFNOTE_BUILD_LTO 0x101 +/* Match the define in linux:include/linux/elfnote-lto.h */ +#define LINUX_ELFNOTE_LTO_INFO 0x101 static bool cus__merging_cu(Dwarf *dw, Elf *elf) { @@ -2827,7 +2827,7 @@ static bool cus__merging_cu(Dwarf *dw, Elf *elf) size_t name_off, desc_off, offset = 0; GElf_Nhdr hdr; while ((offset = gelf_getnote(data, offset, &hdr, &name_off, &desc_off)) != 0) { - if (hdr.n_type != LINUX_ELFNOTE_BUILD_LTO) + if (hdr.n_type != LINUX_ELFNOTE_LTO_INFO) continue; /* owner is Linux */