public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* pahole: New version 1.25 release?
@ 2023-01-20 17:40 Sedat Dilek
  2023-01-20 17:46 ` Arnaldo Carvalho de Melo
  2023-01-20 19:15 ` Yonghong Song
  0 siblings, 2 replies; 5+ messages in thread
From: Sedat Dilek @ 2023-01-20 17:40 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, bpf,
	Nathan Chancellor, Nick Desaulniers, Tom Rix, llvm

[-- Attachment #1: Type: text/plain, Size: 2018 bytes --]

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-

[-- Attachment #2: dwarf_loader-LINUX_ELFNOTE_LTO_INFO.diff --]
[-- Type: text/x-patch, Size: 856 bytes --]

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 */

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-02  0:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-20 17:40 pahole: New version 1.25 release? Sedat Dilek
2023-01-20 17:46 ` Arnaldo Carvalho de Melo
2023-02-02  0:08   ` Sedat Dilek
2023-01-20 19:15 ` Yonghong Song
2023-01-20 20:15   ` Sedat Dilek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox