Message ID | ZTGc8S293uaTqHja@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2010:b0:403:3b70:6f57 with SMTP id fe16csp657000vqb; Thu, 19 Oct 2023 14:17:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHet6U57qOcITddZpPjt9dkyUiaZ2reNH2iq9oLh/x5V5cIzFy+eakZJxzuijci7cgxpoyb X-Received: by 2002:a17:903:705:b0:1c6:25b2:b71a with SMTP id kk5-20020a170903070500b001c625b2b71amr98194plb.2.1697750267439; Thu, 19 Oct 2023 14:17:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697750267; cv=none; d=google.com; s=arc-20160816; b=UOUuGszEew6mFVjn2qgSEGTbVz8oOXFiQPvdEz0KHCsb84jDQcNN6cLuZID3j7hBH4 wUzj/3Inr7QHRliZd14cBSOBfwhZk4ROFX47TIGwuWgc48woc2ceeuBLyeidglH+ajGp 7P+MabC5I4blcKbRlfMtCAtVwS+yOeuQzbe3LKV9xl6jGo22Npn1/THht0tatnBP+Mbv dNknsUkoh7GzwTuwjBKrhJFLK35YGjr16FaBYTB6hS3mKu6hc2YM051iQAs6KkxcBabK 4MpxB7rC9jIX61XbMq4EuQjCkZsOlbPtID51/2z4TjICxbze6pjSpOXhUOmawnnytX8j f27w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:dkim-signature; bh=b6+mZ4fXrq1qe29exux2uJ/KdE8wmjFm0MoWQyI3vIk=; fh=SIz8bHRgaaDOKi3At/rVWxDn4ucF7JwVBko7KARUnWo=; b=YXsGWTUxGXvl0/oqUuI7zr5ZVzBi1abDeRFMli8oH2o+7jmlsu0rNlz3OA8gS7A5z1 suxrNj9SDROfG26fHFfXPB69nklng2kLRYqYCDKRn1WPgefQnb3GqvaKuhG8yy/75jSf YI8uogNCpJHo+3Zslcc9rZ/EGBKVWyehh+4GkmEAk5qU4E2aza6p1uEc7Clm2afUG0G6 CYQHhilcz4vBbXbno/2OOAoUwuKqYGQkZ5HaCBGl5Vgi5hyzgX7AxFTfyxb9XVZjqsCI IVZee+cY7yCMZ7udBhVcWgZXVulqMJ3jqvhjBinRYj01LQ6tKbM1E9I8qy7vd7xdjXgv nSjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="DQy4c/qS"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id k18-20020a170902c41200b001c9abee0d76si398762plk.331.2023.10.19.14.17.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Oct 2023 14:17:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="DQy4c/qS"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id C04E1827C1B5; Thu, 19 Oct 2023 14:17:46 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235532AbjJSVRo (ORCPT <rfc822;a1648639935@gmail.com> + 26 others); Thu, 19 Oct 2023 17:17:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231495AbjJSVRn (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 19 Oct 2023 17:17:43 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6DB1114 for <linux-kernel@vger.kernel.org>; Thu, 19 Oct 2023 14:17:41 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1613BC433C8; Thu, 19 Oct 2023 21:17:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697750261; bh=UbRSZc6crtgCeY0MRdsWT/KJ2XCs7EiHnMiSLAyYy50=; h=Date:From:To:Cc:Subject:From; b=DQy4c/qS73NJUZKGInjpVlY45mpKWBWu/lp8LDxM6/JBOKM4vAt/1U6wu2d7ez6Z/ +9Bwgeju4qEt/0xwW4HpV2yAvEBSkzRXDB/88sj3lI+f3gF/KMq1qwI0rwzrA8oxBp Aic3meb9N7VfTpGj4Fe3mMgttZLbbziRTBBDz/2VgWjadletAP0KNkgtk/sq3MIQub k+IfR4NOoUAUvOdbZVfPYp2DxEDUpZ3j5WBOzwpPTdmz09UXQjtae2AQaRKvxSkKyQ T6pilfQW4bPVhntuHZV1Kta/jSMEnoWNjOY0cb5QKFTF2TMTaW/rxu7epJXMbb3yEh i5IgmlP5tz0Aw== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 976C140016; Thu, 19 Oct 2023 18:17:37 -0300 (-03) Date: Thu, 19 Oct 2023 18:17:37 -0300 From: Arnaldo Carvalho de Melo <acme@kernel.org> To: linux-kernel@vger.kernel.org, Manu Bretelle <chantr4@gmail.com> Cc: Adrian Hunter <adrian.hunter@intel.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Andi Kleen <ak@linux.intel.com>, Andrii Nakryiko <andrii@kernel.org>, Anshuman Khandual <anshuman.khandual@arm.com>, Carsten Haitzler <carsten.haitzler@arm.com>, Eduard Zingerman <eddyz87@gmail.com>, Fangrui Song <maskray@google.com>, He Kuang <hekuang@huawei.com>, Ian Rogers <irogers@google.com>, Ingo Molnar <mingo@redhat.com>, James Clark <james.clark@arm.com>, Jiri Olsa <jolsa@kernel.org>, Kan Liang <kan.liang@linux.intel.com>, Leo Yan <leo.yan@linaro.org>, llvm@lists.linux.dev, Madhavan Srinivasan <maddy@linux.ibm.com>, Mark Rutland <mark.rutland@arm.com>, Namhyung Kim <namhyung@kernel.org>, Nathan Chancellor <nathan@kernel.org>, "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>, Nick Desaulniers <ndesaulniers@google.com>, Peter Zijlstra <peterz@infradead.org>, Quentin Monnet <quentin@isovalent.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Rob Herring <robh@kernel.org>, Tiezhu Yang <yangtiezhu@loongson.cn>, Tom Rix <trix@redhat.com>, Wang Nan <wangnan0@huawei.com>, Wang ShaoBo <bobo.shaobowang@huawei.com>, Yang Jihong <yangjihong1@huawei.com>, Yonghong Song <yhs@fb.com>, YueHaibing <yuehaibing@huawei.com>, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH 1/1] tools build: Fix llvm feature detection, still used by bpftool Message-ID: <ZTGc8S293uaTqHja@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 19 Oct 2023 14:17:46 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780220184784971976 X-GMAIL-MSGID: 1780220184784971976 |
Series |
[1/1] tools build: Fix llvm feature detection, still used by bpftool
|
|
Commit Message
Arnaldo Carvalho de Melo
Oct. 19, 2023, 9:17 p.m. UTC
When removing the BPF event for perf a feature test that checks if the
llvm devel files are availabe was removed but that is also used by
bpftool.
bpftool uses it to decide what kind of disassembly it will use: llvm or
binutils based.
Removing the tools/build/feature/test-llvm.cpp file made bpftool to
always fallback to binutils disassembly, even with the llvm devel files
installed, fix it by restoring just that small test-llvm.cpp test file.
Fixes: 56b11a2126bf2f42 ("perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c)")
Reported-by: Manu Bretelle <chantr4@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Carsten Haitzler <carsten.haitzler@arm.com>
Cc: Eduard Zingerman <eddyz87@gmail.com>
Cc: Fangrui Song <maskray@google.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: llvm@lists.linux.dev
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Quentin Monnet <quentin@isovalent.com>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Tom Rix <trix@redhat.com>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Wang ShaoBo <bobo.shaobowang@huawei.com>
Cc: Yang Jihong <yangjihong1@huawei.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: YueHaibing <yuehaibing@huawei.com>
Link: https://lore.kernel.org/lkml/ZTGa0Ukt7QyxWcVy@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/build/feature/test-llvm.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 tools/build/feature/test-llvm.cpp
Comments
On Thu, Oct 19, 2023 at 2:17 PM Arnaldo Carvalho de Melo <acme@kernel.org> wrote: > > When removing the BPF event for perf a feature test that checks if the > llvm devel files are availabe was removed but that is also used by > bpftool. > > bpftool uses it to decide what kind of disassembly it will use: llvm or > binutils based. > > Removing the tools/build/feature/test-llvm.cpp file made bpftool to > always fallback to binutils disassembly, even with the llvm devel files > installed, fix it by restoring just that small test-llvm.cpp test file. > > Fixes: 56b11a2126bf2f42 ("perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c)") > Reported-by: Manu Bretelle <chantr4@gmail.com> > Cc: Adrian Hunter <adrian.hunter@intel.com> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> > Cc: Andi Kleen <ak@linux.intel.com> > Cc: Andrii Nakryiko <andrii@kernel.org> > Cc: Anshuman Khandual <anshuman.khandual@arm.com> > Cc: Carsten Haitzler <carsten.haitzler@arm.com> > Cc: Eduard Zingerman <eddyz87@gmail.com> > Cc: Fangrui Song <maskray@google.com> > Cc: He Kuang <hekuang@huawei.com> > Cc: Ian Rogers <irogers@google.com> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: James Clark <james.clark@arm.com> > Cc: Jiri Olsa <jolsa@kernel.org> > Cc: Kan Liang <kan.liang@linux.intel.com> > Cc: Leo Yan <leo.yan@linaro.org> > Cc: llvm@lists.linux.dev > Cc: Madhavan Srinivasan <maddy@linux.ibm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: Nathan Chancellor <nathan@kernel.org> > Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Quentin Monnet <quentin@isovalent.com> > Cc: Ravi Bangoria <ravi.bangoria@amd.com> > Cc: Rob Herring <robh@kernel.org> > Cc: Tiezhu Yang <yangtiezhu@loongson.cn> > Cc: Tom Rix <trix@redhat.com> > Cc: Wang Nan <wangnan0@huawei.com> > Cc: Wang ShaoBo <bobo.shaobowang@huawei.com> > Cc: Yang Jihong <yangjihong1@huawei.com> > Cc: Yonghong Song <yhs@fb.com> > Cc: YueHaibing <yuehaibing@huawei.com> > Link: https://lore.kernel.org/lkml/ZTGa0Ukt7QyxWcVy@kernel.org > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Sorry for the breakage. Reviewed-by: Ian Rogers <irogers@google.com> Thanks, Ian > --- > tools/build/feature/test-llvm.cpp | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > create mode 100644 tools/build/feature/test-llvm.cpp > > diff --git a/tools/build/feature/test-llvm.cpp b/tools/build/feature/test-llvm.cpp > new file mode 100644 > index 0000000000000000..88a3d1bdd9f6978e > --- /dev/null > +++ b/tools/build/feature/test-llvm.cpp > @@ -0,0 +1,14 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include "llvm/Support/ManagedStatic.h" > +#include "llvm/Support/raw_ostream.h" > +#define NUM_VERSION (((LLVM_VERSION_MAJOR) << 16) + (LLVM_VERSION_MINOR << 8) + LLVM_VERSION_PATCH) > + > +#if NUM_VERSION < 0x030900 > +# error "LLVM version too low" > +#endif > +int main() > +{ > + llvm::errs() << "Hello World!\n"; > + llvm::llvm_shutdown(); > + return 0; > +} > -- > 2.41.0 >
On 19/10/2023 22:17, Arnaldo Carvalho de Melo wrote: > When removing the BPF event for perf a feature test that checks if the > llvm devel files are availabe was removed but that is also used by > bpftool. > > bpftool uses it to decide what kind of disassembly it will use: llvm or > binutils based. > > Removing the tools/build/feature/test-llvm.cpp file made bpftool to > always fallback to binutils disassembly, even with the llvm devel files > installed, fix it by restoring just that small test-llvm.cpp test file. > > Fixes: 56b11a2126bf2f42 ("perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c)") > Reported-by: Manu Bretelle <chantr4@gmail.com> > Cc: Adrian Hunter <adrian.hunter@intel.com> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> > Cc: Andi Kleen <ak@linux.intel.com> > Cc: Andrii Nakryiko <andrii@kernel.org> > Cc: Anshuman Khandual <anshuman.khandual@arm.com> > Cc: Carsten Haitzler <carsten.haitzler@arm.com> > Cc: Eduard Zingerman <eddyz87@gmail.com> > Cc: Fangrui Song <maskray@google.com> > Cc: He Kuang <hekuang@huawei.com> > Cc: Ian Rogers <irogers@google.com> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: James Clark <james.clark@arm.com> > Cc: Jiri Olsa <jolsa@kernel.org> > Cc: Kan Liang <kan.liang@linux.intel.com> > Cc: Leo Yan <leo.yan@linaro.org> > Cc: llvm@lists.linux.dev > Cc: Madhavan Srinivasan <maddy@linux.ibm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: Nathan Chancellor <nathan@kernel.org> > Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Quentin Monnet <quentin@isovalent.com> > Cc: Ravi Bangoria <ravi.bangoria@amd.com> > Cc: Rob Herring <robh@kernel.org> > Cc: Tiezhu Yang <yangtiezhu@loongson.cn> > Cc: Tom Rix <trix@redhat.com> > Cc: Wang Nan <wangnan0@huawei.com> > Cc: Wang ShaoBo <bobo.shaobowang@huawei.com> > Cc: Yang Jihong <yangjihong1@huawei.com> > Cc: Yonghong Song <yhs@fb.com> > Cc: YueHaibing <yuehaibing@huawei.com> > Link: https://lore.kernel.org/lkml/ZTGa0Ukt7QyxWcVy@kernel.org > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> > --- > tools/build/feature/test-llvm.cpp | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > create mode 100644 tools/build/feature/test-llvm.cpp > > diff --git a/tools/build/feature/test-llvm.cpp b/tools/build/feature/test-llvm.cpp > new file mode 100644 > index 0000000000000000..88a3d1bdd9f6978e > --- /dev/null > +++ b/tools/build/feature/test-llvm.cpp > @@ -0,0 +1,14 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include "llvm/Support/ManagedStatic.h" > +#include "llvm/Support/raw_ostream.h" > +#define NUM_VERSION (((LLVM_VERSION_MAJOR) << 16) + (LLVM_VERSION_MINOR << 8) + LLVM_VERSION_PATCH) > + > +#if NUM_VERSION < 0x030900 > +# error "LLVM version too low" > +#endif > +int main() > +{ > + llvm::errs() << "Hello World!\n"; > + llvm::llvm_shutdown(); > + return 0; > +} Acked-by: Quentin Monnet <quentin@isovalent.com> Thanks Arnaldo, Manu!
On Thu, Oct 19, 2023 at 2:17 PM Arnaldo Carvalho de Melo <acme@kernel.org> wrote: > > When removing the BPF event for perf a feature test that checks if the > llvm devel files are availabe was removed but that is also used by > bpftool. > > bpftool uses it to decide what kind of disassembly it will use: llvm or > binutils based. > > Removing the tools/build/feature/test-llvm.cpp file made bpftool to > always fallback to binutils disassembly, even with the llvm devel files > installed, fix it by restoring just that small test-llvm.cpp test file. > > Fixes: 56b11a2126bf2f42 ("perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c)") Should we route this through the bpf-next tree to get the fix for bpftool into Github mirror ASAP? > Reported-by: Manu Bretelle <chantr4@gmail.com> > Cc: Adrian Hunter <adrian.hunter@intel.com> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> > Cc: Andi Kleen <ak@linux.intel.com> > Cc: Andrii Nakryiko <andrii@kernel.org> > Cc: Anshuman Khandual <anshuman.khandual@arm.com> > Cc: Carsten Haitzler <carsten.haitzler@arm.com> > Cc: Eduard Zingerman <eddyz87@gmail.com> > Cc: Fangrui Song <maskray@google.com> > Cc: He Kuang <hekuang@huawei.com> > Cc: Ian Rogers <irogers@google.com> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: James Clark <james.clark@arm.com> > Cc: Jiri Olsa <jolsa@kernel.org> > Cc: Kan Liang <kan.liang@linux.intel.com> > Cc: Leo Yan <leo.yan@linaro.org> > Cc: llvm@lists.linux.dev > Cc: Madhavan Srinivasan <maddy@linux.ibm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: Nathan Chancellor <nathan@kernel.org> > Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Quentin Monnet <quentin@isovalent.com> > Cc: Ravi Bangoria <ravi.bangoria@amd.com> > Cc: Rob Herring <robh@kernel.org> > Cc: Tiezhu Yang <yangtiezhu@loongson.cn> > Cc: Tom Rix <trix@redhat.com> > Cc: Wang Nan <wangnan0@huawei.com> > Cc: Wang ShaoBo <bobo.shaobowang@huawei.com> > Cc: Yang Jihong <yangjihong1@huawei.com> > Cc: Yonghong Song <yhs@fb.com> > Cc: YueHaibing <yuehaibing@huawei.com> > Link: https://lore.kernel.org/lkml/ZTGa0Ukt7QyxWcVy@kernel.org > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> > --- > tools/build/feature/test-llvm.cpp | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > create mode 100644 tools/build/feature/test-llvm.cpp > > diff --git a/tools/build/feature/test-llvm.cpp b/tools/build/feature/test-llvm.cpp > new file mode 100644 > index 0000000000000000..88a3d1bdd9f6978e > --- /dev/null > +++ b/tools/build/feature/test-llvm.cpp > @@ -0,0 +1,14 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include "llvm/Support/ManagedStatic.h" > +#include "llvm/Support/raw_ostream.h" > +#define NUM_VERSION (((LLVM_VERSION_MAJOR) << 16) + (LLVM_VERSION_MINOR << 8) + LLVM_VERSION_PATCH) > + > +#if NUM_VERSION < 0x030900 > +# error "LLVM version too low" > +#endif > +int main() > +{ > + llvm::errs() << "Hello World!\n"; > + llvm::llvm_shutdown(); > + return 0; > +} > -- > 2.41.0 >
On 19/10/2023 23:47, Andrii Nakryiko wrote: > On Thu, Oct 19, 2023 at 2:17 PM Arnaldo Carvalho de Melo > <acme@kernel.org> wrote: >> >> When removing the BPF event for perf a feature test that checks if the >> llvm devel files are availabe was removed but that is also used by >> bpftool. >> >> bpftool uses it to decide what kind of disassembly it will use: llvm or >> binutils based. >> >> Removing the tools/build/feature/test-llvm.cpp file made bpftool to >> always fallback to binutils disassembly, even with the llvm devel files >> installed, fix it by restoring just that small test-llvm.cpp test file. >> >> Fixes: 56b11a2126bf2f42 ("perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c)") > > Should we route this through the bpf-next tree to get the fix for > bpftool into Github mirror ASAP? It shouldn't be necessary. The GitHub mirror for bpftool uses its own feature detection mechanism, and is not affected here. This patch won't even make it to the mirror. Quentin
On Thu, Oct 19, 2023 at 06:17:37PM -0300, Arnaldo Carvalho de Melo wrote: > When removing the BPF event for perf a feature test that checks if the > llvm devel files are availabe was removed but that is also used by > bpftool. > > bpftool uses it to decide what kind of disassembly it will use: llvm or > binutils based. > > Removing the tools/build/feature/test-llvm.cpp file made bpftool to > always fallback to binutils disassembly, even with the llvm devel files > installed, fix it by restoring just that small test-llvm.cpp test file. > > Fixes: 56b11a2126bf2f42 ("perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c)") > Reported-by: Manu Bretelle <chantr4@gmail.com> > Cc: Adrian Hunter <adrian.hunter@intel.com> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> > Cc: Andi Kleen <ak@linux.intel.com> > Cc: Andrii Nakryiko <andrii@kernel.org> > Cc: Anshuman Khandual <anshuman.khandual@arm.com> > Cc: Carsten Haitzler <carsten.haitzler@arm.com> > Cc: Eduard Zingerman <eddyz87@gmail.com> > Cc: Fangrui Song <maskray@google.com> > Cc: He Kuang <hekuang@huawei.com> > Cc: Ian Rogers <irogers@google.com> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: James Clark <james.clark@arm.com> > Cc: Jiri Olsa <jolsa@kernel.org> > Cc: Kan Liang <kan.liang@linux.intel.com> > Cc: Leo Yan <leo.yan@linaro.org> > Cc: llvm@lists.linux.dev > Cc: Madhavan Srinivasan <maddy@linux.ibm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: Nathan Chancellor <nathan@kernel.org> > Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Quentin Monnet <quentin@isovalent.com> > Cc: Ravi Bangoria <ravi.bangoria@amd.com> > Cc: Rob Herring <robh@kernel.org> > Cc: Tiezhu Yang <yangtiezhu@loongson.cn> > Cc: Tom Rix <trix@redhat.com> > Cc: Wang Nan <wangnan0@huawei.com> > Cc: Wang ShaoBo <bobo.shaobowang@huawei.com> > Cc: Yang Jihong <yangjihong1@huawei.com> > Cc: Yonghong Song <yhs@fb.com> > Cc: YueHaibing <yuehaibing@huawei.com> > Link: https://lore.kernel.org/lkml/ZTGa0Ukt7QyxWcVy@kernel.org > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> > --- > tools/build/feature/test-llvm.cpp | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > create mode 100644 tools/build/feature/test-llvm.cpp > > diff --git a/tools/build/feature/test-llvm.cpp b/tools/build/feature/test-llvm.cpp > new file mode 100644 > index 0000000000000000..88a3d1bdd9f6978e > --- /dev/null > +++ b/tools/build/feature/test-llvm.cpp > @@ -0,0 +1,14 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include "llvm/Support/ManagedStatic.h" > +#include "llvm/Support/raw_ostream.h" > +#define NUM_VERSION (((LLVM_VERSION_MAJOR) << 16) + (LLVM_VERSION_MINOR << 8) + LLVM_VERSION_PATCH) > + > +#if NUM_VERSION < 0x030900 > +# error "LLVM version too low" > +#endif > +int main() > +{ > + llvm::errs() << "Hello World!\n"; > + llvm::llvm_shutdown(); > + return 0; > +} Thanks for the quick turnaround!
diff --git a/tools/build/feature/test-llvm.cpp b/tools/build/feature/test-llvm.cpp new file mode 100644 index 0000000000000000..88a3d1bdd9f6978e --- /dev/null +++ b/tools/build/feature/test-llvm.cpp @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "llvm/Support/ManagedStatic.h" +#include "llvm/Support/raw_ostream.h" +#define NUM_VERSION (((LLVM_VERSION_MAJOR) << 16) + (LLVM_VERSION_MINOR << 8) + LLVM_VERSION_PATCH) + +#if NUM_VERSION < 0x030900 +# error "LLVM version too low" +#endif +int main() +{ + llvm::errs() << "Hello World!\n"; + llvm::llvm_shutdown(); + return 0; +}