From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: "Martin Liška" <mliska@suse.cz>
Cc: dwarves@vger.kernel.org, Nick Clifton <nickc@redhat.com>
Subject: Re: Encountered error while encoding BTF due to Unsupported DW_TAG_unspecified_type(0x3b)
Date: Wed, 5 Oct 2022 13:55:12 -0300 [thread overview]
Message-ID: <Yz228IMGMFZ0kouz@kernel.org> (raw)
In-Reply-To: <878d0959-7f80-471e-69d5-5228822b4365@suse.cz>
Em Mon, Oct 03, 2022 at 10:56:36AM +0200, Martin Liška escreveu:
> I noticed one can't build 5.19 with latest binutils master.
>
> One see the following error:
> [ 1413s] BTF .btf.vmlinux.bin.o
> [ 1413s] Unsupported DW_TAG_unspecified_type(0x3b)
> [ 1413s] Encountered error while encoding BTF.
>
> It's caused by DWARF coming from .S files and the change is introduced since
> the following binutils revision:
>
> commit 5578fbf672ee497ea19826edeb509f4cc3e825a8
> Author: Nick Clifton <nickc@redhat.com>
> Date: Thu Aug 25 11:48:00 2022 +0100
>
> GAS: Add a return type tag to DWARF DIEs generated for function symbols.
>
> for entry.S the output changes to:
>
> $ as-new --gdwarf-5 --64 -o entry.o entry.S && readelf -wi entry.o
> Contents of the .debug_info section:
>
> Compilation Unit @ offset 0x0:
> Length: 0x35 (32-bit)
> Version: 5
> Unit Type: DW_UT_compile (1)
> Abbrev Offset: 0x0
> Pointer Size: 8
> <0><c>: Abbrev Number: 3 (DW_TAG_unspecified_type) <--- the problematic TAG
> <0><d>: Abbrev Number: 1 (DW_TAG_compile_unit)
> <e> DW_AT_stmt_list : 0x0
> <12> DW_AT_low_pc : 0x0
> <1a> DW_AT_high_pc : 19
> <1b> DW_AT_name : (indirect string, offset: 0x0): ../arch/x86/entry/entry.S
> <1f> DW_AT_comp_dir : (indirect string, offset: 0x1a): /tmp
> <23> DW_AT_producer : (indirect string, offset: 0x1f): GNU AS 2.39.50
> <27> DW_AT_language : 32769 (MIPS assembler)
> <1><29>: Abbrev Number: 2 (DW_TAG_subprogram)
> <2a> DW_AT_name : (indirect string, offset: 0x2e): entry_ibpb
> <2e> DW_AT_external : 1
> <2e> DW_AT_type : <0xc>
> <2f> DW_AT_low_pc : 0x0
> <37> DW_AT_high_pc : 19
> <1><38>: Abbrev Number: 0
>
> Is it something pahole should handle?
So if I build with clang 14 on opensuse tumbleweed I end up with:
<2><5c234>: Abbrev Number: 0
<1><5c235>: Abbrev Number: 0
Compilation Unit @ offset 0x5c236:
Length: 0x9f (32-bit)
Version: 5
Unit Type: DW_UT_compile (1)
Abbrev Offset: 0x355b
Pointer Size: 8
<0><5c242>: Abbrev Number: 1 (DW_TAG_compile_unit)
<5c243> DW_AT_stmt_list : 0xa3b8
<5c247> DW_AT_low_pc : 0xffffffff81c22000
<5c24f> DW_AT_high_pc : 0xffffffff81c2200f
<5c257> DW_AT_name : /root/git/linux/arch/x86/entry/entry.S
<5c27e> DW_AT_comp_dir : /root/git/build/v6.0.0+binutils-latest
<5c2a5> DW_AT_producer : clang version 14.0.6
<5c2ba> DW_AT_language : 32769 (MIPS assembler)
<1><5c2bc>: Abbrev Number: 2 (DW_TAG_label)
<5c2bd> DW_AT_name : entry_ibpb
<5c2c8> DW_AT_decl_file : 0
<5c2cc> DW_AT_decl_line : 0x95
<5c2d0> DW_AT_low_pc : 0xffffffff81c22000
<1><5c2d8>: Abbrev Number: 0
clang uses DW_TAG_label for entry_ibpb, while GNU AS 2.39.50 generates
DW_TAG_subprogram.
But then the one I'm using when building with gcc, same
opensuse:tumbleweed container:
15e20ce2324a:~/git/linux # as --version
GNU assembler (GNU Binutils) 2.39.50.20221005
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-pc-linux-gnu'.
15e20ce2324a:~/git/linux #
Isn't producing anything for entry_ibpb :-\
- Arnaldo
prev parent reply other threads:[~2022-10-05 16:55 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-03 8:56 Encountered error while encoding BTF due to Unsupported DW_TAG_unspecified_type(0x3b) Martin Liška
2022-10-03 12:07 ` Nick Clifton
2022-10-04 12:15 ` Arnaldo Carvalho de Melo
2022-10-04 12:17 ` Arnaldo Carvalho de Melo
2022-10-04 12:31 ` Arnaldo Carvalho de Melo
2022-10-04 21:42 ` Arnaldo Carvalho de Melo
2022-10-05 8:41 ` Martin Liška
2022-10-04 12:33 ` Nick Clifton
2022-10-04 13:25 ` Arnaldo Carvalho de Melo
2022-10-04 18:07 ` Arnaldo Carvalho de Melo
2022-10-04 21:13 ` Arnaldo Carvalho de Melo
2022-10-04 21:44 ` Arnaldo Carvalho de Melo
2022-10-05 7:23 ` Martin Liška
2022-10-05 14:37 ` Arnaldo Carvalho de Melo
2022-10-05 15:43 ` Arnaldo Carvalho de Melo
2022-10-06 11:54 ` Martin Liška
[not found] ` <Yz7bevBJAm0JiLfp@kernel.org>
2022-10-06 14:00 ` Arnaldo Carvalho de Melo
2022-10-06 14:15 ` [PATCH/RFC pahole] btf_encoder: Encode DW_TAG_unspecified_type as BTF_KIND_CONST was: " Arnaldo Carvalho de Melo
2022-10-06 16:04 ` Andrii Nakryiko
2022-10-06 17:23 ` Arnaldo Carvalho de Melo
2022-10-07 20:21 ` Arnaldo Carvalho de Melo
2022-10-08 0:25 ` Yonghong Song
2022-10-10 12:06 ` Arnaldo Carvalho de Melo
2022-10-10 20:08 ` Arnaldo Carvalho de Melo
2022-10-10 20:19 ` Arnaldo Carvalho de Melo
2022-10-11 5:57 ` Yonghong Song
2022-10-11 13:45 ` Arnaldo Carvalho de Melo
2022-10-11 15:33 ` Yonghong Song
2022-10-11 17:16 ` Arnaldo Carvalho de Melo
2023-01-30 9:23 ` Martin Liška
2023-01-30 14:20 ` pahole 1.25 plans was: " Arnaldo Carvalho de Melo
2023-03-12 0:03 ` Dominique Martinet
2022-10-05 16:55 ` Arnaldo Carvalho de Melo [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yz228IMGMFZ0kouz@kernel.org \
--to=acme@kernel.org \
--cc=dwarves@vger.kernel.org \
--cc=mliska@suse.cz \
--cc=nickc@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.