On 22/04/2025 14:33, Paul Menzel wrote: > Dear Linux folks, > > > Trying to build Linux 6.12.23 with BTF and pahole 1.30, I get the build > failure below: > > $ more .config > […] > # > # Compile-time checks and compiler options > # > CONFIG_DEBUG_INFO=y > CONFIG_AS_HAS_NON_CONST_ULEB128=y > # CONFIG_DEBUG_INFO_NONE is not set > # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set > # CONFIG_DEBUG_INFO_DWARF4 is not set > CONFIG_DEBUG_INFO_DWARF5=y > # CONFIG_DEBUG_INFO_REDUCED is not set > CONFIG_DEBUG_INFO_COMPRESSED_NONE=y > # CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set > # CONFIG_DEBUG_INFO_SPLIT is not set > CONFIG_DEBUG_INFO_BTF=y > CONFIG_PAHOLE_HAS_SPLIT_BTF=y > CONFIG_DEBUG_INFO_BTF_MODULES=y > # CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set > # CONFIG_GDB_SCRIPTS is not set > CONFIG_FRAME_WARN=2048 > # CONFIG_STRIP_ASM_SYMS is not set > # CONFIG_READABLE_ASM is not set > # CONFIG_HEADERS_INSTALL is not set > # CONFIG_DEBUG_SECTION_MISMATCH is not set > CONFIG_SECTION_MISMATCH_WARN_ONLY=y > CONFIG_OBJTOOL=y > # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set > # end of Compile-time checks and compiler options > […] > $ make -j100 > […] > LD .tmp_vmlinux1 > BTF .tmp_vmlinux1.btf.o > die__process: DW_TAG_compile_unit, DW_TAG_type_unit, > DW_TAG_partial_unit or DW_TAG_skeleton_unit expected got INVALID (0x0) @ > 115a4a9! > error decoding cu > pahole: .tmp_vmlinux1: Invalid argument > NM .tmp_vmlinux1.syms > KSYMS .tmp_vmlinux1.kallsyms.S > AS .tmp_vmlinux1.kallsyms.o > LD .tmp_vmlinux2 > NM .tmp_vmlinux2.syms > KSYMS .tmp_vmlinux2.kallsyms.S > AS .tmp_vmlinux2.kallsyms.o > LD vmlinux > BTFIDS vmlinux > libbpf: failed to find '.BTF' ELF section in vmlinux > FAILED: load BTF from vmlinux: No data available > make[2]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 255 > make[2]: *** Deleting file 'vmlinux' > make[1]: *** [/dev/shm/linux/Makefile:1179: vmlinux] Error 2 > make: *** [Makefile:224: __sub-make] Error 2 > > Help how to get a successful build is much appreciated. > hi Paul, I haven't been able to reproduce this one yet with your config; I tried with bpf-next + gcc-14, then switched to linux stable 6.12y + gcc 12 as that more closely matched your situation; all works fine for me. I'll try more precisely matching the gcc 12 version; things worked fine with pahole v.130 + gcc 12.2.1; from your config looks like you have gcc 12.3.0. Alan > > Kind regards, > > Paul > > > PS: Using pahole 1.23 I get: > > $ make -j100 > […] > LD .tmp_vmlinux1 > BTF .tmp_vmlinux1.btf.o > pahole: Multithreading requires elfutils >= 0.178. Continuing with a > single thread... > Unsupported DW_TAG_unspecified_type(0x3b) > Encountered error while encoding BTF. > NM .tmp_vmlinux1.syms > KSYMS .tmp_vmlinux1.kallsyms.S > AS .tmp_vmlinux1.kallsyms.o > LD .tmp_vmlinux2 > NM .tmp_vmlinux2.syms > KSYMS .tmp_vmlinux2.kallsyms.S > AS .tmp_vmlinux2.kallsyms.o > LD vmlinux > BTFIDS vmlinux > libbpf: failed to find '.BTF' ELF section in vmlinux > FAILED: load BTF from vmlinux: No data available > make[2]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 255 > make[2]: *** Deleting file 'vmlinux' > make[1]: *** [/dev/shm/linux/Makefile:1179: vmlinux] Error 2 > make: *** [Makefile:224: __sub-make] Error 2