On Wed, Jan 13, 2021 at 10:18 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > > On Wed, Jan 13, 2021 at 11:25 PM Caroline Tice <cmtice@xxxxxxxxxx> wrote: > > > > On Tue, Jan 12, 2021 at 3:17 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > >> > >> Unfortunately, I see with CONFIG_DEBUG_INFO_DWARF5=y and > >> CONFIG_DEBUG_INFO_BTF=y: > >> > >> die__process_inline_expansion: DW_TAG_INVALID (0x48) @ <0x3f0dd5a> not handled! > >> die__process_function: DW_TAG_INVALID (0x48) @ <0x3f0dd69> not handled! I can confirm that I see a stream of these warnings when building with this patch series applied, and those two configs enabled. rebuilding with `make ... V=1`, it looks like the call to: + pahole -J .tmp_vmlinux.btf is triggering these. Shall I send a v4 that adds a Kconfig dependency on !DEBUG_INFO_BTF? Does pahole have a bug tracker? > >> > >> In /usr/include/dwarf.h I found: > >> > >> 498: DW_OP_lit24 = 0x48, /* Literal 24. * > > > > > > There are multiple dwarf objects with the value 0x48, depending on which section of the dwarf.h file you search: > > > > DW_TAG_call_site = 0x48 > > DW_AT_static_link = 0x48 > > DW_OP_lit24 = 0x48. > > > > In this case, since the error message was about a DW_TAG, it would be complaining about DW_TAG_call_site, which is new to DWARF v5. > > > Example for "DW_TAG_INVALID (0x48)" from my build-log: > > die__process_inline_expansion: DW_TAG_INVALID (0x48) @ <0x1f671e7> not handled! > > $ llvm-dwarfdump-11 --debug-info=0x1f671e7 vmlinux > vmlinux: file format elf64-x86-64 > > .debug_info contents: > > 0x01f671e7: DW_TAG_call_site > DW_AT_call_return_pc (0xffffffff811b16f2) > DW_AT_call_origin (0x01f67f1d) > > Looking for "DW_AT_call_origin (0x01f67f1d)": > > $ llvm-dwarfdump-11 --debug-info=0x01f67f1d vmlinux > vmlinux: file format elf64-x86-64 > > .debug_info contents: > > 0x01f67f1d: DW_TAG_subprogram > DW_AT_external (true) > DW_AT_declaration (true) > DW_AT_linkage_name ("fput") > DW_AT_name ("fput") > DW_AT_decl_file > ("/home/dileks/src/linux-kernel/git/./include/linux/file.h") > DW_AT_decl_line (16) > DW_AT_decl_column (0x0d) That's a neat trick (using --debug-info=offset to print one element from the stream). -- Thanks, ~Nick Desaulniers