From nobody Wed Feb 11 18:48:22 2026 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 CBB73C61DA4 for ; Sat, 11 Mar 2023 06:58:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230034AbjCKG61 (ORCPT ); Sat, 11 Mar 2023 01:58:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229983AbjCKG6Q (ORCPT ); Sat, 11 Mar 2023 01:58:16 -0500 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7AB8C1E5D6 for ; Fri, 10 Mar 2023 22:58:15 -0800 (PST) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-536d63d17dbso77973997b3.22 for ; Fri, 10 Mar 2023 22:58:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517894; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=hwwywuV0dZU1czvMnaqVuf21dNJ0Sgzpp/JikcaGwIM=; b=iyrOLKNXgp5pumM5DPnUpRoFROT7RshhOsI0yeo95KWRoGMdlcNQFCDjSYJF/fd4gd 7hu12qdHoHdYgm5zqyEXci3bfX0dydaKiArEDp0hM+neBf5ZBCosEv8IMARvBPjkqvmb yyD03otq1Y3WrtRW1ipFvMJEFdzz4bTnUoWXEjLsUOaY2TTFbdm4WovCLsZ2ZMDxdDWx ahYVziJPegDQKv0SeE+vgbJ/BrG1XcS0IJjpZIdltdzjzWegZRCUU4PBAwH//URFsDzl qYjgfQT96MzCh+0XPNa8h0mKffrqvjZKoqCnZjWCb3uAKrC7+1bdEynScYjzx9wmJgNd WA5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517894; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hwwywuV0dZU1czvMnaqVuf21dNJ0Sgzpp/JikcaGwIM=; b=Ur5sZUQa3SSeFvnF84OBELoxeiz8nYNwrRs20/ZDwtkwXX1if4a+smObFX/0GZj+2A o9nMdy+vz50VCMpCOSUCilhYGxbMYztm13egvnQufEiq1bbgzwdq3KWsESBsJ12OCLQg sqlOs4gu4Sg/NsbRAUWk8mvny2K5H//5D8K11Rdt8iUPwiI0sF+WXaPuslQUUE49CUSt /bu4KEQLPLTtd2T8cRRnWMq8u/ZzNKEae2o0zbEABXFY6C2a3f8Phfr3KR+8Ni3YzhOO LYs5oAEccAXk4kwwi4uxRWY9aaFpdPgef3MCI75SWXc5xIahZHakwOu+Z9Ulnwdht6A9 iEvg== X-Gm-Message-State: AO0yUKXBxlWPdOFVR/RFR+ECs1eJiCLZNB6HdjzLoQr72ffbxaD+29Yd ZnfamJdaErFxklMB9TGzLwry2mqiZKCo X-Google-Smtp-Source: AK7set/zGiooCzj2OYBw/Kwkd+hENEaJ42PWysldu6pOmjd3+QpAqaf5IiY56xK1QlQisJb8LjrjQIF7eeVF X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a05:6902:251:b0:9f1:6c48:f95f with SMTP id k17-20020a056902025100b009f16c48f95fmr6264375ybs.5.1678517894743; Fri, 10 Mar 2023 22:58:14 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:41 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-2-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 01/13] perf build: Support python/perf.so testing From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a build target to echo the python/perf.so's name from Makefile.perf. Use it in tests/make so the correct target is built and tested for. Fixes: caec54705adb ("perf build: Fix python/perf.so library's name") Signed-off-by: Ian Rogers --- tools/perf/Makefile.perf | 7 +++++-- tools/perf/tests/make | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index bac9272682b7..2fcee585b225 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -647,13 +647,16 @@ all: shell_compatibility_test $(ALL_PROGRAMS) $(LANG_= BINDINGS) $(OTHER_PROGRAMS) # Create python binding output directory if not already present _dummy :=3D $(shell [ -d '$(OUTPUT)python' ] || mkdir -p '$(OUTPUT)python') =20 -$(OUTPUT)python/perf$(PYTHON_EXTENSION_SUFFIX): $(PYTHON_EXT_SRCS) $(PYTHO= N_EXT_DEPS) $(LIBPERF) +$(OUTPUT)python/perf$(PYTHON_EXTENSION_SUFFIX): $(PYTHON_EXT_SRCS) $(PYTHO= N_EXT_DEPS) $(LIBPERF) $(LIBSUBCMD) $(QUIET_GEN)LDSHARED=3D"$(CC) -pthread -shared" \ CFLAGS=3D'$(CFLAGS)' LDFLAGS=3D'$(LDFLAGS)' \ $(PYTHON_WORD) util/setup.py \ --quiet build_ext; \ cp $(PYTHON_EXTBUILD_LIB)perf*.so $(OUTPUT)python/ =20 +python_perf_target: + @echo "Target is: $(OUTPUT)python/perf$(PYTHON_EXTENSION_SUFFIX)" + please_set_SHELL_PATH_to_a_more_modern_shell: $(Q)$$(:) =20 @@ -1152,7 +1155,7 @@ FORCE: .PHONY: all install clean config-clean strip install-gtk .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_sh= ell .PHONY: .FORCE-PERF-VERSION-FILE TAGS tags cscope FORCE prepare -.PHONY: archheaders +.PHONY: archheaders python_perf_target =20 endif # force_fixdep =20 diff --git a/tools/perf/tests/make b/tools/perf/tests/make index 009d6efb673c..deb37fb982e9 100644 --- a/tools/perf/tests/make +++ b/tools/perf/tests/make @@ -62,10 +62,11 @@ lib =3D lib endif =20 has =3D $(shell which $1 2>/dev/null) +python_perf_so :=3D $(shell $(MAKE) python_perf_target|grep "Target is:"|a= wk '{print $$3}') =20 # standard single make variable specified make_clean_all :=3D clean all -make_python_perf_so :=3D python/perf.so +make_python_perf_so :=3D $(python_perf_so) make_debug :=3D DEBUG=3D1 make_no_libperl :=3D NO_LIBPERL=3D1 make_no_libpython :=3D NO_LIBPYTHON=3D1 @@ -204,7 +205,7 @@ test_make_doc :=3D $(test_ok) test_make_help_O :=3D $(test_ok) test_make_doc_O :=3D $(test_ok) =20 -test_make_python_perf_so :=3D test -f $(PERF_O)/python/perf.so +test_make_python_perf_so :=3D test -f $(PERF_O)/$(python_perf_so) =20 test_make_perf_o :=3D test -f $(PERF_O)/perf.o test_make_util_map_o :=3D test -f $(PERF_O)/util/map.o --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 B67D4C61DA4 for ; Sat, 11 Mar 2023 06:58:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230039AbjCKG6d (ORCPT ); Sat, 11 Mar 2023 01:58:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230022AbjCKG6X (ORCPT ); Sat, 11 Mar 2023 01:58:23 -0500 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 15C9B1CACF for ; Fri, 10 Mar 2023 22:58:21 -0800 (PST) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-536c02ed619so77481407b3.8 for ; Fri, 10 Mar 2023 22:58:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517901; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=RBPfmbzctqVIG9gwCAzW6yooPI1omXt9V9PytRIeuNs=; b=QIy+Zsx8m6qoDCdnldf0taLwai2+eVaQBBo50mkDUf1VKm2OpzfMRAtYZUfFENXA6z thQnedSb9es+j5EYkRMqJ7s9vBI1/ZODxhOEnJ4xp5KtjpkgsVDyDOQq25CjNENVZmNF U3c8y7gBp6qI97MFVXOehWtTzBmuZQCBXSxYoqydOH89iXMaTfJM0iKrdUBDT34L7U4D 7VV2rJYTEwBI6qR1ngadiisg3L/a5CPArbU3eygofpA+uxpus6gLBVVNQPj4E2yPx2k/ lC6FCcLswyZoOqX6gAGX62Tj3YutR7bIv4/aGAB1yC2qAAa8tFqxXbCnBLQSBe04+Foz vT6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517901; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RBPfmbzctqVIG9gwCAzW6yooPI1omXt9V9PytRIeuNs=; b=YTpBRfrPgM0cRmcK0bbaKrBMgefemGAzsLXuOU/vksCIjkaqxO125DUYWjiQzpZ4Cv v83n0J1ZaXcj4v0RpD06x8bvunbSAQ0HFGB1xIn3mBWIyzspxF2Ruchdsst81ohHssM1 d/liz5wfi7aqX2S37ULs0Y4gJeho18iecVxNnhAegaQvQkTZYj+fXKGhYqaHy4mgweUV Cal3eD+IKP2iYLeS6D1gBF2TfV/+LCD/Z7skNUFOT72wERNwcHfMwL6SGOK5I1ykymXu DQ72rVapQc8miZn5D6R9AHrf1A8RT/mo0andXAt+GvHT4JnsidWOKrvMoj11+cV1IICh 9nNA== X-Gm-Message-State: AO0yUKUL4Wr0AsXpQIHixPEboiT/rHV5GKlmYi2z5mQJB/8GtFgZocZX S72wihfFFENjUFp/I76OICC4tjQtCW+V X-Google-Smtp-Source: AK7set8nKWk1NpypLpltvL4S8pwGpmKJvYspdMoxC8WtqcM318/ZIatbP70iCt8VS2bf5Drd8d+q6hUyIxXV X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a0d:ea0c:0:b0:4fd:56f3:fdad with SMTP id t12-20020a0dea0c000000b004fd56f3fdadmr9ywe.57.1678517900896; Fri, 10 Mar 2023 22:58:20 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:42 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-3-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 02/13] perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BPF skeleton support is now key to a number of perf features. Rather than making it so that BPF support must be enabled for the build, make this the default and error if the build lacks a clang and libbpf that are sufficient. To avoid the error and build without BPF skeletons the NO_BPF_SKEL=3D1 flag can be used. Add a build-options flag to 'perf version' to enable detection of the BPF skeleton support and use this in the offcpu shell test. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 19 ++++++++++++------- tools/perf/Makefile.perf | 8 ++++---- tools/perf/builtin-lock.c | 2 +- tools/perf/builtin-record.c | 2 +- tools/perf/builtin-version.c | 1 + tools/perf/tests/shell/record_offcpu.sh | 2 +- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 5f11834f189e..33d62d542fd5 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -415,6 +415,7 @@ ifdef NO_LIBELF NO_LIBUNWIND :=3D 1 NO_LIBDW_DWARF_UNWIND :=3D 1 NO_LIBBPF :=3D 1 + NO_BPF_SKEL :=3D 1 NO_JVMTI :=3D 1 else ifeq ($(feature-libelf), 0) @@ -662,18 +663,22 @@ ifndef NO_LIBBPF msg :=3D $(warning BPF API too old. Please install recent kernel heade= rs. BPF support in 'perf record' is disabled.) NO_LIBBPF :=3D 1 endif +else + NO_BPF_SKEL :=3D 1 endif =20 -ifdef BUILD_BPF_SKEL +ifndef NO_BPF_SKEL $(call feature_check,clang-bpf-co-re) ifeq ($(feature-clang-bpf-co-re), 0) - dummy :=3D $(error Error: clang too old/not installed. Please install = recent clang to build with BUILD_BPF_SKEL) - endif - ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),) - dummy :=3D $(error Error: BPF skeleton support requires libbpf) + dummy :=3D $(error: ERROR: BPF skeletons unsupported. clang too old/no= t installed or build with NO_BPF_SKEL=3D1.) + else + ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),) + dummy :=3D $(error: ERROR: BPF skeletons unsupported. BPF skeleton s= upport requires libbpf or build with NO_BPF_SKEL=3D1.) + else + $(call detected,CONFIG_PERF_BPF_SKEL) + CFLAGS +=3D -DHAVE_BPF_SKEL + endif endif - $(call detected,CONFIG_PERF_BPF_SKEL) - CFLAGS +=3D -DHAVE_BPF_SKEL endif =20 dwarf-post-unwind :=3D 1 diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 2fcee585b225..283ee4f56234 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -126,7 +126,7 @@ include ../scripts/utilities.mak # # Define NO_LIBDEBUGINFOD if you do not want support debuginfod # -# Define BUILD_BPF_SKEL to enable BPF skeletons +# Define NO_BPF_SKEL to disable BPF skeletons # =20 # As per kernel Makefile, avoid funny character set dependencies @@ -1055,7 +1055,7 @@ SKELETONS +=3D $(SKEL_OUT)/kwork_trace.skel.h $(SKEL_TMP_OUT) $(LIBAPI_OUTPUT) $(LIBBPF_OUTPUT) $(LIBPERF_OUTPUT) $(LIBS= UBCMD_OUTPUT) $(LIBSYMBOL_OUTPUT): $(Q)$(MKDIR) -p $@ =20 -ifdef BUILD_BPF_SKEL +ifndef NO_BPF_SKEL BPFTOOL :=3D $(SKEL_TMP_OUT)/bootstrap/bpftool BPF_INCLUDE :=3D -I$(SKEL_TMP_OUT)/.. -I$(LIBBPF_INCLUDE) =20 @@ -1088,11 +1088,11 @@ bpf-skel: $(SKELETONS) =20 .PRECIOUS: $(SKEL_TMP_OUT)/%.bpf.o =20 -else # BUILD_BPF_SKEL +else # NO_BPF_SKEL =20 bpf-skel: =20 -endif # BUILD_BPF_SKEL +endif # NO_BPF_SKEL =20 bpf-skel-clean: $(call QUIET_CLEAN, bpf-skel) $(RM) -r $(SKEL_TMP_OUT) $(SKELETONS) diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index 054997edd98b..240d49a85524 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -2371,7 +2371,7 @@ int cmd_lock(int argc, const char **argv) =20 #ifndef HAVE_BPF_SKEL set_option_nobuild(contention_options, 'b', "use-bpf", - "no BUILD_BPF_SKEL=3D1", false); + "NO_BPF_SKEL=3D1", false); #endif if (argc) { argc =3D parse_options(argc, argv, contention_options, diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 8374117e66f6..495627437f97 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -3971,7 +3971,7 @@ int cmd_record(int argc, const char **argv) =20 #ifndef HAVE_BPF_SKEL # define set_nobuild(s, l, m, c) set_option_nobuild(record_options, s, l, = m, c) - set_nobuild('\0', "off-cpu", "no BUILD_BPF_SKEL=3D1", true); + set_nobuild('\0', "off-cpu", "NO_BPF_SKEL=3D1", true); # undef set_nobuild #endif =20 diff --git a/tools/perf/builtin-version.c b/tools/perf/builtin-version.c index a886929ec6e5..0d9cda238c07 100644 --- a/tools/perf/builtin-version.c +++ b/tools/perf/builtin-version.c @@ -83,6 +83,7 @@ static void library_status(void) STATUS(HAVE_ZSTD_SUPPORT, zstd); STATUS(HAVE_LIBPFM, libpfm4); STATUS(HAVE_LIBTRACEEVENT, libtraceevent); + STATUS(HAVE_BPF_SKEL, BPF skeletons); } =20 int cmd_version(int argc, const char **argv) diff --git a/tools/perf/tests/shell/record_offcpu.sh b/tools/perf/tests/she= ll/record_offcpu.sh index e01973d4e0fb..24f81ff85793 100755 --- a/tools/perf/tests/shell/record_offcpu.sh +++ b/tools/perf/tests/shell/record_offcpu.sh @@ -28,7 +28,7 @@ test_offcpu_priv() { err=3D2 return fi - if perf record --off-cpu -o /dev/null --quiet true 2>&1 | grep BUILD_BPF= _SKEL + if perf version --build-options 2>&1 | grep HAVE_BPF_SKEL | grep -q OFF then echo "off-cpu test [Skipped missing BPF support]" err=3D2 --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 36384C61DA4 for ; Sat, 11 Mar 2023 06:58:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230016AbjCKG6t (ORCPT ); Sat, 11 Mar 2023 01:58:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230018AbjCKG6l (ORCPT ); Sat, 11 Mar 2023 01:58:41 -0500 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 354234E5EB for ; Fri, 10 Mar 2023 22:58:28 -0800 (PST) Received: by mail-yb1-xb49.google.com with SMTP id p79-20020a25d852000000b00b32573a21a3so3094978ybg.18 for ; Fri, 10 Mar 2023 22:58:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517907; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=3NhwBTfmVglAZRqsQmhfe71Rzl22nzSJC9LqarCaKaI=; b=fElNmip0BTpEUcUnQZTbwScWF+byjtbSTr1v+/fNKXShFigaOgNUsPUyepDifsXFRM GjtYEjMaWAmilGB5L+qcsVGjEjSGMd/LeJ4G4PISm/Qcr6mSeFSRGXMwIFTXlqpoDxqx uvOL6laMJmAF+1dp81n9lTMrmeOS29PZsukS94k2PzLInHyjjAn0Ikca29z18M4cqC9P pDbHtcs1qt0NwF2biwm7j/d3u91cLM2DA31ZRrxK9fk59zZkHZNyQju0Itf0+jXrviS2 yX4IFl6BnsYqfYyCOaJ7WasvY5zSSdx4oLpfJ3YYqOWxo4POEGnix1tjSlJfAFmpqAK2 kvWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517907; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3NhwBTfmVglAZRqsQmhfe71Rzl22nzSJC9LqarCaKaI=; b=wdEKy2Hhz9iJ8vVnQSmLUFGPH79kCkgQIoBe6gqxCd752gFZlpNVRRwlYRtuyN1I0f nOfd+fyPT8nGSu5mqHoql2IoZOgUhWCaNemArm+xb+DBLNVLsvsEjmwIQJI/alPI/9/n KDrFb4dPfNBI62OqEQOr3Z1shjnnWRRXmEC6XfkS9QbZWu6wLO0h0iLkVIF/48sZ7CJQ o0jUEZLi/QYm5zqDwpHrL/i0xUlq/zTqgVHBghjq9YPGMm4cjm6+THRtuy0UVlhU0m3L HjnUMpUZEtSe/VSN26amrcfT0dYmruIm19tZW2iB2GOIDZH3QRCit/IeC2WFfWbyc47a OHxA== X-Gm-Message-State: AO0yUKV8xDQCg76Lgbul5VvNuniK7/ii9yOrzuZ1HDqhzfXZ62kaHPR+ 4aoyj3dtKSlzIcTCDkJbz0Gpi2wG9y/S X-Google-Smtp-Source: AK7set/X4UK55tnSLb9uuZbddCfKNh6XVFOEDglMCEuZ2GT7wllVSHfNLypT6L+5C1w62Dki84zNDe5aQALx X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:ac1a:0:b0:533:cf4e:9a80 with SMTP id k26-20020a81ac1a000000b00533cf4e9a80mr17706404ywh.6.1678517907341; Fri, 10 Mar 2023 22:58:27 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:43 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-4-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 03/13] perf build: Remove unused HAVE_GLIBC_SUPPORT From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" HAVE_GLIBC_SUPPORT is only used in `perf version --build-options` but doesn't control any behavior. Remove from the build to simplify it. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 4 ---- tools/perf/builtin-version.c | 1 - 2 files changed, 5 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 33d62d542fd5..a68a3e9b47ae 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -476,10 +476,6 @@ else endif # libelf support endif # NO_LIBELF =20 -ifeq ($(feature-glibc), 1) - CFLAGS +=3D -DHAVE_GLIBC_SUPPORT -endif - ifeq ($(feature-libaio), 1) ifndef NO_AIO CFLAGS +=3D -DHAVE_AIO_SUPPORT diff --git a/tools/perf/builtin-version.c b/tools/perf/builtin-version.c index 0d9cda238c07..c5d03a11e565 100644 --- a/tools/perf/builtin-version.c +++ b/tools/perf/builtin-version.c @@ -59,7 +59,6 @@ static void library_status(void) { STATUS(HAVE_DWARF_SUPPORT, dwarf); STATUS(HAVE_DWARF_GETLOCATIONS_SUPPORT, dwarf_getlocations); - STATUS(HAVE_GLIBC_SUPPORT, glibc); #ifndef HAVE_SYSCALL_TABLE_SUPPORT STATUS(HAVE_LIBAUDIT_SUPPORT, libaudit); #endif --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 88136C678D5 for ; Sat, 11 Mar 2023 06:59:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229437AbjCKG7D (ORCPT ); Sat, 11 Mar 2023 01:59:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230089AbjCKG6s (ORCPT ); Sat, 11 Mar 2023 01:58:48 -0500 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 96D5D73383 for ; Fri, 10 Mar 2023 22:58:35 -0800 (PST) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-541665e581cso11469667b3.14 for ; Fri, 10 Mar 2023 22:58:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517914; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=PA482r9MJe7vZyw+QOZf0rTvnugvk46HQTM8cqZhnKs=; b=tldDHr30uJ+HiUcXonL+iNvGzmn8jN/lqDwYD7A6znThCex6+p0hhXyH2E22r7ju24 AKhEubUuV2ehF+HSJjPO2WNGupZA5GO3JpYAXJpNraNPd7wa27oEdnCM+YdBFgcv5DKJ AsIoeg13+loP7lUeb/pjdh0s/uGID0gWNy3wlLtGsAkG6jn5JPbZ92vQKHkCzzWl/2Za 3MiqRrVtE4tceeZZ4X9S4TCY0MIHrZZCPHVUrf6aejhC2/SbfwSHLPygjhbnhP0J4LCi EKXq9nuSRtoMohBRC90vWQ8ldGj5RPu0mlDlZyx4M/gBKozzjbEps+beBWrfCdTGndQV SKNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517914; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PA482r9MJe7vZyw+QOZf0rTvnugvk46HQTM8cqZhnKs=; b=1wSWUOsSLeMN25qu8Oe/NOnOQUdgOE50EaVkiFwbNZ2eO29N6r/AtX6GippRJH3d8c c2ONU27xdrJWq29jpuhaYD0UC293iShLW7zbtCOjfL9mxao7gsk4HGmw+WzswWEuyVYe qhurn9qvKM9mTX+FZXEbpmWbEcwWb2Qf4FLhFMufIGulWdT4OD3jNeRRX7WLEoap15dI TQ0b2WNB+F4NoCXRd5v3XzbWmuXxtGtBUKTSkJgQEDgmCLqoUR8cW+EmudrZlj/PsPId 6iCKE+9VH+IZtq+NcMZRRh5GkaWedQbYkYQAy3hwAzA4cytOmWoGzWMKHi1UnsKE3/BD SC2Q== X-Gm-Message-State: AO0yUKXJaWr1MqcHYYw648BgYn6VVUnXh6YcpGMNPOwi60pBcvsSodxF Qx2TxfgzVXdLmsQ+yaUC3PgyykrfJZif X-Google-Smtp-Source: AK7set9RA8SRXgCLcrsgukIbaEmnGpzcWQbxU3olQ8XTZGn0+orP5MYTuo3BIQ/YJ5keXXYT5pRAQOa65JN9 X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a5b:ccf:0:b0:a6f:9156:5579 with SMTP id e15-20020a5b0ccf000000b00a6f91565579mr14131802ybr.12.1678517914694; Fri, 10 Mar 2023 22:58:34 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:44 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-5-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 04/13] perf build: Error if no libelf and NO_LIBELF isn't set From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Building without libelf support is going disable a lot of functionality. Require that the NO_LIBELF=3D1 build option is passed if this is intentional. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index a68a3e9b47ae..5691e2ffb1b9 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -426,15 +426,7 @@ else LIBC_SUPPORT :=3D 1 endif ifeq ($(LIBC_SUPPORT),1) - msg :=3D $(warning No libelf found. Disables 'probe' tool, jvmti and= BPF support in 'perf record'. Please install libelf-dev, libelf-devel or e= lfutils-libelf-devel); - - NO_LIBELF :=3D 1 - NO_DWARF :=3D 1 - NO_DEMANGLE :=3D 1 - NO_LIBUNWIND :=3D 1 - NO_LIBDW_DWARF_UNWIND :=3D 1 - NO_LIBBPF :=3D 1 - NO_JVMTI :=3D 1 + msg :=3D $(error ERROR: No libelf found. Disables 'probe' tool, jvmt= i and BPF support. Please install libelf-dev, libelf-devel, elfutils-libelf= -devel or build with NO_LIBELF=3D1.) else ifneq ($(filter s% -fsanitize=3Daddress%,$(EXTRA_CFLAGS),),) ifneq ($(shell ldconfig -p | grep libasan >/dev/null 2>&1; echo $$= ?), 0) --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 480FFC61DA4 for ; Sat, 11 Mar 2023 06:59:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229722AbjCKG7P (ORCPT ); Sat, 11 Mar 2023 01:59:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230052AbjCKG7D (ORCPT ); Sat, 11 Mar 2023 01:59:03 -0500 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD827733B3 for ; Fri, 10 Mar 2023 22:58:42 -0800 (PST) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-538116920c3so76941997b3.15 for ; Fri, 10 Mar 2023 22:58:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517922; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=P5GcUUcZRN+AEu9vpTIS9W0tRqRRERda5Pu2Ht/K9Pk=; b=pR13zWUd1h9CUw/T2GV0Cj+B8jhP5cn1b0sfJynxS58CMKOE3JqEuutXfxMi4Wioti EFbn2mdwNoHJ/wARCIZO56BUhwpqgFZ4Bn5sPoYHugdpGrzTJmayahuR+TNP5iqQgy/x CqWQeouCG3GnHU6qgt4kdZpK5XM+ljNUv0Jsdzr7g/tl9L65XCuwCndRocKy+po/BQzU ruGs389OD5dZUXcUWJjPGX566lwUNDY7Xc+oEkZSRYH+PVXpT8RFXWNcEPR71t4g47Sx sLTI3WeR7S1OZCkHPeDiOq26WyWmPGQPgAJqIzyXSYb0CMy3RBdWVwkUSQGv+qwnbW9q VBeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517922; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P5GcUUcZRN+AEu9vpTIS9W0tRqRRERda5Pu2Ht/K9Pk=; b=AwzDj/HiQOaINi4xQz9Yk8ZjQa6rkFIvIRpPFHTJCmYKBDaRDEoLC0t0iLuQ8CgOF1 d8IfJA0zLCQjP7cpkhMbbUvLXEzCmU0pNFWIWlzSyxRum/4uVuZCf8w1IQRyc6GHZa03 +wWlaYd2KdMw2hiYLT1CjWXux1YE9qCn8XbrgjeWWyfHQt7s0EMQpHm5+GNjQz008JDq UvVZ1MDmcUswEsCkb1HJ+wcmfXLatY1N/ftHsvGUFlp72mYG0DIqluXfZZ7ihPzqrPB+ 1Wm6yLz9rxJ2F3izs/hVO3Ttxo7R1Ln8ySNftDdpqfJBX+syCGUl4lq7UaY8iMYegOIe WKJA== X-Gm-Message-State: AO0yUKV/s5QjOcv8z8MVlfwvWjm5pmgSv4PM64j/omESd2A0GuT3ROHq 5j75e6IbsAnFLRoUNr6zJCxQzQPeYzmt X-Google-Smtp-Source: AK7set+6srXuJ0wtMRw7PpcSCeXW+oUgIuzrriuNVGeyYG1RPaHgSLMosGnTbUK0w+ieDCHiEIQd12hje2ew X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a05:6902:208:b0:ace:1ae4:9dd2 with SMTP id j8-20020a056902020800b00ace1ae49dd2mr17170987ybs.8.1678517921899; Fri, 10 Mar 2023 22:58:41 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:45 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-6-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 05/13] perf util: Remove weak sched_getcpu From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" sched_getcpu may not be present and so a feature test and definition exist to workaround this in the build. The feature test is used to define HAVE_SCHED_GETCPU_SUPPORT and so this is sufficient to know whether the local sched_getcpu is needed and a weak symbol can be avoided. Signed-off-by: Ian Rogers --- tools/perf/util/cloexec.c | 13 ------------- tools/perf/util/util.c | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/tools/perf/util/cloexec.c b/tools/perf/util/cloexec.c index fa8248aadb59..8830604c3a8d 100644 --- a/tools/perf/util/cloexec.c +++ b/tools/perf/util/cloexec.c @@ -13,19 +13,6 @@ =20 static unsigned long flag =3D PERF_FLAG_FD_CLOEXEC; =20 -int __weak sched_getcpu(void) -{ -#ifdef __NR_getcpu - unsigned cpu; - int err =3D syscall(__NR_getcpu, &cpu, NULL, NULL); - if (!err) - return cpu; -#else - errno =3D ENOSYS; -#endif - return -1; -} - static int perf_flag_probe(void) { /* use 'safest' configuration as used in evsel__fallback() */ diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 391c1e928bd7..b356c9f7f0c3 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c @@ -533,3 +533,19 @@ int do_realloc_array_as_needed(void **arr, size_t *arr= _sz, size_t x, size_t msz, *arr_sz =3D new_sz; return 0; } + +#ifndef HAVE_SCHED_GETCPU_SUPPORT +int sched_getcpu(void) +{ +#ifdef __NR_getcpu + unsigned int cpu; + int err =3D syscall(__NR_getcpu, &cpu, NULL, NULL); + + if (!err) + return cpu; +#else + errno =3D ENOSYS; +#endif + return -1; +} +#endif --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 EC0ACC61DA4 for ; Sat, 11 Mar 2023 06:59:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230093AbjCKG73 (ORCPT ); Sat, 11 Mar 2023 01:59:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230041AbjCKG7T (ORCPT ); Sat, 11 Mar 2023 01:59:19 -0500 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 68BEF733BF for ; Fri, 10 Mar 2023 22:58:50 -0800 (PST) Received: by mail-yb1-xb4a.google.com with SMTP id p79-20020a25d852000000b00b32573a21a3so3095524ybg.18 for ; Fri, 10 Mar 2023 22:58:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517929; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=F+R3xPbwPywZgeJnsjmP8WPRT4KEekM8oOe2/6TEvNc=; b=GbtM2Vfzd2uFvQ6E35ynK8F12Mz9p4h3fX4fxIWbDeMGmaSb8govTXiIR7bx13KqIZ t0bsGbbpwQjP8kz815Hlg7oCFGUF8NTM+Nb1AJ8tMOyo/KVrOmJVHJnHFU3qWelr3BPi D6Nbhdqr5/xBXvBJ0IcI3dD64GMuAz4RS0EnursVquuv9NOMpAOw1fpcijqesKM0rZd9 2HRm6ltAulua1/24fpO526B5Lw2TgG02TTd9WVKnwanBl9Pc0XDL1HXOMukDmzNXP9DQ shVkfNRnPhhdrmaGUuHNwUTpZSYdMRGDGH0/qLU7MeJ6vxdOmLVCC8jyclr4MHbtoEHs qaeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517929; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=F+R3xPbwPywZgeJnsjmP8WPRT4KEekM8oOe2/6TEvNc=; b=sZOk4FJ0lrdnIoD6j0iZ/7P/k+F4aooTOSRJi2B1tGpGFolb5s9fmnR1/QXk/sSGWu k7a/osT4YOXEDn7mcFiwPHJY7fK5UpNejEDd6FXNO6qpMmAQ7WzNWpKLi8QGtH5T4Tsm C0anYCTpRUYM9pWXf6b4CuiulRpZhhC6VRpVK+j7hYSVVTgoV6hRpxln0cXTeOQak4mD PJOB/AfZ2+qtptBdqZFP8by67id+M427WsTkbimqCfgXWl/Vw7c+fSN66Oac+cwVep8X LMw1hzU5odOAX0HdOD2/GcYM9iyLOu8YNVXgsOi0E47841JslrRPFOR1lHsJwx0K2A9C t5Pg== X-Gm-Message-State: AO0yUKWgJ3feAkxAsFXUWcsU5uk+30l7cu/fQwtz7sLQr4PlbH8DEPRW alGO77HrGN+LOgB9E95RXdW28ALglWD8 X-Google-Smtp-Source: AK7set+YGmGHUS1yB1fxA8fPS4XfwBlDXecnkj+KmRN23aQEoGof3q6DV9UBVKyc6t+I+wVdms/fMYZMYvOW X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:ac4d:0:b0:541:6961:8457 with SMTP id z13-20020a81ac4d000000b0054169618457mr685807ywj.2.1678517929704; Fri, 10 Mar 2023 22:58:49 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:46 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-7-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 06/13] perf build: Error if jevents won't work and NO_JEVENTS=1 isn't set From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rather than disabling jevents if a sufficient python isn't present error in the build. This avoids the build progressing but the binary being degraded. The build can still succeed by specifying NO_JEVENTS=3D1 to the build and this is conveyed in the error message. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 5691e2ffb1b9..2557654d8e29 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -872,14 +872,12 @@ endif ifneq ($(NO_JEVENTS),1) NO_JEVENTS :=3D 0 ifndef PYTHON - $(warning No python interpreter disabling jevent generation) - NO_JEVENTS :=3D 1 + $(error ERROR: No python interpreter needed for jevents generation. In= stall python or build with NO_JEVENTS=3D1.) else # jevents.py uses f-strings present in Python 3.6 released in Dec. 201= 6. JEVENTS_PYTHON_GOOD :=3D $(shell $(PYTHON) -c 'import sys;print("1" if= (sys.version_info.major >=3D 3 and sys.version_info.minor >=3D 6) else "0")= ' 2> /dev/null) ifneq ($(JEVENTS_PYTHON_GOOD), 1) - $(warning Python interpreter too old (older than 3.6) disabling jeve= nt generation) - NO_JEVENTS :=3D 1 + $(error ERROR: Python interpreter needed for jevents generation too = old (older than 3.6). Install a newer python or build with NO_JEVENTS=3D1.) endif endif endif --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 95D15C678D5 for ; Sat, 11 Mar 2023 06:59:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230032AbjCKG7j (ORCPT ); Sat, 11 Mar 2023 01:59:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230098AbjCKG73 (ORCPT ); Sat, 11 Mar 2023 01:59:29 -0500 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 82ED111D0A6 for ; Fri, 10 Mar 2023 22:58:57 -0800 (PST) Received: by mail-yb1-xb49.google.com with SMTP id 204-20020a2514d5000000b00a3637aea9e1so8185121ybu.17 for ; Fri, 10 Mar 2023 22:58:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517937; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=1pq+mKZowelrihgZxRhsuEZHUM4AjdLByKfzOTWop3w=; b=WCpB1voDzndaohurNNZYQGv0vrqsEJxdv42rkVIZwjJfH7whmhOKEBaX1/oAFnc74Z zcO5YSNux0MCfvJfD8ZHjPWUeYjHzNGqUczp4XQaT16TZ+PIRtBs6x7K4zv7OVhY0xSk 5gH5mQiBKsjvMd82GAPqiULNfojeP7aVd6i/lK1KQSJERsjQe78tBuapzfeUT6vp+gNH LfBvxdKgQwhCP8xtS2L9sxnh0OvBnSTj9RYS2SQFuWrl7V10lsdoizZdl4+nilttIthq rq+yeLwFjlivAk+KJslhScF8GXvNDH+922JgCOkqH9J0oxNVqjZWOWe61IwvvU7dd6gJ lXkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517937; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1pq+mKZowelrihgZxRhsuEZHUM4AjdLByKfzOTWop3w=; b=umXD6DCKdqav0acLpiXwZPcm8Qf7ddsnEn4F6AsgS1zIp+2uZDckNgfNqi4/XJPSlp ihSY5vSzPyriJxIHKQrbaqucG5kJABmPitalZcBtfnqY+5ssf2+Ml2sYdK+jyp9Zq6EZ no2+SPAUL75LarycbobZSF77wkpEQ/eNd0lazHlbyYbxwwjYVluYF1jlPpZjzWUX766G JLpXCRz35+h9QOZS4l8JYzRKAto4k4lVDgahy3WQO/2Iuk6F69pp427g9IWkoiaMEmNW DK4sU0dqPL9Oc6OMAuHPQjFvcOf5PuKpeShbt1L4rdJsKuyTKoX0Dq6Sbf9lPHTu8Q0Y pQaw== X-Gm-Message-State: AO0yUKWYsR2V8dDi9hwASq5tNB+jnvNk8fuSU8WUCQiIpgwk911ZvlKg /RqhR7gZU/v16Mb/AJ74nFPzZ8pVnpJm X-Google-Smtp-Source: AK7set8aUqc8K5cZUVUsFpXNndv1liCiw25sradrgvIfHuLhCd2KbosYVbgxeqUpBlh9ZgLyL4l4p2TpvgWe X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a05:6902:185:b0:acd:7374:f15b with SMTP id t5-20020a056902018500b00acd7374f15bmr17294166ybh.13.1678517937040; Fri, 10 Mar 2023 22:58:57 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:47 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-8-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 07/13] perf build: Make binutil libraries opt in From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" binutils is GPLv3 so distributions cannot ship perf linked against libbfd and libiberty as the licenses are incompatible. Rather than defaulting the build to opting in to libbfd and libiberty support and opting out via NO_LIBBFD=3D1 and NO_DEMANGLE=3D1, make building against the libraries optional and enabled with BUILD_NONDISTRO=3D1. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 25 ++++++++++--------------- tools/perf/Makefile.perf | 2 ++ tools/perf/tests/make | 2 ++ 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 2557654d8e29..5756498248e0 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -882,7 +882,7 @@ ifneq ($(NO_JEVENTS),1) endif endif =20 -ifndef NO_LIBBFD +ifdef BUILD_NONDISTRO ifeq ($(feature-libbfd), 1) EXTLIBS +=3D -lbfd -lopcodes else @@ -905,6 +905,7 @@ ifndef NO_LIBBFD $(call feature_check,disassembler-init-styled) endif =20 + CFLAGS +=3D -DHAVE_LIBBFD_SUPPORT ifeq ($(feature-libbfd-buildid), 1) CFLAGS +=3D -DHAVE_LIBBFD_BUILDID_SUPPORT else @@ -915,32 +916,26 @@ endif ifdef NO_DEMANGLE CFLAGS +=3D -DNO_DEMANGLE else - ifdef HAVE_CPLUS_DEMANGLE_SUPPORT - EXTLIBS +=3D -liberty - else + ifdef BUILD_NONDISTRO ifeq ($(filter -liberty,$(EXTLIBS)),) - $(call feature_check,cplus-demangle) - - # we dont have neither HAVE_CPLUS_DEMANGLE_SUPPORT - # or any of 'bfd iberty z' trinity - ifeq ($(feature-cplus-demangle), 1) + ifdef HAVE_CPLUS_DEMANGLE_SUPPORT EXTLIBS +=3D -liberty else - msg :=3D $(warning No bfd.h/libbfd found, please install binutils-= dev[el]/zlib-static/libiberty-dev to gain symbol demangling) - CFLAGS +=3D -DNO_DEMANGLE + $(call feature_check,cplus-demangle) + ifeq ($(feature-cplus-demangle), 1) + EXTLIBS +=3D -liberty + endif endif endif endif =20 ifneq ($(filter -liberty,$(EXTLIBS)),) CFLAGS +=3D -DHAVE_CPLUS_DEMANGLE_SUPPORT + else + CFLAGS +=3D -DNO_DEMANGLE endif endif =20 -ifneq ($(filter -lbfd,$(EXTLIBS)),) - CFLAGS +=3D -DHAVE_LIBBFD_SUPPORT -endif - ifndef NO_ZLIB ifeq ($(feature-zlib), 1) CFLAGS +=3D -DHAVE_ZLIB_SUPPORT diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 283ee4f56234..a35bc995d5d8 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -128,6 +128,8 @@ include ../scripts/utilities.mak # # Define NO_BPF_SKEL to disable BPF skeletons # +# Define BUILD_NONDISTRO to enable building an linking against libbfd and +# libiberty distribution license incompatible libraries. =20 # As per kernel Makefile, avoid funny character set dependencies unexport LC_ALL diff --git a/tools/perf/tests/make b/tools/perf/tests/make index deb37fb982e9..c2f74ed43418 100644 --- a/tools/perf/tests/make +++ b/tools/perf/tests/make @@ -68,6 +68,7 @@ python_perf_so :=3D $(shell $(MAKE) python_perf_target|gr= ep "Target is:"|awk '{pri make_clean_all :=3D clean all make_python_perf_so :=3D $(python_perf_so) make_debug :=3D DEBUG=3D1 +make_nondistro :=3D BUILD_NONDISTRO=3D1 make_no_libperl :=3D NO_LIBPERL=3D1 make_no_libpython :=3D NO_LIBPYTHON=3D1 make_no_scripts :=3D NO_LIBPYTHON=3D1 NO_LIBPERL=3D1 @@ -134,6 +135,7 @@ MAKE_F :=3D $(MAKE) -f $(MK) endif run +=3D make_python_perf_so run +=3D make_debug +run +=3D make_nondistro run +=3D make_no_libperl run +=3D make_no_libpython run +=3D make_no_scripts --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 72682C6FD1E for ; Sat, 11 Mar 2023 06:59:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230041AbjCKG7x (ORCPT ); Sat, 11 Mar 2023 01:59:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230095AbjCKG7m (ORCPT ); Sat, 11 Mar 2023 01:59:42 -0500 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0AE8F11F2ED for ; Fri, 10 Mar 2023 22:59:06 -0800 (PST) Received: by mail-yb1-xb49.google.com with SMTP id j125-20020a25d283000000b008f257b16d71so8095164ybg.15 for ; Fri, 10 Mar 2023 22:59:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517945; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=TeLjpZEBElZPq770pHQ3cqTtDu48PrMd6iajkLxZXoU=; b=Ua++G/pPd+SVDJwvl19ZJsDG1Or/TZ/BFSKNdrAmYWdlWCZ/iFomFaBUwI0T5lTgOm xWfKU5/Bwli59xtjTjo+LvLnIbOmWR8cgnp7hb1NjIlSzo+khMAZRqdJ7g6wNgAZ//6K oZdtIP7+Kdy3nvqTB6B04pijjfOeie0Hf1QccsJhVwceP78G/J1wbT+FQNpjgHIfl+OH FWBtsQo9zfspq9m+CreQOdsqyBGbr0Q2nNsJRtvkSqrHutbXWoGADqwcJbESnMQDEnv1 oiiRTPBevzcT/2RXis5IoSDZyeRElEE8Uf3/yhtx94aYTkUDApVo7blkQ5nkkY/NTzAm cpBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517945; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TeLjpZEBElZPq770pHQ3cqTtDu48PrMd6iajkLxZXoU=; b=F32wmOb3zXyFXhxLYhWh8BlBjLEp6X0i8UZXSI/ZMU6XFuwMZ1lh/oPHTWpzjRlLHL 46l17gYoI2piECEw1kvdMeQEI+KybATjVvlKLHBURZNG3TGQVV4a9lWsi+nSUKwECGfk ALKYi71OfhvYPzx294V2/RjoytoWrNxXL5sRAXNg8Wgz/2VYCD2A6cNwYXFWhYp02nNr cmEF/CTpwoKuZgpUJ++OzOnZB2hXzSzed8kUay+fvhGyRGUKBGcpJqesoypOO/g9IQ2n CF1sqCqSsnDC1dBBfsgTy+k/e6r/iqpzIGfTAgPNiob1Ve5n7uPtbYe1yYwNLh+1GA7j j2ww== X-Gm-Message-State: AO0yUKWZm5WXCsvADsZAn+YW9e81KVagJgk8wvgkxFD7Sm+AhQFaU7uf Z/1oPxqX8Ubv6p9x0RMEOAJXcnueHyE0 X-Google-Smtp-Source: AK7set/6+p+yFgDiDQyRYorbvgodf9XCwu4OA2mDN8JFQ4h3Y3vVuSxNelxVt3B5EzESzr56CUvMk0R6m5mw X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:4328:0:b0:541:642f:709c with SMTP id q40-20020a814328000000b00541642f709cmr2ywa.388.1678517944974; Fri, 10 Mar 2023 22:59:04 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:48 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-9-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 08/13] tools build: Add feature test for abi::__cxa_demangle From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" cxxabi.h is part of libsdtc++ and LLVM's libcxx, providing abi::__cxa_demangle a portable C++ demangler. Add a feature test to detect that the function is available. Signed-off-by: Ian Rogers --- tools/build/Makefile.feature | 1 + tools/build/feature/Makefile | 4 ++++ tools/build/feature/test-cxa-demangle.cpp | 17 +++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 tools/build/feature/test-cxa-demangle.cpp diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature index 38f8851bd7cb..214622d7537c 100644 --- a/tools/build/Makefile.feature +++ b/tools/build/Makefile.feature @@ -80,6 +80,7 @@ FEATURE_TESTS_EXTRA :=3D \ compile-32 \ compile-x32 \ cplus-demangle \ + cxa-demangle \ gtk2 \ gtk2-infobar \ hello \ diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index dc9323e01e42..0a3b9281f8b0 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -23,6 +23,7 @@ FILES=3D \ test-libbfd-liberty.bin \ test-libbfd-liberty-z.bin \ test-cplus-demangle.bin \ + test-cxa-demangle.bin \ test-libcap.bin \ test-libelf.bin \ test-libelf-getphdrnum.bin \ @@ -262,6 +263,9 @@ $(OUTPUT)test-libbfd-liberty-z.bin: $(OUTPUT)test-cplus-demangle.bin: $(BUILD) -liberty =20 +$(OUTPUT)test-cxa-demangle.bin: + $(BUILDXX) + $(OUTPUT)test-backtrace.bin: $(BUILD) =20 diff --git a/tools/build/feature/test-cxa-demangle.cpp b/tools/build/featur= e/test-cxa-demangle.cpp new file mode 100644 index 000000000000..a3e712f65c37 --- /dev/null +++ b/tools/build/feature/test-cxa-demangle.cpp @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: GPL-2.0 +#include +#include +#include + +int main(void) +{ + size_t len =3D 256; + char *output =3D (char*)malloc(len); + int status; + + output =3D abi::__cxa_demangle("FieldName__9ClassNameFd", output, = &len, &status); + + printf("demangled symbol: {%s}\n", output); + + return 0; +} --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 EBCFCC61DA4 for ; Sat, 11 Mar 2023 06:59:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230129AbjCKG74 (ORCPT ); Sat, 11 Mar 2023 01:59:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230063AbjCKG7q (ORCPT ); Sat, 11 Mar 2023 01:59:46 -0500 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBBB5144845 for ; Fri, 10 Mar 2023 22:59:14 -0800 (PST) Received: by mail-yb1-xb4a.google.com with SMTP id h3-20020a25d003000000b00a1a201a745aso8194141ybg.22 for ; Fri, 10 Mar 2023 22:59:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517952; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=TM6MVHcCvuJekzTOoSVMhLDs6+EBUa5GfqRq4fZc+Ec=; b=HdhM8KBj3naBHJmHM7igItQ5pBTYYwK7qACdj0h9KiPaEWKZLsUQBg7f1POy+kvwR0 XAIB8LuFlxWvu5TJMnOKluFvecDnp4+Xw8uQugf394yiK26eDGIZZqr7zTQUjPBdFLul 1ff2oQ0gCAQDA25UdC3vYZNsEI3KK1fWX0PwAZRays8oDpkiKTfFz5wYtByAr9wryMG4 a9W8QMUejxImdACl7uh8gRxo2ihfKbxsJysnghExmev5iG4I7yWGlAqOThA+lLRGYcvb tceKy1NLHq1aJo1vvHH9YBqDy9NL/LVKMRu4baJXtD8QlnkxKOs5DQDOn5p5mPfW2kc4 wNvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517952; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TM6MVHcCvuJekzTOoSVMhLDs6+EBUa5GfqRq4fZc+Ec=; b=7FcWiXggURg0v1ygcdzfak3alPxZv45+YxxByfKzabQSzpUhsAJ6qv368NDrLDf3P0 pp9bt9YWP8AkXcdGY670VYekVW3GnKKvWNOw3EuujBZAZ8iPbXMhwnKFy1vfFObuzbR3 GRl/2qcfLt9DXKQwpNRW74pSMzE7Rf9dvzpEwi5emHDIdnfr27zljOdvT2xgvLNSbjZd hamfU6V1ZG1EOSWYQOW4SltZyDjKUKjO9vjdjl75MRRXIE8zbIIY74oeBkLBV4yKg9V2 dXTJJnlOtP4JAJYQ23AxaDpeAbAm+/ZIyBtlg8svoKc58dCyk+HLKcBq8sYzvWIfUIdd MWtQ== X-Gm-Message-State: AO0yUKUF8TxexQMzaqd7jMQpR1YmxRQ+IeN5eDafWf2pSueK3wt2Q7YZ ZvVP9cPGOfglab8IsUTNqoipS2RVPQBJ X-Google-Smtp-Source: AK7set+xqAyh5y8tXjMnLJd5UbnjPtT6qg4NLqQvGdWP2Kx9rtxLaD23Nwdq9QQHOj7sVLVD/G9RUtoTx0mU X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a5b:83:0:b0:a17:c04e:bf7c with SMTP id b3-20020a5b0083000000b00a17c04ebf7cmr17133991ybp.11.1678517952523; Fri, 10 Mar 2023 22:59:12 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:49 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-10-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 09/13] perf symbol: Add abi::__cxa_demangle C++ demangling support From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Refactor C++ demangling out of symbol-elf into its own files similar to other languages. Add abi::__cxa_demangle support. As the other demanglers are not shippable with distributions, this brings back C++ demangling in a common case. It isn't perfect as the support for optionally demangling arguments and modifiers isn't present. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 29 +++++++++--------- tools/perf/util/Build | 1 + tools/perf/util/demangle-cxx.cpp | 50 ++++++++++++++++++++++++++++++++ tools/perf/util/demangle-cxx.h | 16 ++++++++++ tools/perf/util/symbol-elf.c | 37 +++++------------------ 5 files changed, 88 insertions(+), 45 deletions(-) create mode 100644 tools/perf/util/demangle-cxx.cpp create mode 100644 tools/perf/util/demangle-cxx.h diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 5756498248e0..fdeca45cf15f 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -906,6 +906,7 @@ ifdef BUILD_NONDISTRO endif =20 CFLAGS +=3D -DHAVE_LIBBFD_SUPPORT + CXXFLAGS +=3D -DHAVE_LIBBFD_SUPPORT ifeq ($(feature-libbfd-buildid), 1) CFLAGS +=3D -DHAVE_LIBBFD_BUILDID_SUPPORT else @@ -913,26 +914,24 @@ ifdef BUILD_NONDISTRO endif endif =20 -ifdef NO_DEMANGLE - CFLAGS +=3D -DNO_DEMANGLE -else +ifndef NO_DEMANGLE + $(call feature_check,cxa-demangle) + ifeq ($(feature-cxa-demangle), 1) + EXTLIBS +=3D -lstdc++ + CFLAGS +=3D -DHAVE_CXA_DEMANGLE_SUPPORT + CXXFLAGS +=3D -DHAVE_CXA_DEMANGLE_SUPPORT + endif ifdef BUILD_NONDISTRO ifeq ($(filter -liberty,$(EXTLIBS)),) - ifdef HAVE_CPLUS_DEMANGLE_SUPPORT + $(call feature_check,cplus-demangle) + ifeq ($(feature-cplus-demangle), 1) EXTLIBS +=3D -liberty - else - $(call feature_check,cplus-demangle) - ifeq ($(feature-cplus-demangle), 1) - EXTLIBS +=3D -liberty - endif endif endif - endif - - ifneq ($(filter -liberty,$(EXTLIBS)),) - CFLAGS +=3D -DHAVE_CPLUS_DEMANGLE_SUPPORT - else - CFLAGS +=3D -DNO_DEMANGLE + ifneq ($(filter -liberty,$(EXTLIBS)),) + CFLAGS +=3D -DHAVE_CPLUS_DEMANGLE_SUPPORT + CXXFLAGS +=3D -DHAVE_CPLUS_DEMANGLE_SUPPORT + endif endif endif =20 diff --git a/tools/perf/util/Build b/tools/perf/util/Build index 918b501f9bd8..8607575183a9 100644 --- a/tools/perf/util/Build +++ b/tools/perf/util/Build @@ -211,6 +211,7 @@ perf-$(CONFIG_ZSTD) +=3D zstd.o =20 perf-$(CONFIG_LIBCAP) +=3D cap.o =20 +perf-y +=3D demangle-cxx.o perf-y +=3D demangle-ocaml.o perf-y +=3D demangle-java.o perf-y +=3D demangle-rust.o diff --git a/tools/perf/util/demangle-cxx.cpp b/tools/perf/util/demangle-cx= x.cpp new file mode 100644 index 000000000000..8708bcafd370 --- /dev/null +++ b/tools/perf/util/demangle-cxx.cpp @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "demangle-cxx.h" +#include +#include +#include + +#ifdef HAVE_LIBBFD_SUPPORT +#define PACKAGE 'perf' +#include +#endif + +#ifdef HAVE_CXA_DEMANGLE_SUPPORT +#include +#endif + +#if defined(HAVE_LIBBFD_SUPPORT) || defined(HAVE_CPLUS_DEMANGLE_SUPPORT) +#ifndef DMGL_PARAMS +#define DMGL_PARAMS (1 << 0) /* Include function args */ +#define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */ +#endif +#endif + +/* + * Demangle C++ function signature + * + * Note: caller is responsible for freeing demangled string + */ +extern "C" +char *cxx_demangle_sym(const char *str, bool params __maybe_unused, + bool modifiers __maybe_unused) +{ +#ifdef HAVE_LIBBFD_SUPPORT + int flags =3D (params ? DMGL_PARAMS : 0) | (modifiers ? DMGL_ANSI = : 0); + + return bfd_demangle(NULL, str, flags); +#elif defined(HAVE_CPLUS_DEMANGLE_SUPPORT) + int flags =3D (params ? DMGL_PARAMS : 0) | (modifiers ? DMGL_ANSI = : 0); + + return cplus_demangle(str, flags); +#elif defined(HAVE_CXA_DEMANGLE_SUPPORT) + size_t len =3D strlen(str); + char *output =3D (char*)malloc(len); + int status; + + output =3D abi::__cxa_demangle(str, output, &len, &status); + return output; +#else + return NULL; +#endif +} diff --git a/tools/perf/util/demangle-cxx.h b/tools/perf/util/demangle-cxx.h new file mode 100644 index 000000000000..26b5b66c0b4e --- /dev/null +++ b/tools/perf/util/demangle-cxx.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __PERF_DEMANGLE_CXX +#define __PERF_DEMANGLE_CXX 1 + +#ifdef __cplusplus +extern "C" { +#endif + +char *cxx_demangle_sym(const char *str, bool params, bool modifiers); + +#ifdef __cplusplus +} +#endif + + +#endif /* __PERF_DEMANGLE_CXX */ diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c index 41882ae8452e..c0a2de42c51b 100644 --- a/tools/perf/util/symbol-elf.c +++ b/tools/perf/util/symbol-elf.c @@ -12,6 +12,7 @@ #include "maps.h" #include "symbol.h" #include "symsrc.h" +#include "demangle-cxx.h" #include "demangle-ocaml.h" #include "demangle-java.h" #include "demangle-rust.h" @@ -25,6 +26,11 @@ #include #include =20 +#ifdef HAVE_LIBBFD_SUPPORT +#define PACKAGE 'perf' +#include +#endif + #ifndef EM_AARCH64 #define EM_AARCH64 183 /* ARM 64 bit */ #endif @@ -45,34 +51,6 @@ =20 typedef Elf64_Nhdr GElf_Nhdr; =20 -#ifndef DMGL_PARAMS -#define DMGL_NO_OPTS 0 /* For readability... */ -#define DMGL_PARAMS (1 << 0) /* Include function args */ -#define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */ -#endif - -#ifdef HAVE_LIBBFD_SUPPORT -#define PACKAGE 'perf' -#include -#else -#ifdef HAVE_CPLUS_DEMANGLE_SUPPORT -extern char *cplus_demangle(const char *, int); - -static inline char *bfd_demangle(void __maybe_unused *v, const char *c, in= t i) -{ - return cplus_demangle(c, i); -} -#else -#ifdef NO_DEMANGLE -static inline char *bfd_demangle(void __maybe_unused *v, - const char __maybe_unused *c, - int __maybe_unused i) -{ - return NULL; -} -#endif -#endif -#endif =20 #ifndef HAVE_ELF_GETPHDRNUM_SUPPORT static int elf_getphdrnum(Elf *elf, size_t *dst) @@ -295,7 +273,6 @@ static bool want_demangle(bool is_kernel_sym) =20 static char *demangle_sym(struct dso *dso, int kmodule, const char *elf_na= me) { - int demangle_flags =3D verbose > 0 ? (DMGL_PARAMS | DMGL_ANSI) : DMGL_NO_= OPTS; char *demangled =3D NULL; =20 /* @@ -306,7 +283,7 @@ static char *demangle_sym(struct dso *dso, int kmodule,= const char *elf_name) if (!want_demangle(dso->kernel || kmodule)) return demangled; =20 - demangled =3D bfd_demangle(NULL, elf_name, demangle_flags); + demangled =3D cxx_demangle_sym(elf_name, verbose > 0, verbose > 0); if (demangled =3D=3D NULL) { demangled =3D ocaml_demangle_sym(elf_name); if (demangled =3D=3D NULL) { --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 5EE68C678D5 for ; Sat, 11 Mar 2023 07:00:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230118AbjCKHAM (ORCPT ); Sat, 11 Mar 2023 02:00:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230142AbjCKG7u (ORCPT ); Sat, 11 Mar 2023 01:59:50 -0500 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98404DDF37 for ; Fri, 10 Mar 2023 22:59:25 -0800 (PST) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5376fa4106eso77140017b3.7 for ; Fri, 10 Mar 2023 22:59:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517959; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=UaJIIcBEzyZNOhgIC/lIx2fcWxamKUkNGMgdjyQDc5Y=; b=JbwMyb82arUwYsbpp+2CR3MOHnK4Bsgb7d87J6uyhp979D8l8HMxntJlXJ4Ze9lD8o iFmBbKwqDAo3XhKpHsyaZSNeXtsidCNlvJm0M4gN9mCD3eta1g0KxeorDAWq9p68P34H xeb/mr6jj4e0OdWAZrQOZphdhr2VY3Mdtb3Rj6aM9M/JVn0koMGGTASHDtYSHDlzwTUY 3IyCYa58D7A0JflpKOIKrnlZTrtELd+rFMGtv4aiKRORbakk4zVXOML7dZQAJ7k3X2Hz VdhFBzRYTBm18iPXmY4AhKQIpdedyNTxP6bKwMYmVRtPEFAvg7WLEC32TfF36clrZ4+Z U3Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517959; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UaJIIcBEzyZNOhgIC/lIx2fcWxamKUkNGMgdjyQDc5Y=; b=5ik1A2t+h9lzgJTLRyJl3s12rEhOlZrS6A+wMBJzhKKCJgyqKIJA/IlO3mDj5NcOrm rklBwTET4BCLnu+SPDMEIo/AXrDsAzwecryEoJxA2q1OwzFJYFWRASJe+FDHStHOyhG7 Q71r+uCCSEgYvnlIKH7aaG1mnx/O265xU9DIyGzUM/kKmrxkTtJfwovMEKuG7uV0Itga hA6fTp8RUzen0lJEsBcKfQITUQHc3WX0GGuIZKboyOVzd+HSYZMG1wYms3ItAOzDqE/R Dl/xNNVnIgehOxdTE2/5mlZ3Cm0ZTNsvWCohUu6BcbqsiXP/yTdAICLUGJmxBk/XJB7/ 64VA== X-Gm-Message-State: AO0yUKXUsgx/gzlXCFW0OaIO6LUfLIuArUFvy+hQeFbPDWARak4h6dSB nFcLNNaB7Db+GsQoDG1qDcxzUTvdZonS X-Google-Smtp-Source: AK7set8r7y5C4YRsyVKjA7xb6uMrDtNqf2buJwznbMCVbDT8O9J9H12jt+MiPLw/Ik+0AdXWYz2LqVnm5lPL X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:ac28:0:b0:536:55e5:2eaa with SMTP id k40-20020a81ac28000000b0053655e52eaamr18111377ywh.3.1678517959721; Fri, 10 Mar 2023 22:59:19 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:50 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-11-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 10/13] perf build: Switch libpfm4 to opt-out rather than opt-in From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If libpfm4 passes the feature test, it would be nice to have it enabled rather than also requiring the LIBPFM4=3D1 build flag. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 3 +-- tools/perf/Makefile.perf | 2 +- tools/perf/tests/make | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index fdeca45cf15f..9754218bd418 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -1130,7 +1130,7 @@ ifdef LIBCLANGLLVM endif endif =20 -ifdef LIBPFM4 +ifndef NO_LIBPFM4 $(call feature_check,libpfm4) ifeq ($(feature-libpfm4), 1) CFLAGS +=3D -DHAVE_LIBPFM @@ -1139,7 +1139,6 @@ ifdef LIBPFM4 $(call detected,CONFIG_LIBPFM4) else msg :=3D $(warning libpfm4 not found, disables libpfm4 support. Please= install libpfm4-dev); - NO_LIBPFM4 :=3D 1 endif endif =20 diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index a35bc995d5d8..3e06915f6bd0 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -122,7 +122,7 @@ include ../scripts/utilities.mak # generated from the kernel .tbl or unistd.h files and use, if available, = libaudit # for doing the conversions to/from strings/id. # -# Define LIBPFM4 to enable libpfm4 events extension. +# Define NO_LIBPFM4 to disable libpfm4 events extension. # # Define NO_LIBDEBUGINFOD if you do not want support debuginfod # diff --git a/tools/perf/tests/make b/tools/perf/tests/make index c2f74ed43418..47c665659022 100644 --- a/tools/perf/tests/make +++ b/tools/perf/tests/make @@ -94,7 +94,7 @@ make_with_coresight :=3D CORESIGHT=3D1 make_no_sdt :=3D NO_SDT=3D1 make_no_syscall_tbl :=3D NO_SYSCALL_TABLE=3D1 make_with_clangllvm :=3D LIBCLANGLLVM=3D1 -make_with_libpfm4 :=3D LIBPFM4=3D1 +make_no_libpfm4 :=3D NO_LIBPFM4=3D1 make_with_gtk2 :=3D GTK2=3D1 make_tags :=3D tags make_cscope :=3D cscope @@ -161,7 +161,7 @@ run +=3D make_no_syscall_tbl run +=3D make_with_babeltrace run +=3D make_with_coresight run +=3D make_with_clangllvm -run +=3D make_with_libpfm4 +run +=3D make_no_libpfm4 run +=3D make_help run +=3D make_doc run +=3D make_perf_o --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 82DFAC678D5 for ; Sat, 11 Mar 2023 07:00:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230128AbjCKHAi (ORCPT ); Sat, 11 Mar 2023 02:00:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230154AbjCKHAK (ORCPT ); Sat, 11 Mar 2023 02:00:10 -0500 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C251C11F6B8 for ; Fri, 10 Mar 2023 22:59:41 -0800 (PST) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-538116920c3so76957287b3.15 for ; Fri, 10 Mar 2023 22:59:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517980; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=VwWoTjR86AKucZnLsGNUcUMK7gNda6D+/S/cfRQfBgg=; b=eElZEpPqgYjQPT+2OgFJo3tJTboFaG9WiNPK5qqArvz4zn9dLkynGNEg6xMvjQpfsB 8VIgGN8gT1K2LA+1w7FACJ0oeu6GJzCk6x/Vt4K39kUe3JaWwQa4UIkDfsMp/3+5GeZD POGSCqaKPVtzV1MJgMTx/ERlkg8AW6eJHa0x4KZ9NvMfRLGV/n6sIZSu/Rc1VFz/zCw2 RPvH3408SaVcFcAVh7ctiB/PTEKu9bWodiOA/MRIf7PQJt3QfR1SCsRAPLFDcGxQ1lZK 2+TirLZ0YCwlUl+CgZIoAF0cdAF0x2AJwBmMMewK3EFLb1duc+Sk7cL+Xd3VtmemShtt 1XNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517980; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=VwWoTjR86AKucZnLsGNUcUMK7gNda6D+/S/cfRQfBgg=; b=rsbagphUnC75h6R6ZDlfJSWXJZelurU5tg8CpB3XSUWjYFdn+60xbdGdBQuHjhmv0S zoCirN9yBf4xu1ojWQ/a7ezwHB30bcHDoMn+AYPqQmUDm90DySHj0q0ugGfiiJACuLMF kc2NxYu7aBCoHp2M6evw2+cZc1UBQKTLbj/ClITFxW9rMmpWYDy5MvXg8l9j7DOUh93o ySCa6+Zwzjd8SYJNfKzET/lrfUt2WYRvdv/uwMwCYVxLaNTwqbeoIpmIIuuVaoolJmoM u/UO14Mvb3dv2BO7c7vkggCb6CZ8GkBu3UYlXoGAMs5nWqBN3zffy3Pd74rXzcnw9Rbh 45cQ== X-Gm-Message-State: AO0yUKVjBCzhkLSDtJNnTlqqTAJBNlx5I2bHRGofyBhwznr70Cvhe3pZ Lyd1PbFAfp9Im2wLBv6JzmeNuFvwj7tw X-Google-Smtp-Source: AK7set8Vrv9NAbTX9LeVvPN5FFdwJH1Tgz4a3yXybmJZZZuxkA7pyjWm68DJOp93hT5QF5cnEQsir9bGAKm4 X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:ed06:0:b0:540:e6c5:5118 with SMTP id k6-20020a81ed06000000b00540e6c55118mr1450560ywm.2.1678517980596; Fri, 10 Mar 2023 22:59:40 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:51 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-12-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 11/13] perf build: If libtraceevent isn't present error the build From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If libtraceevent isn't present, the build will warn and continue. This disables a number of features and so isn't desirable. This change makes the build error for this case. The build can still be made to happen by adding NO_LIBTRACEEVENT=3D1. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 9754218bd418..1b598c5e68eb 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -1156,7 +1156,7 @@ ifneq ($(NO_LIBTRACEEVENT),1) CFLAGS +=3D -DLIBTRACEEVENT_VERSION=3D$(LIBTRACEEVENT_VERSION_CPP) $(call detected,CONFIG_LIBTRACEEVENT) else - dummy :=3D $(warning Warning: libtraceevent is missing limiting functi= onality, please install libtraceevent-dev/libtraceevent-devel) + dummy :=3D $(error ERROR: libtraceevent is missing. Please install lib= traceevent-dev/libtraceevent-devel or build with NO_LIBTRACEEVENT=3D1) endif =20 $(call feature_check,libtracefs) --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 98C1FC61DA4 for ; Sat, 11 Mar 2023 07:00:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230281AbjCKHAq (ORCPT ); Sat, 11 Mar 2023 02:00:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49806 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230221AbjCKHAT (ORCPT ); Sat, 11 Mar 2023 02:00:19 -0500 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E845144BCB for ; Fri, 10 Mar 2023 22:59:50 -0800 (PST) Received: by mail-yb1-xb49.google.com with SMTP id w14-20020a25ac0e000000b00b369c36c165so848624ybi.6 for ; Fri, 10 Mar 2023 22:59:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517988; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=FDZRiNR1kad/WxpM67261adKoiNeiwCkEjVOswz/Du8=; b=Qar2HPMwoJnDCU1nMENaqbKWaIzPwEhzKCXuGu6xIXt7R10Hny8ebMx5xJuCo+0AaZ 5MxuFuGKLr5jurHhGyIOkCrTplilQ/NZC1Bfds0gFdQ8zg81J/w8nVud4/mZEnP37JlT wFLa0XGYGh6wQX6gpN7fmSkrID8hxSCPRDWU/ZjiB97czpaFt+waeyO3tpLEcICsHNvU Zn8J/FgSlcr/3/r8OvxY8B4MRvBl7PUjj25q1WfgLnZkKihw7Jb7qpcL3L0SilfdmFao bQBB1c6SAivx9uEiJMkIk1rmHCOGEvavdUtFb/6PdevU9zZSgI3GJfm8ViMxA6K+KksY cpHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517988; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FDZRiNR1kad/WxpM67261adKoiNeiwCkEjVOswz/Du8=; b=qPJNMqVfKWvYFs3UCs2ImKluSvHzcTWAPxQWOUnRZnQQAdwuZHIgSiqxIW5OPVMGXN 99V5wAsmLfcB2RKAflvyd6noOSHElo1hA5aQJjrKh2nCqlSgfpK3j584vFmgW2qMQbYg aGBqrifP/MHaocDcG45SZSuCBN7gw2LQKPUdHqx7iIoUqshTr4oDofMpvKG9qvnxu5ab jyy1qDT7uFj56Xlf4aEnjGZGDT4V9g2bHk2bAapkAdyEg/3Q2kCP1PVwmYjB95ZLkKGn hUFDGGC2E5mcMfTmi9KwhizUNrIDpARayZT30exmpEQQZfh1p+wkXwXyCOhDFAW74z4i qWQA== X-Gm-Message-State: AO0yUKVAFY/FG9Z5wvq0NauTF/sw5tOce7j8ZU1rOcgi8XzfQ2yEbYBF DhZEZTXVHn0pLoobSPwCwJLHi0XmWB1P X-Google-Smtp-Source: AK7set8KKtJzMrDa/KnaM5s2BCn70inzmhuSkD1+nv8GOxneFhveneuG+MuzGLlpwnYa/S52Gml26DPS8UJV X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:b70c:0:b0:541:6881:be0b with SMTP id v12-20020a81b70c000000b005416881be0bmr0ywh.188.1678517988166; Fri, 10 Mar 2023 22:59:48 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:52 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-13-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 12/13] tools headers: Make the difference output easier to read From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add failures to an array and display it before exiting. Before: ``` Warning: Kernel ABI header at 'tools/include/uapi/linux/fcntl.h' differs fr= om latest version at 'include/uapi/linux/fcntl.h' diff -u tools/include/uapi/linux/fcntl.h include/uapi/linux/fcntl.h Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from= latest version at 'include/uapi/linux/kvm.h' diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h ... ``` After: ``` Warning: Kernel ABI header differences: tools/include/uapi/linux/fcntl.h include/uapi/linux/fcntl.h tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h ... ``` Signed-off-by: Ian Rogers --- tools/perf/check-headers.sh | 229 ++++++++++++++++++++---------------- 1 file changed, 125 insertions(+), 104 deletions(-) diff --git a/tools/perf/check-headers.sh b/tools/perf/check-headers.sh index eacca9a874e2..f848b425d936 100755 --- a/tools/perf/check-headers.sh +++ b/tools/perf/check-headers.sh @@ -1,113 +1,121 @@ -#!/bin/sh +#!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 -FILES=3D' -include/uapi/linux/const.h -include/uapi/drm/drm.h -include/uapi/drm/i915_drm.h -include/uapi/linux/fadvise.h -include/uapi/linux/fcntl.h -include/uapi/linux/fs.h -include/uapi/linux/fscrypt.h -include/uapi/linux/kcmp.h -include/uapi/linux/kvm.h -include/uapi/linux/in.h -include/uapi/linux/mount.h -include/uapi/linux/openat2.h -include/uapi/linux/perf_event.h -include/uapi/linux/prctl.h -include/uapi/linux/sched.h -include/uapi/linux/stat.h -include/uapi/linux/usbdevice_fs.h -include/uapi/linux/vhost.h -include/uapi/sound/asound.h -include/linux/bits.h -include/vdso/bits.h -include/linux/const.h -include/vdso/const.h -include/linux/hash.h -include/linux/list-sort.h -include/uapi/linux/hw_breakpoint.h -arch/x86/include/asm/disabled-features.h -arch/x86/include/asm/required-features.h -arch/x86/include/asm/cpufeatures.h -arch/x86/include/asm/inat_types.h -arch/x86/include/asm/emulate_prefix.h -arch/x86/include/asm/irq_vectors.h -arch/x86/include/asm/msr-index.h -arch/x86/include/uapi/asm/prctl.h -arch/x86/lib/x86-opcode-map.txt -arch/x86/tools/gen-insn-attr-x86.awk -arch/arm/include/uapi/asm/perf_regs.h -arch/arm64/include/uapi/asm/perf_regs.h -arch/mips/include/uapi/asm/perf_regs.h -arch/powerpc/include/uapi/asm/perf_regs.h -arch/s390/include/uapi/asm/perf_regs.h -arch/x86/include/uapi/asm/perf_regs.h -arch/x86/include/uapi/asm/kvm.h -arch/x86/include/uapi/asm/kvm_perf.h -arch/x86/include/uapi/asm/svm.h -arch/x86/include/uapi/asm/unistd.h -arch/x86/include/uapi/asm/vmx.h -arch/powerpc/include/uapi/asm/kvm.h -arch/s390/include/uapi/asm/kvm.h -arch/s390/include/uapi/asm/kvm_perf.h -arch/s390/include/uapi/asm/ptrace.h -arch/s390/include/uapi/asm/sie.h -arch/arm/include/uapi/asm/kvm.h -arch/arm64/include/uapi/asm/kvm.h -arch/arm64/include/uapi/asm/unistd.h -arch/alpha/include/uapi/asm/errno.h -arch/mips/include/asm/errno.h -arch/mips/include/uapi/asm/errno.h -arch/parisc/include/uapi/asm/errno.h -arch/powerpc/include/uapi/asm/errno.h -arch/sparc/include/uapi/asm/errno.h -arch/x86/include/uapi/asm/errno.h -include/asm-generic/bitops/arch_hweight.h -include/asm-generic/bitops/const_hweight.h -include/asm-generic/bitops/__fls.h -include/asm-generic/bitops/fls.h -include/asm-generic/bitops/fls64.h -include/linux/coresight-pmu.h -include/uapi/asm-generic/errno.h -include/uapi/asm-generic/errno-base.h -include/uapi/asm-generic/ioctls.h -include/uapi/asm-generic/mman-common.h -include/uapi/asm-generic/unistd.h -' - -SYNC_CHECK_FILES=3D' -arch/x86/include/asm/inat.h -arch/x86/include/asm/insn.h -arch/x86/lib/inat.c -arch/x86/lib/insn.c -' +YELLOW=3D'\033[0;33m' +NC=3D'\033[0m' # No Color + +declare -a FILES +FILES=3D( + "include/uapi/linux/const.h" + "include/uapi/drm/drm.h" + "include/uapi/drm/i915_drm.h" + "include/uapi/linux/fadvise.h" + "include/uapi/linux/fcntl.h" + "include/uapi/linux/fs.h" + "include/uapi/linux/fscrypt.h" + "include/uapi/linux/kcmp.h" + "include/uapi/linux/kvm.h" + "include/uapi/linux/in.h" + "include/uapi/linux/mount.h" + "include/uapi/linux/openat2.h" + "include/uapi/linux/perf_event.h" + "include/uapi/linux/prctl.h" + "include/uapi/linux/sched.h" + "include/uapi/linux/stat.h" + "include/uapi/linux/usbdevice_fs.h" + "include/uapi/linux/vhost.h" + "include/uapi/sound/asound.h" + "include/linux/bits.h" + "include/vdso/bits.h" + "include/linux/const.h" + "include/vdso/const.h" + "include/linux/hash.h" + "include/linux/list-sort.h" + "include/uapi/linux/hw_breakpoint.h" + "arch/x86/include/asm/disabled-features.h" + "arch/x86/include/asm/required-features.h" + "arch/x86/include/asm/cpufeatures.h" + "arch/x86/include/asm/inat_types.h" + "arch/x86/include/asm/emulate_prefix.h" + "arch/x86/include/asm/irq_vectors.h" + "arch/x86/include/asm/msr-index.h" + "arch/x86/include/uapi/asm/prctl.h" + "arch/x86/lib/x86-opcode-map.txt" + "arch/x86/tools/gen-insn-attr-x86.awk" + "arch/arm/include/uapi/asm/perf_regs.h" + "arch/arm64/include/uapi/asm/perf_regs.h" + "arch/mips/include/uapi/asm/perf_regs.h" + "arch/powerpc/include/uapi/asm/perf_regs.h" + "arch/s390/include/uapi/asm/perf_regs.h" + "arch/x86/include/uapi/asm/perf_regs.h" + "arch/x86/include/uapi/asm/kvm.h" + "arch/x86/include/uapi/asm/kvm_perf.h" + "arch/x86/include/uapi/asm/svm.h" + "arch/x86/include/uapi/asm/unistd.h" + "arch/x86/include/uapi/asm/vmx.h" + "arch/powerpc/include/uapi/asm/kvm.h" + "arch/s390/include/uapi/asm/kvm.h" + "arch/s390/include/uapi/asm/kvm_perf.h" + "arch/s390/include/uapi/asm/ptrace.h" + "arch/s390/include/uapi/asm/sie.h" + "arch/arm/include/uapi/asm/kvm.h" + "arch/arm64/include/uapi/asm/kvm.h" + "arch/arm64/include/uapi/asm/unistd.h" + "arch/alpha/include/uapi/asm/errno.h" + "arch/mips/include/asm/errno.h" + "arch/mips/include/uapi/asm/errno.h" + "arch/parisc/include/uapi/asm/errno.h" + "arch/powerpc/include/uapi/asm/errno.h" + "arch/sparc/include/uapi/asm/errno.h" + "arch/x86/include/uapi/asm/errno.h" + "include/asm-generic/bitops/arch_hweight.h" + "include/asm-generic/bitops/const_hweight.h" + "include/asm-generic/bitops/__fls.h" + "include/asm-generic/bitops/fls.h" + "include/asm-generic/bitops/fls64.h" + "include/linux/coresight-pmu.h" + "include/uapi/asm-generic/errno.h" + "include/uapi/asm-generic/errno-base.h" + "include/uapi/asm-generic/ioctls.h" + "include/uapi/asm-generic/mman-common.h" + "include/uapi/asm-generic/unistd.h" +) + +declare -a SYNC_CHECK_FILES +SYNC_CHECK_FILES=3D( + "arch/x86/include/asm/inat.h" + "arch/x86/include/asm/insn.h" + "arch/x86/lib/inat.c" + "arch/x86/lib/insn.c" +) =20 # These copies are under tools/perf/trace/beauty/ as they are not used to = in # building object files only by scripts in tools/perf/trace/beauty/ to gen= erate # tables that then gets included in .c files for things like id->string sy= scall # tables (and the reverse lookup as well: string -> id) =20 -BEAUTY_FILES=3D' -include/linux/socket.h -' +declare -a BEAUTY_FILES +BEAUTY_FILES=3D( + "include/linux/socket.h" +) + +declare -a FAILURES =20 check_2 () { - file1=3D$1 - file2=3D$2 + tools_file=3D$1 + orig_file=3D$2 =20 shift shift =20 - cmd=3D"diff $* $file1 $file2 > /dev/null" + cmd=3D"diff $* $tools_file $orig_file > /dev/null" =20 - test -f $file2 && { - eval $cmd || { - echo "Warning: Kernel ABI header at '$file1' differs from latest ver= sion at '$file2'" >&2 - echo diff -u $file1 $file2 - } - } + if [ -f "$orig_file" ] && ! eval "$cmd" + then + FAILURES+=3D( + "$tools_file $orig_file" + ) + fi } =20 check () { @@ -115,7 +123,7 @@ check () { =20 shift =20 - check_2 tools/$file $file $* + check_2 "tools/$file" "$file" $* } =20 beauty_check () { @@ -123,23 +131,29 @@ beauty_check () { =20 shift =20 - check_2 tools/perf/trace/beauty/$file $file $* + check_2 "tools/perf/trace/beauty/$file" "$file" $* } =20 # Check if we have the kernel headers (tools/perf/../../include), else # we're probably on a detached tarball, so no point in trying to check # differences. -test -d ../../include || exit 0 +if ! [ -d ../../include ] +then + echo -e "${YELLOW}Warning${NC}: Skipped check-headers due to missing ../= ../include" + exit 0 +fi =20 cd ../.. =20 # simple diff check -for i in $FILES; do - check $i -B +for i in "${FILES[@]}" +do + check "$i" -B done =20 -for i in $SYNC_CHECK_FILES; do - check $i '-I "^.*\/\*.*__ignore_sync_check__.*\*\/.*$"' +for i in "${SYNC_CHECK_FILES[@]}" +do + check "$i" '-I "^.*\/\*.*__ignore_sync_check__.*\*\/.*$"' done =20 # diff with extra ignore lines @@ -160,8 +174,9 @@ check_2 tools/perf/arch/powerpc/entry/syscalls/syscall.= tbl arch/powerpc/kernel/s check_2 tools/perf/arch/s390/entry/syscalls/syscall.tbl arch/s390/kernel/s= yscalls/syscall.tbl check_2 tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl arch/mips/kern= el/syscalls/syscall_n64.tbl =20 -for i in $BEAUTY_FILES; do - beauty_check $i -B +for i in "${BEAUTY_FILES[@]}" +do + beauty_check "$i" -B done =20 # check duplicated library files @@ -169,3 +184,9 @@ check_2 tools/perf/util/hashmap.h tools/lib/bpf/hashmap= .h check_2 tools/perf/util/hashmap.c tools/lib/bpf/hashmap.c =20 cd tools/perf + +echo -e "${YELLOW}Warning${NC}: Kernel ABI header differences:" +for i in "${FAILURES[@]}" +do + echo " $i" +done --=20 2.40.0.rc1.284.g88254d51c5-goog From nobody Wed Feb 11 18:48:22 2026 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 A4316C61DA4 for ; Sat, 11 Mar 2023 07:01:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230151AbjCKHBA (ORCPT ); Sat, 11 Mar 2023 02:01:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49936 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230188AbjCKHAZ (ORCPT ); Sat, 11 Mar 2023 02:00:25 -0500 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9ECDC144977 for ; Fri, 10 Mar 2023 22:59:56 -0800 (PST) Received: by mail-yb1-xb4a.google.com with SMTP id e20-20020a25d314000000b00b33355abd3dso2704141ybf.14 for ; Fri, 10 Mar 2023 22:59:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517995; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=suA+bwgJNWM1ViYRwliFKAa9dMDLpk9Qwp1WJkMdxcc=; b=CQZt3tWjAs16t6INtGV8MfbsFPXnxShEd3XQr0Eg2M1Lq8aK2hi5j69UBZR4nZvzQk s70YdoH35sqKBKPjWDpSYMFsqUFh0N/2F4nVGpQMSCBVJcFiDIavD87dGD04hX8KnzQO 872HqHIhAoE6Y39RvB4exu295r38ilJ6XdN22SVd+X4CzDldEZzpLwiDUDuJgFIXo2JB DQ0r3g7RnmpHwriEWOT1iX4UDptqU27wyA0chat1UyI4L+vzaMegrBm+fA9mCexnzQb/ ProMYdMUTJIItTVUbMrA9mEo6o7msjnB11hVk/pqvLYWAGyciPvgRwd37MCBKBNz7Hbl l1Pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517995; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=suA+bwgJNWM1ViYRwliFKAa9dMDLpk9Qwp1WJkMdxcc=; b=cH1gtR1izGnB4mdBbSu8eA92pzOIUNedDv8CcAIBz7mzcDY/neeD3r6YdUtZsHh7gJ 0+cnzrhUPdmD954Qqb0atUn21I2pkrfRgFUF5NJjQxUbNsiYqsGgXNDgG81MDl6FWvNk OUEyn8roLNxP0MORI1v0bt4zK9J6D7qLGGVQej6Ng97oEInppkl76Eqi46io2dHcBkFT 6+4hPTluHXOhhI9G6MhW8ZAfBGU53G8bmYXv4syJRvv8BNmpbGSzx6bh9P8flCKCl8/T y2q7JGFPEQvbLcIHx4rA3zdpHjCaqjr70MhB8Qnj+qDf/CNYUxocN7j4GufwX+549V43 2mfQ== X-Gm-Message-State: AO0yUKW2jisOEgwDGCkAsllt1tNozntRs2EsqvkV5JhN4XTSc5iHaqj2 3ENDkmk3QrpLp2AlKP4OQaImgdOI9ek1 X-Google-Smtp-Source: AK7set9XTSaarIquORnK+0yBheQDbBcFerJD4i+/DeqYN6jDbj3frYgSC1/aA5aOMWmcLWCqwpOpNALBFmcU X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:a983:0:b0:52e:e095:d840 with SMTP id g125-20020a81a983000000b0052ee095d840mr18667452ywh.0.1678517995660; Fri, 10 Mar 2023 22:59:55 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:53 -0800 In-Reply-To: <20230311065753.3012826-1-irogers@google.com> Message-Id: <20230311065753.3012826-14-irogers@google.com> Mime-Version: 1.0 References: <20230311065753.3012826-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 13/13] perf build: Remove redundant NO_NEWT build option From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Nathan Chancellor , Nick Desaulniers , Tom Rix , Roberto Sassu , Quentin Monnet , Andres Freund , Tiezhu Yang , Pavithra Gurushankar , Yang Jihong , Adrian Hunter , Leo Yan , "=?UTF-8?q?Martin=20Li=C5=A1ka?=" , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The option controlled nothing and no code depends, conditional or otherwise, on libnewt. Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 4 ---- tools/perf/Makefile.perf | 2 -- tools/perf/tests/make | 6 ++---- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 1b598c5e68eb..b7a9cb4a3526 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -752,10 +752,6 @@ ifndef NO_LIBCRYPTO endif endif =20 -ifdef NO_NEWT - NO_SLANG=3D1 -endif - ifndef NO_SLANG ifneq ($(feature-libslang), 1) ifneq ($(feature-libslang-include-subdir), 1) diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 3e06915f6bd0..dc9dda09b076 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -44,8 +44,6 @@ include ../scripts/utilities.mak # # Define WERROR=3D0 to disable treating any warnings as errors. # -# Define NO_NEWT if you do not want TUI support. (deprecated) -# # Define NO_SLANG if you do not want TUI support. # # Define GTK2 if you want GTK+ GUI support. diff --git a/tools/perf/tests/make b/tools/perf/tests/make index 47c665659022..a74b4be446c6 100644 --- a/tools/perf/tests/make +++ b/tools/perf/tests/make @@ -72,10 +72,9 @@ make_nondistro :=3D BUILD_NONDISTRO=3D1 make_no_libperl :=3D NO_LIBPERL=3D1 make_no_libpython :=3D NO_LIBPYTHON=3D1 make_no_scripts :=3D NO_LIBPYTHON=3D1 NO_LIBPERL=3D1 -make_no_newt :=3D NO_NEWT=3D1 make_no_slang :=3D NO_SLANG=3D1 make_no_gtk2 :=3D NO_GTK2=3D1 -make_no_ui :=3D NO_NEWT=3D1 NO_SLANG=3D1 NO_GTK2=3D1 +make_no_ui :=3D NO_SLANG=3D1 NO_GTK2=3D1 make_no_demangle :=3D NO_DEMANGLE=3D1 make_no_libelf :=3D NO_LIBELF=3D1 make_no_libunwind :=3D NO_LIBUNWIND=3D1 @@ -115,7 +114,7 @@ make_install_prefix_slash :=3D install prefix=3D/tmp/kr= ava/ make_static :=3D LDFLAGS=3D-static NO_PERF_READ_VDSO32=3D1 NO_PERF= _READ_VDSOX32=3D1 NO_JVMTI=3D1 =20 # all the NO_* variable combined -make_minimal :=3D NO_LIBPERL=3D1 NO_LIBPYTHON=3D1 NO_NEWT=3D1 NO_GT= K2=3D1 +make_minimal :=3D NO_LIBPERL=3D1 NO_LIBPYTHON=3D1 NO_GTK2=3D1 make_minimal +=3D NO_DEMANGLE=3D1 NO_LIBELF=3D1 NO_LIBUNWIND=3D1 NO= _BACKTRACE=3D1 make_minimal +=3D NO_LIBNUMA=3D1 NO_LIBAUDIT=3D1 NO_LIBBIONIC=3D1 make_minimal +=3D NO_LIBDW_DWARF_UNWIND=3D1 NO_AUXTRACE=3D1 NO_LIBB= PF=3D1 @@ -139,7 +138,6 @@ run +=3D make_nondistro run +=3D make_no_libperl run +=3D make_no_libpython run +=3D make_no_scripts -run +=3D make_no_newt run +=3D make_no_slang run +=3D make_no_gtk2 run +=3D make_no_ui --=20 2.40.0.rc1.284.g88254d51c5-goog