* [PATCH v2] perf build: Warn for BPF skeletons if endian mismatches
@ 2023-04-10 16:09 Ian Rogers
2023-04-10 22:23 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 2+ messages in thread
From: Ian Rogers @ 2023-04-10 16:09 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, linux-perf-users, linux-kernel,
Andrii Nakryiko
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@google.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
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v2] perf build: Warn for BPF skeletons if endian mismatches
2023-04-10 16:09 [PATCH v2] perf build: Warn for BPF skeletons if endian mismatches Ian Rogers
@ 2023-04-10 22:23 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2023-04-10 22:23 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
Jiri Olsa, Namhyung Kim, Adrian Hunter, linux-perf-users,
linux-kernel, Andrii Nakryiko
Em Mon, Apr 10, 2023 at 09:09:05AM -0700, Ian Rogers escreveu:
> 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@google.com>
>
> v2. Is a rebase following patch 1 being merged.
Thanks, applied.
- Arnaldo
> ---
> 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
>
--
- Arnaldo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-04-10 22:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-10 16:09 [PATCH v2] perf build: Warn for BPF skeletons if endian mismatches Ian Rogers
2023-04-10 22:23 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.