From f64448f4ff1c671778a1d7d7678a281c6bc6450e Mon Sep 17 00:00:00 2001 From: "Jose E. Marchesi" Date: Sat, 27 Jan 2024 20:08:12 +0100 Subject: [PATCH] bpf: add constant pointer to helper-skb-ancestor-cgroup-id.c test The purpose of this test is to make sure that constant propagation is achieved with the proper optimization level, so a BPF call instruction to a kernel helper is generated. This patch updates the patch so it also covers kernel helpers defined with constant static pointers. The motivation for this patch is: https://lore.kernel.org/bpf/20240127185031.29854-1-jose.marchesi@oracle.com/T/#u Tested in bpf-unknown-none target x86_64-linux-gnu host. gcc/testsuite/ChangeLog * gcc.target/bpf/helper-skb-ancestor-cgroup-id.c: Add constant version of kernel helper static pointer. --- gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c b/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c index 693f390b9bba..075dbe6f852d 100644 --- a/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c +++ b/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c @@ -5,6 +5,7 @@ struct __sk_buff; static uint64_t (*bpf_skb_ancestor_cgroup_id)(struct __sk_buff *skb, int ancestor_level) = (void *) 83; +static uint64_t (* const const_bpf_skb_ancestor_cgroup_id)(struct __sk_buff *skb, int ancestor_level) = (void *) 84; void foo () @@ -13,7 +14,9 @@ foo () void *skb; int ancestor_level; - ret = bpf_skb_ancestor_cgroup_id (skb, ancestor_level); + ret = bpf_skb_ancestor_cgroup_id (skb, ancestor_level) + + const_bpf_skb_ancestor_cgroup_id (skb, ancestor_level); } /* { dg-final { scan-assembler "call\t83" } } */ +/* { dg-final { scan-assembler "call\t84" } } */ -- 2.47.2