From patchwork Wed Oct 18 15:19:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 154929 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp4867571vqb; Wed, 18 Oct 2023 08:20:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHDeLtrc0f9FyylwHQaBH2AV79avVY4MQJn2F5GNDFpdvBoz+4fu9l4z14KqXDkLeEBwrna X-Received: by 2002:a05:6359:1b8f:b0:166:d9b8:4de6 with SMTP id ur15-20020a0563591b8f00b00166d9b84de6mr4909192rwb.1.1697642451981; Wed, 18 Oct 2023 08:20:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697642451; cv=none; d=google.com; s=arc-20160816; b=GjaLq8JUvjoeJ6/12n/ugQJ0dfvwPWI3LZ0bU4yeTe+daBVjwF6iWr/t8l4ZgH2N1G y2BXT1lBx29Hn5nIeXRG+yBKzRlxF2Rs3f1siHWax+/NfOlsz+7TJFv8YKr7WwyNmh4M C5crxVHTl3MWMqcc9QM2KxymWe7lnd7P+K3UGn7VgLbXVlp07zdrRsWbInhl9Uwt18NV hnLytakI0escJrSS/UU8zO7ioVOJHuWOUm82rWVW+me1KPB3ZjZykwXGHLPOxtGR4qyg 4nfKloWMjt+cxrHwFWXPCXUhrLBBisVnLco73U0YoBSgX+Snsu82fDr9G1PCCPxMgNEw U5hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=z51kSW74SpO5QxO0y35u6gZBKODHl0edS9cDs+K+ahs=; fh=kjjKM1dhdxjwXQUkGq1DioIPY+ulqOZ0QzJOIhWyu9s=; b=sDmzozDRkEZ2R/kiSMEbVgpwyC8KcGSATx3QLPuXmM5nnzTWyMOOXGfh8WcLJ3O83v ExO9CqVnZMXwZTG67QldkqfU4btd5qbW6Ye8Tr0NW5ENcjWwCemb2BlJXDXOkb2XNyIF PYmQpRDkPt0HGywzTfss48Rie+NXxxIg/VzQGLtjcXNqUZE51wTLAthi2Fq2jv1Bdg4P ruz7vVCvbevUl4uY9hPlJY5y3E+/qr8W/88x8Q8ujYkdxuISa9jXRybARjhG4BwHCvZA 9wpao1gu/UeP6RoAJEj113yfIShUYYPmhAkNQ4oc1SYItXI++Q+b6xed1ZH+PHdRZBFa f6uQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FL059UW4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id u69-20020a637948000000b0057745d87b50si2081132pgc.139.2023.10.18.08.20.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Oct 2023 08:20:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FL059UW4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 5BE85808AB89; Wed, 18 Oct 2023 08:20:31 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344659AbjJRPUQ (ORCPT + 23 others); Wed, 18 Oct 2023 11:20:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232311AbjJRPUN (ORCPT ); Wed, 18 Oct 2023 11:20:13 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F035E10F; Wed, 18 Oct 2023 08:20:10 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C79BC433C9; Wed, 18 Oct 2023 15:20:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697642410; bh=Zr2L12JqejcIlTbLLIerbGhqiW1yZZSSNZv8I1yqdSc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FL059UW4d7zF4SqEOQDHlI9qWMvJTNfpJxRNMVNqZIf3KIUSQ34igV3GhrJx5clcG EP49FyFunMCWDuWbJ2Rgtu8IUQLVkRt8/ZT+zRDwiQhZsHOwvyY5v0Lp489rPOkKmY GF8TBHcovVrhZr42YPDCjfhdyW5LJ2IRqzQUCD1BZxigG2fCZD8NDLVj1ElMvcTUVH UB/pd4w/YRgbME2VUuZNZzzm+zhGK+1gmmY0vh8SuI7roe4HZSuvY/yiJHldr8pFEo x3u0Ezxb0numpcnNjRr4dIHd1m0q7Ofxvc7PgHSUlKpJgCT4fupNNTGBArHzlcrWja XcJUo4C3bgUgw== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada , Nicolas Schier , Nathan Chancellor , Nick Desaulniers , Nicolas Schier , bpf@vger.kernel.org Subject: [bpf-next PATCH v2 3/4] kbuild: skip module BTF with one-time check for vmlinux Date: Thu, 19 Oct 2023 00:19:49 +0900 Message-Id: <20231018151950.205265-3-masahiroy@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231018151950.205265-1-masahiroy@kernel.org> References: <20231018151950.205265-1-masahiroy@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Wed, 18 Oct 2023 08:20:31 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780107131410439312 X-GMAIL-MSGID: 1780107131410439312 When CONFIG_DEBUG_INFO_BTF_MODULES is enabled, vmlinux presence is checked in every module build, resulting in repetitive warning messages if vmlinux is missing. Check vmlinux and print a warning just once. Signed-off-by: Masahiro Yamada Reviewed-by: Nicolas Schier Acked-by: Jiri Olsa --- (no changes since v1) scripts/Makefile.modfinal | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/scripts/Makefile.modfinal b/scripts/Makefile.modfinal index 8568d256d6fb..9fd7a26e4fe9 100644 --- a/scripts/Makefile.modfinal +++ b/scripts/Makefile.modfinal @@ -14,6 +14,15 @@ include $(srctree)/scripts/Makefile.lib # find all modules listed in modules.order modules := $(call read-file, $(MODORDER)) +vmlinux := + +ifdef CONFIG_DEBUG_INFO_BTF_MODULES +ifneq ($(wildcard vmlinux),) +vmlinux := vmlinux +else +$(warning Skipping BTF generation due to unavailability of vmlinux) +endif +endif __modfinal: $(modules:%.o=%.ko) @: @@ -36,12 +45,8 @@ quiet_cmd_ld_ko_o = LD [M] $@ quiet_cmd_btf_ko = BTF [M] $@ cmd_btf_ko = \ - if [ ! -f vmlinux ]; then \ - printf "Skipping BTF generation for %s due to unavailability of vmlinux\n" $@ 1>&2; \ - else \ LLVM_OBJCOPY="$(OBJCOPY)" $(PAHOLE) -J $(PAHOLE_FLAGS) --btf_base vmlinux $@; \ - $(RESOLVE_BTFIDS) -b vmlinux $@; \ - fi; + $(RESOLVE_BTFIDS) -b vmlinux $@ # Same as newer-prereqs, but allows to exclude specified extra dependencies newer_prereqs_except = $(filter-out $(PHONY) $(1),$?) @@ -52,9 +57,9 @@ if_changed_except = $(if $(call newer_prereqs_except,$(2))$(cmd-check), \ printf '%s\n' 'savedcmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:) # Re-generate module BTFs if either module's .ko or vmlinux changed -%.ko: %.o %.mod.o scripts/module.lds $(and $(CONFIG_DEBUG_INFO_BTF_MODULES),$(KBUILD_BUILTIN),vmlinux) FORCE +%.ko: %.o %.mod.o scripts/module.lds $(vmlinux) FORCE +$(call if_changed_except,ld_ko_o,vmlinux) -ifdef CONFIG_DEBUG_INFO_BTF_MODULES +ifdef vmlinux +$(if $(newer-prereqs),$(call cmd,btf_ko)) endif