From patchwork Sat Mar 11 06:57:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 6455 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp164434wrd; Fri, 10 Mar 2023 23:27:48 -0800 (PST) X-Google-Smtp-Source: AK7set+KM+54wP4IFt6vTrHnD0CK2zIf9KRUbx1Qc3MPiTFo3vg4u2fPNplM2GiZy/THOSjsVZSl X-Received: by 2002:aa7:8f04:0:b0:5a9:d58e:796f with SMTP id x4-20020aa78f04000000b005a9d58e796fmr24783025pfr.29.1678519668296; Fri, 10 Mar 2023 23:27:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678519668; cv=none; d=google.com; s=arc-20160816; b=jGvCKx4DyLjKaPbjreWQ40CbMYYLWkBAwT73u8Ax6LCCyJ82vPpWpLh43qyoYszCNC +YwBdZM2s6P904A/paXro42sCp/gUIK8VRonVs59J9WTHpOaUdQZ5IdHa395XWyVeAj5 FLUGON59jLwYCp1TNPt7/taU84BtRmSh4t5MT9lRECwKFUvD9UnbA4UY4+BYCBRvMEUL kChzCEha2j5YESZnW9O4PQY0x2wnlmOZ+rDeYq6DSth1OpMq5U8YAJtDX8u/Gm6lVSLd RkZIwSZ+83meIUROv4tU0p66PjdyMc7BLcv2i2rsFeBy7MPYRl7BKfcs1/W3nWZHCAn9 6mvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :dkim-signature; bh=pD8c7jNdpj5ptTgq1gX/x9ALXUHbsLatMpWGDnoqbzQ=; b=TB3F0YyPU2D7EHmsdNab2n/wdMsV59tiZDyjR6qt9DmiS8mKzjbH79udM7kfltu2JG tPUpFkglDHY3hQdElktu0KKu+dsSvDpEPSiIhXCbGO/wN4SSv6gAS1/HZB/EGC6c8qF8 CVXSkFvwrwSIIz4OixphR3XzFWgry33ASSiogSNexMz10Gz/yws4qehJLcQuTtXN1017 TneEIPwvSUApKYzJfsnkWWQKreI2ZtWNKYCtiMDFiyiDE07qca8sAtiSeIhAT23fKIDj EFUWYSMFfwzPOltCSXruadnv8bzA9tRld+DNjGHmPXjXcLfPkOFB2c4CQ/+7bO21y8IL W79Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=kWuFyS4f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 131-20020a621889000000b005a8b073a61bsi1506426pfy.78.2023.03.10.23.27.31; Fri, 10 Mar 2023 23:27:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=kWuFyS4f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229948AbjCKG6M (ORCPT + 99 others); Sat, 11 Mar 2023 01:58:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229925AbjCKG6L (ORCPT ); Sat, 11 Mar 2023 01:58:11 -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 ED0A9193CF for ; Fri, 10 Mar 2023 22:58:08 -0800 (PST) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-536a4eba107so77628047b3.19 for ; Fri, 10 Mar 2023 22:58:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678517888; h=cc:to:from:subject:mime-version:message-id:date:from:to:cc:subject :date:message-id:reply-to; bh=pD8c7jNdpj5ptTgq1gX/x9ALXUHbsLatMpWGDnoqbzQ=; b=kWuFyS4fBm4SiaMrQwcGUG+RzZteQEFtk8mf3AG6uyRzq7T3wLQb7jOQsVkQZ+tBYY fuzH0baQNT7imkIuqlEF/oDU2tHjCViefrXQc7Rcd2ksllCsadqMo0KHCKAWjP40UACN flARb8jvg5Zb6RM4FFO6mD6DyH7Td9s+CzE2KZfYlXajgIBgcHKNxaqeRmDUGegjnsmG xIKNKhSzxK5D3/LXWkTMaa6I1kA16k5xaE1l0mchax554KT+c4i10VdgEYxzp1yIG13a UGgIetYbLlqqIPWOJAy7rO7OrdcWLo69ihSzaIg5wopzlPqqlCZRft6Oe9YWJDyJ35DG s7IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678517888; h=cc:to:from:subject:mime-version:message-id:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=pD8c7jNdpj5ptTgq1gX/x9ALXUHbsLatMpWGDnoqbzQ=; b=YgvNwlFsWBSlgxoRJv8+pZULX4ShJgTT7G8y9WRCLjXoZtSIvVzhYU2bjyx43t9qjk 08nc6fp2lnhw1L3cOhPkdAUK95AJ+gG4WPrwCQg2fvkqv6445DR3ObSx/mAwD6XwKOO/ 3RObhLWMJ0A5eLg1XBfPJYfsxxeTiK4SR5qUF8SIRiP+rSMUkj1wTCB39c8yrgUVqpuO AzQ7UcnHWtFwp9wKfQs6jtvr7Uy4DpX05k/kpjmqauwdqixqRockXHjoj7jcmjYhtFxl ECXd4kiOYSN5CpW1ntBRi+CqNn08vvlak3OW5cNntPyd10yAf4wbJF9urwaZXPdHQaCg 1kuA== X-Gm-Message-State: AO0yUKVszkjpFMHveyetzoc5R6BEdFn5QKdFBim7rHb7/Q4iJLHawqoW PguuM2Bs0VX2HjnkKxcE8KyEeCABpf9p X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:a11d:a763:a328:f2d6]) (user=irogers job=sendgmr) by 2002:a81:ae1d:0:b0:52f:23f5:4079 with SMTP id m29-20020a81ae1d000000b0052f23f54079mr18340384ywh.4.1678517888215; Fri, 10 Mar 2023 22:58:08 -0800 (PST) Date: Fri, 10 Mar 2023 22:57:40 -0800 Message-Id: <20230311065753.3012826-1-irogers@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v1 00/13] Perf tool build improvements 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_Li=C5=A1ka?= " , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Ian Rogers X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760055439753008700?= X-GMAIL-MSGID: =?utf-8?q?1760055439753008700?= Make the default build options a more preferred set, such as making BPF skeletons default and failing the build if jevents or libtracevent dependencies fail. The binutil dependencies are opt-in given license restrictions. abi::__cxa_demangle demangling support is added so that libiberty, from binutils, isn't necessary for C++ demangling. Some build/test dependencies are fixed and the code cleaned up. Ian Rogers (13): perf build: Support python/perf.so testing perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL perf build: Remove unused HAVE_GLIBC_SUPPORT perf build: Error if no libelf and NO_LIBELF isn't set perf util: Remove weak sched_getcpu perf build: Error if jevents won't work and NO_JEVENTS=1 isn't set perf build: Make binutil libraries opt in tools build: Add feature test for abi::__cxa_demangle perf symbol: Add abi::__cxa_demangle C++ demangling support perf build: Switch libpfm4 to opt-out rather than opt-in perf build: If libtraceevent isn't present error the build tools headers: Make the difference output easier to read perf build: Remove redundant NO_NEWT build option tools/build/Makefile.feature | 1 + tools/build/feature/Makefile | 4 + tools/build/feature/test-cxa-demangle.cpp | 17 ++ tools/perf/Makefile.config | 84 +++----- tools/perf/Makefile.perf | 21 +- tools/perf/builtin-lock.c | 2 +- tools/perf/builtin-record.c | 2 +- tools/perf/builtin-version.c | 2 +- tools/perf/check-headers.sh | 229 ++++++++++++---------- tools/perf/tests/make | 17 +- tools/perf/tests/shell/record_offcpu.sh | 2 +- tools/perf/util/Build | 1 + tools/perf/util/cloexec.c | 13 -- tools/perf/util/demangle-cxx.cpp | 50 +++++ tools/perf/util/demangle-cxx.h | 16 ++ tools/perf/util/symbol-elf.c | 37 +--- tools/perf/util/util.c | 16 ++ 17 files changed, 294 insertions(+), 220 deletions(-) create mode 100644 tools/build/feature/test-cxa-demangle.cpp create mode 100644 tools/perf/util/demangle-cxx.cpp create mode 100644 tools/perf/util/demangle-cxx.h