Em Fri, Jan 20, 2023 at 06:40:38PM +0100, Sedat Dilek escreveu: > 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? Probably next week, I just have to differentiate a file with split dwarf to remove a slight hack I have right now. - Arnaldo > Thanks. > > Best regards, > -Sedat- > > P.S.: I still carry this diff around (attached as diff as Gmail might > truncate the following lines): Ok, that is in the same function I have to differentiate if the file makes reference to another DWARF file (the split dwarf, .dwz thing), I'll check this patch, thanks! > $ 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 */ -- - Arnaldo