linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* CLANG LTO compatibility issue with DEBUG_INFO_BTF
@ 2021-03-19  3:45 Jisheng Zhang
  2021-03-19  3:56 ` Yonghong Song
  0 siblings, 1 reply; 3+ messages in thread
From: Jisheng Zhang @ 2021-03-19  3:45 UTC (permalink / raw)
  To: Sami Tolvanen, Kees Cook, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, linux-kernel
  Cc: bpf

Hi,

When trying the latest 5.12-rc3 with both LTO_CLANG_THIN and DEBUG_INFO_BTF
enabled, I met lots of warnings such as:

...
tag__recode_dwarf_type: couldn't find 0x4a7ade5 type for 0x4ab9f88 (subroutine_type)!
ftype__recode_dwarf_types: couldn't find 0x4a7ade5 type for 0x4ab9fa4 (formal_parameter)!
...
namespace__recode_dwarf_types: couldn't find 0x4a8ff4a type for 0x4aba05c (member)!
namespace__recode_dwarf_types: couldn't find 0x4a7ae9b type for 0x4aba084 (member)!
...
WARN: multiple IDs found for 'path': 281, 729994 - using 281
WARN: multiple IDs found for 'task_struct': 421, 730101 - using 421
...


then finally get build error:
FAILED unresolved symbol vfs_truncate


Is this a known issue? Do we need to make DEBUG_INFO_BTF depend on !LTO?

pahole version: v1.20
clang version: 11.0


Thanks

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

* Re: CLANG LTO compatibility issue with DEBUG_INFO_BTF
  2021-03-19  3:45 CLANG LTO compatibility issue with DEBUG_INFO_BTF Jisheng Zhang
@ 2021-03-19  3:56 ` Yonghong Song
  2021-03-22  1:48   ` Jisheng Zhang
  0 siblings, 1 reply; 3+ messages in thread
From: Yonghong Song @ 2021-03-19  3:56 UTC (permalink / raw)
  To: Jisheng Zhang, Sami Tolvanen, Kees Cook, Alexei Starovoitov,
	Daniel Borkmann, Andrii Nakryiko, linux-kernel
  Cc: bpf



On 3/18/21 8:45 PM, Jisheng Zhang wrote:
> Hi,
> 
> When trying the latest 5.12-rc3 with both LTO_CLANG_THIN and DEBUG_INFO_BTF
> enabled, I met lots of warnings such as:
> 
> ...
> tag__recode_dwarf_type: couldn't find 0x4a7ade5 type for 0x4ab9f88 (subroutine_type)!
> ftype__recode_dwarf_types: couldn't find 0x4a7ade5 type for 0x4ab9fa4 (formal_parameter)!
> ...
> namespace__recode_dwarf_types: couldn't find 0x4a8ff4a type for 0x4aba05c (member)!
> namespace__recode_dwarf_types: couldn't find 0x4a7ae9b type for 0x4aba084 (member)!
> ...
> WARN: multiple IDs found for 'path': 281, 729994 - using 281
> WARN: multiple IDs found for 'task_struct': 421, 730101 - using 421
> ...
> 
> 
> then finally get build error:
> FAILED unresolved symbol vfs_truncate
> 
> 
> Is this a known issue? Do we need to make DEBUG_INFO_BTF depend on !LTO?

This is a known issue for pahole. pahole does not handle dwarf well 
generated with LTO. Bill Wendling from google is looking at the issue 
and I will help look at the issue as well. Since bpf heavily depends
on BTF, at this point, I suggest if you are using bpf, please do not
turn on LTO. Or if you build with LTO, just turn off DEBUG_INFO_BTF
in your config. Thanks!

> 
> pahole version: v1.20
> clang version: 11.0
> 
> 
> Thanks
> 

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

* Re: CLANG LTO compatibility issue with DEBUG_INFO_BTF
  2021-03-19  3:56 ` Yonghong Song
@ 2021-03-22  1:48   ` Jisheng Zhang
  0 siblings, 0 replies; 3+ messages in thread
From: Jisheng Zhang @ 2021-03-22  1:48 UTC (permalink / raw)
  To: Yonghong Song
  Cc: Sami Tolvanen, Kees Cook, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, linux-kernel, bpf

On Thu, 18 Mar 2021 20:56:46 -0700 Yonghong Song wrote:


> 
> On 3/18/21 8:45 PM, Jisheng Zhang wrote:
> > Hi,
> >
> > When trying the latest 5.12-rc3 with both LTO_CLANG_THIN and DEBUG_INFO_BTF
> > enabled, I met lots of warnings such as:
> >
> > ...
> > tag__recode_dwarf_type: couldn't find 0x4a7ade5 type for 0x4ab9f88 (subroutine_type)!
> > ftype__recode_dwarf_types: couldn't find 0x4a7ade5 type for 0x4ab9fa4 (formal_parameter)!
> > ...
> > namespace__recode_dwarf_types: couldn't find 0x4a8ff4a type for 0x4aba05c (member)!
> > namespace__recode_dwarf_types: couldn't find 0x4a7ae9b type for 0x4aba084 (member)!
> > ...
> > WARN: multiple IDs found for 'path': 281, 729994 - using 281
> > WARN: multiple IDs found for 'task_struct': 421, 730101 - using 421
> > ...
> >
> >
> > then finally get build error:
> > FAILED unresolved symbol vfs_truncate
> >
> >
> > Is this a known issue? Do we need to make DEBUG_INFO_BTF depend on !LTO?  
> 
> This is a known issue for pahole. pahole does not handle dwarf well
> generated with LTO. Bill Wendling from google is looking at the issue
> and I will help look at the issue as well. Since bpf heavily depends
> on BTF, at this point, I suggest if you are using bpf, please do not
> turn on LTO. Or if you build with LTO, just turn off DEBUG_INFO_BTF
> in your config. Thanks!
> 

Got it. Thanks for the information

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

end of thread, other threads:[~2021-03-22  1:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-19  3:45 CLANG LTO compatibility issue with DEBUG_INFO_BTF Jisheng Zhang
2021-03-19  3:56 ` Yonghong Song
2021-03-22  1:48   ` Jisheng Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).