我想将 BPF 程序集转换为可执行文件。 例如,我得到了
entrypoint:
div32 r1, 1768515945
exit
我可以获得它的可执行文件吗?它应该由 bpf 虚拟机加载并执行。
每条指令都是 64 位。这应该组装为:
00: 69 69 69 69 00 00 01 34
08: 00 00 00 00 00 00 00 90
第一个指令来自
BPF_DIV | BPF_K | BPF_ALU | (1 << 8) | (1768515945 << 32)
。第二个只是BPF_EXIT
。有关更多信息,请参阅内核文档。请注意, exit
期望 r0
包含返回代码,但您尚未明确设置任何返回代码。它应该默认为 0。