summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2024-04-26 16:51:58 +0200
committerDaniel Borkmann <daniel@iogearbox.net>2024-04-26 17:10:04 +0200
commit6e25bcf06af0341691f7058e17e04800f6a19e26 (patch)
tree28e1c6d15b6bd1941da881beaa8ca72ed4b40fa5
parente51b907d40329d4b4517a155e0bc0bf593d6767d (diff)
downloadlinux-6e25bcf06af0341691f7058e17e04800f6a19e26.tar.gz
linux-6e25bcf06af0341691f7058e17e04800f6a19e26.tar.bz2
linux-6e25bcf06af0341691f7058e17e04800f6a19e26.zip
bpf_helpers.h: Define bpf_tail_call_static when building with GCC
The definition of bpf_tail_call_static in tools/lib/bpf/bpf_helpers.h is guarded by a preprocessor check to assure that clang is recent enough to support it. This patch updates the guard so the function is compiled when using GCC 13 or later as well. Tested in bpf-next master. No regressions. Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20240426145158.14409-1-jose.marchesi@oracle.com
-rw-r--r--tools/lib/bpf/bpf_helpers.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/lib/bpf/bpf_helpers.h b/tools/lib/bpf/bpf_helpers.h
index cd17f6d0791f..62e1c0cc4a59 100644
--- a/tools/lib/bpf/bpf_helpers.h
+++ b/tools/lib/bpf/bpf_helpers.h
@@ -137,7 +137,8 @@
/*
* Helper function to perform a tail call with a constant/immediate map slot.
*/
-#if __clang_major__ >= 8 && defined(__bpf__)
+#if (defined(__clang__) && __clang_major__ >= 8) || (!defined(__clang__) && __GNUC__ > 12)
+#if defined(__bpf__)
static __always_inline void
bpf_tail_call_static(void *ctx, const void *map, const __u32 slot)
{
@@ -165,6 +166,7 @@ bpf_tail_call_static(void *ctx, const void *map, const __u32 slot)
: "r0", "r1", "r2", "r3", "r4", "r5");
}
#endif
+#endif
enum libbpf_pin_type {
LIBBPF_PIN_NONE,