> Am 12.08.2019 um 20:39 schrieb Andrii Nakryiko <andriin@xxxxxx>: > > @@ -92,23 +92,34 @@ vmlinux_link() > } > > # generate .BTF typeinfo from DWARF debuginfo > +# ${1} - vmlinux image > +# ${2} - file to dump raw BTF data into > gen_btf() > { > - local pahole_ver; > + local pahole_ver > + local bin_arch > > if ! [ -x "$(command -v ${PAHOLE})" ]; then > info "BTF" "${1}: pahole (${PAHOLE}) is not available" > - return 0 > + return 1 > fi > > pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/') > if [ "${pahole_ver}" -lt "113" ]; then > info "BTF" "${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.13" > - return 0 > + return 1 > fi > > - info "BTF" ${1} > + info "BTF" ${2} > + vmlinux_link ${1} > LLVM_OBJCOPY=${OBJCOPY} ${PAHOLE} -J ${1} > + > + # dump .BTF section into raw binary file to link with final vmlinux > + bin_arch=$(${OBJDUMP} -f ${1} | grep architecture | \ > + cut -d, -f1 | cut -d' ' -f2) > + ${OBJCOPY} --dump-section .BTF=.btf.kernel.bin ${1} 2>/dev/null > + ${OBJCOPY} -I binary -O ${CONFIG_OUTPUT_FORMAT} -B ${bin_arch} \ > + --rename-section .data=.BTF .btf.kernel.bin ${2} > } CONFIG_OUTPUT_FORMAT appears to be x86-only; enabling CONFIG_DEBUG_INFO_BTF on s390 caused a build failure. I now have a quick and dirty local patch, which adds CONFIG_OUTPUT_FORMAT to s390 and fixes the issue for me, but I suspect that CONFIG_DEBUG_INFO_BTF might be broken on other arches as well.