Le 17/05/2026 à 23:40, [email protected] a écrit :
From: Abhishek Dubey <[email protected]>

The verifier selftest validates JITed instructions by matching expected
disassembly output. The first two patches fix issues in powerpc instruction
disassembly that were causing test flow failures. The fix is common for
64-bit & 32-bit powerpc. Add support for the powerpc-specific "__powerpc64"
architecture tag in the third patch, enabling proper test filtering in
verifier test files. Introduce verifier testcases for tailcalls on powerpc64
in the final patch.

Build fails:

  DESCEND objtool
  INSTALL libsubcmd_headers
  CC      arch/powerpc/net/bpf_jit_comp32.o
arch/powerpc/net/bpf_jit_comp32.c:232:6: error: conflicting types for 'bpf_jit_build_epilogue'; have 'void(u32 *, struct codegen_context *)' {aka 'void(unsigned int *, struct codegen_context *)'} 232 | void bpf_jit_build_epilogue(u32 *image, struct codegen_context *ctx)
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from arch/powerpc/net/bpf_jit_comp32.c:19:
arch/powerpc/net/bpf_jit.h:217:6: note: previous declaration of 'bpf_jit_build_epilogue' with type 'void(u32 *, u32 *, struct codegen_context *)' {aka 'void(unsigned int *, unsigned int *, struct codegen_context *)'} 217 | void bpf_jit_build_epilogue(u32 *image, u32 *fimage, struct codegen_context *ctx);
      |      ^~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/net/bpf_jit_comp32.c: In function 'bpf_jit_build_epilogue':
arch/powerpc/net/bpf_jit_comp32.c:240:43: error: passing argument 2 of 'bpf_jit_build_fentry_stubs' from incompatible pointer type [-Wincompatible-pointer-types]
  240 |         bpf_jit_build_fentry_stubs(image, ctx);
      |                                           ^~~
      |                                           |
      |                                           struct codegen_context *
arch/powerpc/net/bpf_jit.h:218:50: note: expected 'u32 *' {aka 'unsigned int *'} but argument is of type 'struct codegen_context *' 218 | void bpf_jit_build_fentry_stubs(u32 *image, u32 *fimage, struct codegen_context *ctx);
      |                                             ~~~~~^~~~~~
arch/powerpc/net/bpf_jit_comp32.c:240:9: error: too few arguments to function 'bpf_jit_build_fentry_stubs'; expected 3, have 2
  240 |         bpf_jit_build_fentry_stubs(image, ctx);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/net/bpf_jit.h:218:6: note: declared here
218 | void bpf_jit_build_fentry_stubs(u32 *image, u32 *fimage, struct codegen_context *ctx);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [scripts/Makefile.build:289: arch/powerpc/net/bpf_jit_comp32.o] Error 1
make[3]: *** [scripts/Makefile.build:548: arch/powerpc/net] Error 2
make[2]: *** [scripts/Makefile.build:548: arch/powerpc] Error 2
make[1]: *** [/home/chleroy/linux-powerpc/Makefile:2143: .] Error 2
make: *** [Makefile:248: __sub-make] Error 2


Christophe


Reply via email to