> -----Original Message----- > From: Mark Wielaard <mark@xxxxxxxxx> > Sent: Tuesday, January 2, 2024 11:54 AM > To: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > Cc: Nathan Chancellor <nathan@xxxxxxxxxx>; Yujie Liu <yujie.liu@xxxxxxxxx>; > Nick Desaulniers <ndesaulniers@xxxxxxxxxx>; Kent Overstreet > <kent.overstreet@xxxxxxxxx>; kernel test robot <lkp@xxxxxxxxx>; > llvm@xxxxxxxxxxxxxxx; oe-kbuild-all@xxxxxxxxxxxxxxx; Brian Cain > <bcain@xxxxxxxxxxx>; linux-hexagon@xxxxxxxxxxxxxxx; > dwarves@xxxxxxxxxxxxxxx > Subject: Re: [bcachefs:header_cleanup 21/51] /bin/bash: line 1: 19420 > Segmentation fault LLVM_OBJCOPY="llvm-objcopy" pahole -J --btf_gen_floats -j > --lang_exclude=rust --skip_encoding_btf_inconsistent_proto -- > btf_gen_optimized --btf_base vmlinux drivers/misc/eep... > > WARNING: This email originated from outside of Qualcomm. Please be wary of > any links or attachments, and do not enable macros. > > Hi Arnaldo, > > On Tue, Jan 02, 2024 at 01:30:02PM -0300, Arnaldo Carvalho de Melo wrote: > > Em Thu, Dec 28, 2023 at 10:34:04AM -0700, Nathan Chancellor escreveu: > > > On Thu, Dec 28, 2023 at 11:21:06AM -0300, Arnaldo Carvalho de Melo > wrote: > > > > Em Wed, Dec 27, 2023 at 03:43:38PM -0700, Nathan Chancellor > escreveu: > > > > > I do not get a segfault personally but there are definitely a lot of > > > > > errors from pahole at the end. Arnaldo, is pahole not handling > something > > > > > that it should with regards to clang's debug info? > > > > > > Possibly, would it be possible to provide the vmlinux file where pahole > > > > is segfaulting when trying to encode BTF from DWARF? > > > > > > These two files: > > > > > > vmlinux drivers/misc/eeprom/at24.ko > > > > > > So that I can run: > > > > LLVM_OBJCOPY="llvm-objcopy" pahole -J --btf_gen_floats -j -- > lang_exclude=rust --skip_encoding_btf_inconsistent_proto --btf_gen_optimized > --btf_base vmlinux drivers/misc/eeprom/at24.ko > > > > > Sure, here you go: > > > > > https://1drv.ms/u/s!AsQNYeB-IEbqqAilUuGHOU8BMLbf > > > > > If you need more objects, just let me know. That series of commands in > > > the previous email should also get them for you locally if you need all > > > of them or want to investigate more. > > > > llvm-dwarfdump is the only that is managing to process this file on a > > fedora:39 system, more work needed to figure out if this is something > > elfutils is planning to support, what amount of work would be necessary, > > etc. > > > > Mark, do you know about work on elfutils to support: > > > > ⬢[acme@toolbox hexagon-randconfig-r005-20220913-pahole-crash]$ llvm- > dwarfdump at24.ko | head -22 > > at24.ko: file format elf32-hexagon > > That seems to identify itself as an EM_QDSP6 (QUALCOMM DSP6) 32bit ELF > file. Neither binutils not elfutils seems to know how to resolve > EM_QDSP6 specific relocations. Normally that wouldn't be necessary, > but sadly kernel modules are still ET_REL files, so eu-readelf/readelf > needs relocations resolved to process the DWARF .debug sections. > > This seems to need Qualcomm to upstream support for this processor > type to bintuils and elfutils. We can take a look at this. But - please forgive my inexperience here -- do the corresponding tools such as llvm-readelf not suffice here? Would it be welcome for us to change pahole to support those if it doesn't already? -Brian