Re: die__process_unit: DW_TAG_label (0xa) @ <0x7b> not handled!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Wed, Sep 28, 2022 at 08:25:51AM -0700, Nathan Chancellor escreveu:
> On Wed, Sep 28, 2022 at 10:42:53AM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Sep 27, 2022 at 12:59:03PM -0700, Nathan Chancellor escreveu:
> > > On Tue, Sep 27, 2022 at 04:08:02PM -0300, Arnaldo Carvalho de Melo wrote:
> > > > Em Tue, Sep 27, 2022 at 11:56:34AM -0700, Nathan Chancellor escreveu:
> > > > > When building a kernel with LLVM and CONFIG_DEBUG_INFO_BTF after commit
> > > > > 32ef9e5054ec ("Makefile.debug: re-enable debug info for .S files") in
> > > > > the kernel, I see the following spew of warnings, which appear to come
> > > > > from pahole:
> > > > > 
> > > > > $ clang --version
> > > > > clang version 15.0.0 (Fedora 15.0.0-3.fc38)
> > > > > Target: x86_64-redhat-linux-gnu
> > > > > Thread model: posix
> > > > > InstalledDir: /usr/bin
> > > > > 
> > > > > $ pahole --version
> > > > > v1.24
> > > > > 
> > > > > $ make -skj"$(nproc)" ARCH=x86_64 LLVM=1 defconfig
> > > > > 
> > > > > $ scripts/config \
> > > > >     -d DEBUG_INFO_NONE \
> > > > >     -e BPF_SYSCALL \
> > > > >     -e DEBUG_INFO_BTF \
> > > > >     -e DEBUG_INFO_DWARF5
> > > > > 
> > > > > $ make -skj"$(nproc)" ARCH=x86_64 LLVM=1 olddefconfig all
> > > > > ...
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0x7b> not handled!
> > > > > die__process_unit: tag not supported 0xa (label)!
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0x97> not handled!
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0xbd> not handled!
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0xed> not handled!
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0x109> not handled!
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0x12a> not handled!
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0x146> not handled!
> > > > > die__process_unit: DW_TAG_label (0xa) @ <0x16f> not handled!
> > > > > ...
> > > > > 
> > > > > Is this a problem with LLVM or pahole? I do not see this when building
> > > > > with GCC + GNU as but that could just be a red herring. I assume that
> > > > > there could be something missing for processing debug info from
> > > > > assembly, perhaps? If there is any further information I can provide or
> > > > > anything I can test, I am more than happy to do so.
> > > > 
> > > > I'll try to repro, but at first sight it looks like a label in a
> > > 
> > > If you need help reproducing this locally, feel free to reach out
> > > through this thread or #clangbuiltlinux on Libera.
> > 
> > Can you please provide the vmlinux file where this takes place?
> 
> Sure thing, it is compressed to save some bandwidth while downloading:
> 
> https://1drv.ms/u/s!AsQNYeB-IEbqnnzsULjM1pXmOlI5?e=qHKjuW
> 
> If there is anything else I can provide, please let me know!

Interesting, indeed it is inside a DW_TAG_compile_unit, outside
functions, so pahole has no use for it right now, I'll just ignore it
and remove that warning.

These are for arch/x86/kernel/verify_cpu.S, asm file indeed.

⬢[acme@toolbox Nathan]$ readelf -wi vmlinux-pahole-warnings
Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x1df (32-bit)
   Version:       5
   Unit Type:     DW_UT_compile (1)
   Abbrev Offset: 0x0
   Pointer Size:  8
 <0><c>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <d>   DW_AT_stmt_list   : 0x0
    <11>   DW_AT_ranges      : 0xc
    <15>   DW_AT_name        : arch/x86/kernel/verify_cpu.S
    <32>   DW_AT_comp_dir    : /home/nathan/cbl/src/linux
    <4d>   DW_AT_producer    : ClangBuiltLinux clang version 16.0.0 (https://github.com/llvm/llvm-project 7e22179d38c438fedb0d9bb0cff1585843bd7082)
    <c2>   DW_AT_language    : 32769    (MIPS assembler)
 <1><c4>: Abbrev Number: 2 (DW_TAG_label)
    <c5>   DW_AT_name        : startup_64
    <d0>   DW_AT_decl_file   : 0x0
    <d4>   DW_AT_decl_line   : 0x364
    <d8>   DW_AT_low_pc      : 0xffffffff81000000
 <1><e0>: Abbrev Number: 2 (DW_TAG_label)
    <e1>   DW_AT_name        : secondary_startup_64
    <f6>   DW_AT_decl_file   : 0x0
    <fa>   DW_AT_decl_line   : 0x399
    <fe>   DW_AT_low_pc      : 0xffffffff81000060
 <1><106>: Abbrev Number: 2 (DW_TAG_label)
    <107>   DW_AT_name        : secondary_startup_64_no_verify
    <126>   DW_AT_decl_file   : 0x0
    <12a>   DW_AT_decl_line   : 0x39f
    <12e>   DW_AT_low_pc      : 0xffffffff81000065
 <1><136>: Abbrev Number: 2 (DW_TAG_label)
    <137>   DW_AT_name        : verify_cpu
    <142>   DW_AT_decl_file   : 0x0
    <146>   DW_AT_decl_line   : 0x430
    <14a>   DW_AT_low_pc      : 0xffffffff81000150
 <1><152>: Abbrev Number: 2 (DW_TAG_label)
    <153>   DW_AT_name        : sev_verify_cbit
    <163>   DW_AT_decl_file   : 0x1
    <167>   DW_AT_decl_line   : 0x491
    <16b>   DW_AT_low_pc      : 0xffffffff81000250
 <1><173>: Abbrev Number: 2 (DW_TAG_label)
    <174>   DW_AT_name        : start_cpu0
    <17f>   DW_AT_decl_file   : 0x2
    <183>   DW_AT_decl_line   : 0x49e
    <187>   DW_AT_low_pc      : 0xffffffff81000260
 <1><18f>: Abbrev Number: 2 (DW_TAG_label)
    <190>   DW_AT_name        : early_idt_handler_array
    <1a8>   DW_AT_decl_file   : 0x0
    <1ac>   DW_AT_decl_line   : 0x4ad
    <1b0>   DW_AT_low_pc      : 0xffffffff83796000
 <1><1b8>: Abbrev Number: 2 (DW_TAG_label)
    <1b9>   DW_AT_name        : early_idt_handler_common
    <1d2>   DW_AT_decl_file   : 0x0
    <1d6>   DW_AT_decl_line   : 0x4c1
    <1da>   DW_AT_low_pc      : 0xffffffff83796120
<BIG SNIP>



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux