From patchwork Wed May 10 06:44:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yang Jihong X-Patchwork-Id: 91908 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp3412373vqo; Tue, 9 May 2023 23:54:30 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6xZYgTaMgwSmypMCclCwdh2D0Iwu2J9syJCjWhvD9Mhz9kzUs8aEzYe7Qw74uaXIlLJwrT X-Received: by 2002:a17:903:191:b0:1ac:750e:33f4 with SMTP id z17-20020a170903019100b001ac750e33f4mr13160921plg.32.1683701670046; Tue, 09 May 2023 23:54:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683701670; cv=none; d=google.com; s=arc-20160816; b=zvs/tBAjeELW+kV5bVAJABSYANnRZUOtNKXTvM5vk+ClS5q+hCledo0UPROwEsnp7i mD/LitD6b+zVhwHEEDJHsogFfUY50CVMGt0+aegHkPux5KfQXnp/z+kUWUL+649oGc2j /UDJe4Ors2O5D9DnvoO4rbc0dAlzima0cTdrICgvzXi4gtrD87jQtaAWM5n7X17EX24p lArOoZmnimg/vkeGde5gey2BvTvSrRybS2MhsyfofKkx0x6DzBJU/xPanprwuD1bBRXb hqFH8hB3RHuY9kfhLwEcoI/q2kiswBsL9ecLa08ZvqphFJ8t71zT67JYIRwjNLM2DtcQ V7Pg== 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 :message-id:date:subject:cc:to:from; bh=z7fJeKo2PvTNM5va1UrRJqn1FvgSMnXoASpUfko11bQ=; b=CApIuYOfrN8npq3v7YZRaTWYoATvdBW/2tUI3Pxph1h5L8BlLdW4lk6vZbrjRxQGGC bjbF+XdwFFZftz0xvopV7vfBrZ2mtztkciPLRc8jhPTxJzDBuClR7xes7HiKkM02urmq o1u4FKQaXXQQPJyrazZoJ8MLQnE+VHrIeCUm3jkjkdj1iOj0VWWskwtzDEGR3rM3cNed QbpQ+GTlFt1zd1+feuNJ2XowJKF8MXSjtn6lV4cprUUoNQwBe/Un/uNgJnqEJlQNqQ2O nRuh4kyCBJDifYbADs3tMAgYH84HNZRlEPaTqTU3BdLTvRUdM8xHpYnKJ0tcdNiRaUAW tQCw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l9-20020a170903120900b001a1af4abdedsi3705758plh.212.2023.05.09.23.54.03; Tue, 09 May 2023 23:54:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236056AbjEJGph (ORCPT + 99 others); Wed, 10 May 2023 02:45:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236016AbjEJGpf (ORCPT ); Wed, 10 May 2023 02:45:35 -0400 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 995C71B8; Tue, 9 May 2023 23:45:33 -0700 (PDT) Received: from kwepemm600003.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4QGQR43x1sz18LN2; Wed, 10 May 2023 14:41:20 +0800 (CST) Received: from localhost.localdomain (10.67.174.95) by kwepemm600003.china.huawei.com (7.193.23.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 10 May 2023 14:45:30 +0800 From: Yang Jihong To: , , , , , , , , , , , , , CC: Subject: [PATCH v2] perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory Date: Wed, 10 May 2023 06:44:01 +0000 Message-ID: <20230510064401.225051-1-yangjihong1@huawei.com> X-Mailer: git-send-email 2.30.GIT MIME-Version: 1.0 X-Originating-IP: [10.67.174.95] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemm600003.china.huawei.com (7.193.23.202) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765489162370493078?= X-GMAIL-MSGID: =?utf-8?q?1765489162370493078?= Currently, vmlinux.h uses the bpf.h and perf_event.h header files in the system path. If the header files in compilation environment are old, compilation may fail. For example: /home/yangjihong/linux/tools/perf/util/bpf_skel/.tmp/../vmlinux.h:151:27: error: field has incomplete type 'union perf_sample_weight' union perf_sample_weight weight; Use the bpf.h and perf_event.h files in the source code directory to avoid compilation compatibility problems. Signed-off-by: Yang Jihong --- Changes since v1: - Use Makefile to specify that header files in tools/include/uapi directory are preferentially used. tools/perf/Makefile.perf | 3 ++- tools/perf/util/bpf_skel/vmlinux.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index a42a6a99c2bc..9b92749280b2 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -1058,13 +1058,14 @@ $(SKEL_TMP_OUT) $(LIBAPI_OUTPUT) $(LIBBPF_OUTPUT) $(LIBPERF_OUTPUT) $(LIBSUBCMD_ ifdef BUILD_BPF_SKEL BPFTOOL := $(SKEL_TMP_OUT)/bootstrap/bpftool BPF_INCLUDE := -I$(SKEL_TMP_OUT)/.. -I$(LIBBPF_INCLUDE) +TOOLS_UAPI_INCLUDE := -I$(srctree)/tools/include/uapi $(BPFTOOL): | $(SKEL_TMP_OUT) $(Q)CFLAGS= $(MAKE) -C ../bpf/bpftool \ OUTPUT=$(SKEL_TMP_OUT)/ bootstrap $(SKEL_TMP_OUT)/%.bpf.o: util/bpf_skel/%.bpf.c $(LIBBPF) | $(SKEL_TMP_OUT) - $(QUIET_CLANG)$(CLANG) -g -O2 -target bpf -Wall -Werror $(BPF_INCLUDE) \ + $(QUIET_CLANG)$(CLANG) -g -O2 -target bpf -Wall -Werror $(BPF_INCLUDE) $(TOOLS_UAPI_INCLUDE) \ -c $(filter util/bpf_skel/%.bpf.c,$^) -o $@ && $(LLVM_STRIP) -g $@ $(SKEL_OUT)/%.skel.h: $(SKEL_TMP_OUT)/%.bpf.o | $(BPFTOOL) diff --git a/tools/perf/util/bpf_skel/vmlinux.h b/tools/perf/util/bpf_skel/vmlinux.h index 449b1ea91fc4..c7ed51b0c1ef 100644 --- a/tools/perf/util/bpf_skel/vmlinux.h +++ b/tools/perf/util/bpf_skel/vmlinux.h @@ -1,6 +1,7 @@ #ifndef __VMLINUX_H #define __VMLINUX_H +#include // for define __always_inline #include #include #include