Re: [PATCH bpf-next v9 3/4] bpf, arm64: Implement bpf_arch_text_poke() for arm64

From: Jon Hunter
Date: Thu Jul 21 2022 - 03:30:03 EST




On 18/07/2022 16:37, Xu Kuohai wrote:
On 7/18/2022 9:52 PM, Jon Hunter wrote:

[..]

This change appears to be causing the build to fail ...

/tmp/cc52xO0c.s: Assembler messages:
/tmp/cc52xO0c.s:8: Error: operand 1 should be an integer register --
`mov lr,x9'
/tmp/cc52xO0c.s:7: Error: undefined symbol lr used as an immediate value
make[2]: *** [scripts/Makefile.build:250: arch/arm64/net/bpf_jit_comp.o]
Error 1
make[1]: *** [scripts/Makefile.build:525: arch/arm64/net] Error 2

Let me know if you have any thoughts.


Sorry for this failure, but I can't reproduce it.

I guess maybe your assembler doesn't recognize "lr". Could you give a
try to replace "lr" with "x30"?

#if IS_ENABLED(CONFIG_ARM64_BTI_KERNEL)
" bti j\n" /* dummy_tramp is called via "br x10" */
#endif
-" mov x10, lr\n"
-" mov lr, x9\n"
+" mov x10, x30\n"
+" mov x30, x9\n"
" ret x10\n"
" .size dummy_tramp, .-dummy_tramp\n"
" .popsection\n

Thanks.


Sorry for delay, this did not seem to land in my inbox. Anyway, yes this fixes the build issue for me!

Thanks!
Jon

--
nvpublic