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

Xu Kuohai xukuohai at huawei.com
Mon Jul 18 08:37:01 PDT 2022


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.

> Cheers
> Jon
> 




More information about the linux-arm-kernel mailing list