From bb2a9973c0e596aa6c845c21ee3228c43c7c04cf Mon Sep 17 00:00:00 2001 From: Ruifeng Wang Date: Fri, 15 Nov 2019 14:47:54 +0800 Subject: [PATCH] bpf/arm: fix clang build Clang has different prototype for __builtin___clear_cache(). It requires 'char *' parameters while gcc requires 'void *'. Clang version 8.0 was used. Warning messages during build: ../lib/librte_bpf/bpf_jit_arm64.c:1438:26: warning: incompatible pointer types passing 'uint32_t *' (aka 'unsigned int *') to parameter of type 'char *' [-Wincompatible-pointer-types] __builtin___clear_cache(ctx.ins, ctx.ins + ctx.idx); ^~~~~~~ ../lib/librte_bpf/bpf_jit_arm64.c:1438:35: warning: incompatible pointer types passing 'uint32_t *' (aka 'unsigned int *') to parameter of type 'char *' [-Wincompatible-pointer-types] __builtin___clear_cache(ctx.ins, ctx.ins + ctx.idx); ^~~~~~~~~~~~~~~~~ Fixes: f3e516772464 ("bpf/arm: add prologue and epilogue") Cc: jerinj@marvell.com Signed-off-by: Ruifeng Wang Reviewed-by: Phil Yang Reviewed-by: Gavin Hu Acked-by: Jerin Jacob --- lib/librte_bpf/bpf_jit_arm64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_bpf/bpf_jit_arm64.c b/lib/librte_bpf/bpf_jit_arm64.c index 8882fee676..a5a5d46f06 100644 --- a/lib/librte_bpf/bpf_jit_arm64.c +++ b/lib/librte_bpf/bpf_jit_arm64.c @@ -1435,7 +1435,7 @@ bpf_jit_arm64(struct rte_bpf *bpf) } /* Flush the icache */ - __builtin___clear_cache(ctx.ins, ctx.ins + ctx.idx); + __builtin___clear_cache((char *)ctx.ins, (char *)(ctx.ins + ctx.idx)); bpf->jit.func = (void *)ctx.ins; bpf->jit.sz = size; -- 2.20.1