From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4B985C4332F for ; Wed, 19 Oct 2022 09:05:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231911AbiJSJFM (ORCPT ); Wed, 19 Oct 2022 05:05:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232614AbiJSJEo (ORCPT ); Wed, 19 Oct 2022 05:04:44 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4A15B1BBA; Wed, 19 Oct 2022 01:58:11 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 25EC16186A; Wed, 19 Oct 2022 08:56:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76BC8C433D7; Wed, 19 Oct 2022 08:56:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666169816; bh=uGAFkbEvNZHwWh23xLD17+tsvC4kD5K56+wkysblkbg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YChWQ7IQfQkeGosWoBP6iLEGsX669D5n7rtiNoAHQgU6oVLXyzy2f7m3Hjl1m00rP lg7kVjsEhNCEjfW7xjoQL9u2xkTjriWyboWjzOO9SHmP8h7knsfJ3sgZAtI9/YZ4Hb Zf6MxMm5l2R+YGvqr2UJo7DeXokj4zdof3otDeBjmtOv4ldXfVb3REUIM6A+oZVo7I Ri5zYu17vYSZK6KQ0vbmkxSsOWeO52frmstUieb395sBD0JJv9nGmWzeo+Jdqi5AXN auZzPxC8JUu+eW0LcyhxV3CNMHu+UvU9IQFa2A4XjFun81j7hEy/riZpI5Ks0rTuxT vP6fil8RaRwiw== From: Jiri Olsa To: stable@vger.kernel.org Cc: Andrii Nakryiko , bpf@vger.kernel.org, Arnaldo Carvalho de Melo , Daniel Borkmann , Martin Rodriguez Reboredo , Javier Martinez Canillas , Ilya Leoshkevich , Nathan Chancellor , =?UTF-8?q?Philip=20M=C3=BCller?= Subject: [PATCH stable 5.10 4/5] kbuild: Unify options for BTF generation for vmlinux and modules Date: Wed, 19 Oct 2022 10:56:03 +0200 Message-Id: <20221019085604.1017583-5-jolsa@kernel.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221019085604.1017583-1-jolsa@kernel.org> References: <20221019085604.1017583-1-jolsa@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org From: Jiri Olsa commit 9741e07ece7c247dd65e1aa01e16b683f01c05a8 upstream. [skipped --btf_gen_floats option in pahole-flags.sh, skipped Makefile.modfinal change, because there's no BTF kmod support, squashing in 'exit 0' change from merge commit fc02cb2b37fe] Using new PAHOLE_FLAGS variable to pass extra arguments to pahole for both vmlinux and modules BTF data generation. Adding new scripts/pahole-flags.sh script that detect and prints pahole options. [ fixed issues found by kernel test robot ] Signed-off-by: Jiri Olsa Signed-off-by: Andrii Nakryiko Acked-by: Andrii Nakryiko Link: https://lore.kernel.org/bpf/20211029125729.70002-1-jolsa@kernel.org --- Makefile | 3 +++ scripts/link-vmlinux.sh | 8 +------- scripts/pahole-flags.sh | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 7 deletions(-) create mode 100755 scripts/pahole-flags.sh diff --git a/Makefile b/Makefile index b824bdb0457c..fc8f1a1c0d98 100644 --- a/Makefile +++ b/Makefile @@ -465,6 +465,8 @@ LZ4 = lz4c XZ = xz ZSTD = zstd +PAHOLE_FLAGS = $(shell PAHOLE=$(PAHOLE) $(srctree)/scripts/pahole-flags.sh) + CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ -Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF) NOSTDINC_FLAGS := @@ -518,6 +520,7 @@ export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL +export PAHOLE_FLAGS # Files to ignore in find ... statements diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index bbb22be4c8f1..acd07a70a2f4 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -146,7 +146,6 @@ vmlinux_link() gen_btf() { local pahole_ver - local extra_paholeopt= if ! [ -x "$(command -v ${PAHOLE})" ]; then echo >&2 "BTF: ${1}: pahole (${PAHOLE}) is not available" @@ -161,13 +160,8 @@ gen_btf() vmlinux_link ${1} - if [ "${pahole_ver}" -ge "118" ] && [ "${pahole_ver}" -le "121" ]; then - # pahole 1.18 through 1.21 can't handle zero-sized per-CPU vars - extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_vars" - fi - info "BTF" ${2} - LLVM_OBJCOPY="${OBJCOPY}" ${PAHOLE} -J ${extra_paholeopt} ${1} + LLVM_OBJCOPY="${OBJCOPY}" ${PAHOLE} -J ${PAHOLE_FLAGS} ${1} # Create ${2} which contains just .BTF section but no symbols. Add # SHF_ALLOC because .BTF will be part of the vmlinux image. --strip-all diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh new file mode 100755 index 000000000000..27445cb72974 --- /dev/null +++ b/scripts/pahole-flags.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 + +extra_paholeopt= + +if ! [ -x "$(command -v ${PAHOLE})" ]; then + exit 0 +fi + +pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/') + +if [ "${pahole_ver}" -ge "118" ] && [ "${pahole_ver}" -le "121" ]; then + # pahole 1.18 through 1.21 can't handle zero-sized per-CPU vars + extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_vars" +fi + +echo ${extra_paholeopt} -- 2.37.3