On Fri, Feb 5, 2021 at 4:28 PM Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote: > > Em Fri, Feb 05, 2021 at 04:23:59PM +0100, Sedat Dilek escreveu: > > On Fri, Feb 5, 2021 at 3:41 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > > > > > > On Fri, Feb 5, 2021 at 3:37 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > > > > > > > > Hi, > > > > > > > > when building with pahole v1.20 and binutils v2.35.2 plus Clang > > > > v12.0.0-rc1 and DWARF-v5 I see: > > > > ... > > > > + info BTF .btf.vmlinux.bin.o > > > > + [ != silent_ ] > > > > + printf %-7s %s\n BTF .btf.vmlinux.bin.o > > > > BTF .btf.vmlinux.bin.o > > > > + LLVM_OBJCOPY=/opt/binutils/bin/objcopy /opt/pahole/bin/pahole -J > > > > .tmp_vmlinux.btf > > > > [115] INT DW_ATE_unsigned_1 Error emitting BTF type > > > > Encountered error while encoding BTF. > > > > > > Grepping the pahole sources: > > > > > > $ git grep DW_ATE > > > dwarf_loader.c: bt->is_bool = encoding == DW_ATE_boolean; > > > dwarf_loader.c: bt->is_signed = encoding == DW_ATE_signed; > > > > > > Missing DW_ATE_unsigned encoding? > > > > > > > Checked the LLVM sources: > > > > clang/lib/CodeGen/CGDebugInfo.cpp: Encoding = > > llvm::dwarf::DW_ATE_unsigned_char; > > clang/lib/CodeGen/CGDebugInfo.cpp: Encoding = llvm::dwarf::DW_ATE_unsigned; > > clang/lib/CodeGen/CGDebugInfo.cpp: Encoding = > > llvm::dwarf::DW_ATE_unsigned_fixed; > > clang/lib/CodeGen/CGDebugInfo.cpp: > > ? llvm::dwarf::DW_ATE_unsigned > > ... > > lld/test/wasm/debuginfo.test:CHECK-NEXT: DW_AT_encoding > > (DW_ATE_unsigned) > > > > So, I will switch from GNU ld.bfd v2.35.2 to LLD-12. > > Thanks for the research, probably your conclusion is correct, can you go > the next step and add that part and check if the end result is the > expected one? > Still building... Can you give me a hand on what has to be changed in dwarves/pahole? I guess switching from ld.bfd to ld.lld will show the same ERROR. - Sedat -