Message ID | CA+icZUVbv2T7SExVULn6Bh1mB=VpmYGbH-4U63PKrHPyi6uULQ@mail.gmail.com (mailing list archive) |
---|---|
State | RFC |
Headers | show |
Series | pahole: New version 1.25 release? | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
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 */
On 1/20/23 9:40 AM, Sedat Dilek wrote: > 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 */ Ya, LINUX_ELFNOTE_BUILD_LTO is initially proposed macro name but later the formal kernel patch used LINUX_ELFNOTE_LTO_INFO. Could you submit a pahole for this so it is consistent with kernel? Thanks! > > $ 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-
On Fri, Jan 20, 2023 at 8:15 PM Yonghong Song <yhs@meta.com> wrote: > > > > On 1/20/23 9:40 AM, Sedat Dilek wrote: > > 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 */ > > Ya, LINUX_ELFNOTE_BUILD_LTO is initially proposed macro name but later > the formal kernel patch used LINUX_ELFNOTE_LTO_INFO. Could you submit > a pahole for this so it is consistent with kernel? Thanks! > Patch sent, see: https://lore.kernel.org/all/20230120201203.10785-1-sedat.dilek@gmail.com/ -Sedat- > > > > $ 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-
On Fri, Jan 20, 2023 at 6:46 PM Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote: > > Probably next week, I just have to differentiate a file with split dwarf > to remove a slight hack I have right now. > Thanks for pushing "dwarf_loader: Sync with LINUX_ELFNOTE_LTO_INFO macro from kernel". I see some updates in pahole.git#next with some Tested.by#s of you. So, we are very close to a pre-1.25 release :-)? Planning to test with Linux-v6.2-rc7... -Sedat- [1] https://git.kernel.org/pub/scm/devel/pahole/pahole.git/log/?h=next
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 */