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