From nobody Wed Feb 11 16:48:42 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 B7D78C76196 for ; Mon, 10 Apr 2023 16:09:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230062AbjDJQJV (ORCPT ); Mon, 10 Apr 2023 12:09:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229703AbjDJQJT (ORCPT ); Mon, 10 Apr 2023 12:09:19 -0400 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 134CEE74 for ; Mon, 10 Apr 2023 09:09:18 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-54bfc4e0330so138692427b3.3 for ; Mon, 10 Apr 2023 09:09:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1681142957; h=to:from:subject:mime-version:message-id:date:from:to:cc:subject :date:message-id:reply-to; bh=hgpNSuwaIz5SOsDrctN1Z4DgOM8CO/tlKIwgfsZ4/ck=; b=KbN+lzS+lcqidjAbQxa0GvXCAbmu1egDuByAETgeMWyb2/CMdMenHNWowg+xUpH1oB QA7VrhCCALf4FouV8PrBU3pWbFqStiTfMYthOzYL8edyh46/hFQ4CCiXDnYrR9xhc2fA GYKMHSIvehSvwJtxThZcxBmK2aQV3rdCDrKz678KucttKrgJyWSQ4agd+zrXFCLqRTKy rI3fzOdO2l8cNcKq9ZyuFKMtUULQbVBORHrIhTcta+LWtGyflnxit5D25QTuU+XUzKEu lZQUicrUwcjApxPLdUCbUbC+w+EWijpvTI42Y5mwbyYyb2JQFm3tqCQyHy5s5uZ2Pxad Wlmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681142957; h=to:from:subject:mime-version:message-id:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=hgpNSuwaIz5SOsDrctN1Z4DgOM8CO/tlKIwgfsZ4/ck=; b=kgU6jcahTmF295fEbTMA//i8SgFmEoTI5KbCzUtu4/Lxxuh+1up72kRb3TevxHdNGV 6ig/SSDL6ylv9OEgezvehzkxpyFw+a2bE7CB3rpZQehM//UJnfJJlnwGNvTdTWDSSudV aQJ0LLDiu4/VvTyUMA1L+EDXtpa/bmBQjFpNPhwNKUAYtYZXCuNIiADSjzpS5vMXRSLq vOtAc2nZ7Mhi5HMe+zSX7fpf/mCBpGnT4Z/ouC2qKJoKzjK1lXl8focj0AE5+n0/JoLk jetYPxqHKewuCt4wVZPL4DvUCk/Z06hTjsMmUk81/By9jDK2Maz8D+8V/c+zkRogYhN6 BC1w== X-Gm-Message-State: AAQBX9eR1NcpntI4lDZgFe6gUPq/2sephJQgWGq6d8KS7uxxiNLZ4Bzh /GrxWrYtlt2kasSlJbgS34YWFS8sAiAC X-Google-Smtp-Source: AKy350aqBjJi0MjweR+Koinf0C4KZg04ZAy6t8zBhmoqTxsbnU8+cn0bFgYqbOxeoJJa9GhGP7nsB2ORSjwK X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:fc51:6a03:541d:a18d]) (user=irogers job=sendgmr) by 2002:a05:690c:31b:b0:54c:15ad:11e4 with SMTP id bg27-20020a05690c031b00b0054c15ad11e4mr7321151ywb.0.1681142957303; Mon, 10 Apr 2023 09:09:17 -0700 (PDT) Date: Mon, 10 Apr 2023 09:09:05 -0700 Message-Id: <20230410160905.3052640-1-irogers@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.40.0.577.gac1e443424-goog Subject: [PATCH v2] perf build: Warn for BPF skeletons if endian mismatches From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Andrii Nakryiko Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Done as a warning as I'm not fully confident of the test's robustness of comparing the macro definition of __BYTE_ORDER__. Signed-off-by: Ian Rogers v2. Is a rebase following patch 1 being merged. --- tools/perf/Makefile.config | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 16bea51f0bcd..71442c54c25f 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -663,14 +663,17 @@ ifndef NO_BPF_SKEL $(call feature_check,clang-bpf-co-re) ifeq ($(feature-clang-bpf-co-re), 0) 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 + ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),) + dummy :=3D $(error: ERROR: BPF skeletons unsupported. BPF skeleton sup= port requires libbpf or build with NO_BPF_SKEL=3D1.) + endif + host_byte_order=3D$(echo ""|$(HOSTCC) -dM -E -|grep __BYTE_ORDER__) + target_byte_order=3D$(echo ""|$(CC) -dM -E -|grep __BYTE_ORDER__) + ifneq ($(host_byte_order), $(target_byte_order)) + $(warning Possibly mismatched host and target endianness may break BPF= skeletons) + endif + $(call detected,CONFIG_PERF_BPF_SKEL) + CFLAGS +=3D -DHAVE_BPF_SKEL endif =20 dwarf-post-unwind :=3D 1 --=20 2.40.0.577.gac1e443424-goog