手機 - Unihertz Titan 2 (None-EEA) - 解決Encountered error while encoding BTF問題



問題如下:

$ ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-gnu- CROSS_COMPILE_ARM32=arm-linux-gnueabihf- make all -j4
      DESCEND bpf/resolve_btfids
      INSTALL libsubcmd_headers
      CALL    scripts/checksyscalls.sh
      CHK     kernel/kheaders_data.tar.xz
      CHK     include/generated/autoksyms.h
      UPD     include/generated/utsversion.h
      CC      init/version-timestamp.o
      LD      .tmp_vmlinux.btf
      BTF     .btf.vmlinux.bin.o
    Unsupported DW_TAG_unspecified_type(0x3b)
    Encountered error while encoding BTF.
      LD      .tmp_vmlinux.kallsyms1
      NM      .tmp_vmlinux.kallsyms1.syms
      KSYMS   .tmp_vmlinux.kallsyms1.S
      AS      .tmp_vmlinux.kallsyms1.o
      LD      .tmp_vmlinux.kallsyms2
      NM      .tmp_vmlinux.kallsyms2.syms
      KSYMS   .tmp_vmlinux.kallsyms2.S
      AS      .tmp_vmlinux.kallsyms2.o
      LD      vmlinux
      BTFIDS  vmlinux
    FAILED: load BTF from vmlinux: No such file or directory
    make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 255
    make[1]: *** Deleting file 'vmlinux'
    make: *** [Makefile:1333: vmlinux] Error 2

解法如下:

$ cd
$ git clone https://github.com/acmel/dwarves.git
$ cd dwarves
$ git checkout v1.30

$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install
$ sudo ldconfig

$ pahole --version
    v1.30