[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230410160905.3052640-1-irogers@google.com>
Date: Mon, 10 Apr 2023 09:09:05 -0700
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
Andrii Nakryiko <andrii@...nel.org>
Subject: [PATCH v2] perf build: Warn for BPF skeletons if endian mismatches
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 <irogers@...gle.com>
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 := $(error: ERROR: BPF skeletons unsupported. clang too old/not installed or build with NO_BPF_SKEL=1.)
- else
- ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
- dummy := $(error: ERROR: BPF skeletons unsupported. BPF skeleton support requires libbpf or build with NO_BPF_SKEL=1.)
- else
- $(call detected,CONFIG_PERF_BPF_SKEL)
- CFLAGS += -DHAVE_BPF_SKEL
- endif
endif
+ ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
+ dummy := $(error: ERROR: BPF skeletons unsupported. BPF skeleton support requires libbpf or build with NO_BPF_SKEL=1.)
+ endif
+ host_byte_order=$(echo ""|$(HOSTCC) -dM -E -|grep __BYTE_ORDER__)
+ target_byte_order=$(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 += -DHAVE_BPF_SKEL
endif
dwarf-post-unwind := 1
--
2.40.0.577.gac1e443424-goog
Powered by blists - more mailing lists