__bpf_call_base
const u32 func = (u32)__bpf_call_base + (u32)imm;
u8 *func = ((u8 *)__bpf_call_base) + imm;
func = (u8 *) __bpf_call_base + imm32;
jmp_offset = (u8 *)__bpf_call_base + insn->imm - end_addr;
func = (u8 *) __bpf_call_base + imm32;
u64 __bpf_call_base(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5);
(void *)__bpf_call_base)
#define BPF_CALL_IMM(x) ((void *)(x) - (void *)__bpf_call_base)
addr = (u8 *)__bpf_call_base + imm;
EXPORT_SYMBOL_GPL(__bpf_call_base);
BPF_R0 = (__bpf_call_base + insn->imm)(BPF_R1, BPF_R2, BPF_R3,
insn->imm = fn->func - __bpf_call_base;
if ((long)__bpf_call_base + insn->imm != addr)
BUG_ON(__bpf_call_base(0, 0, 0, 0, 0) != 0);