libbpf: Rename RELO_EXTERN_VAR/FUNC.
authorAlexei Starovoitov <ast@kernel.org>
Tue, 21 Mar 2023 20:38:51 +0000 (13:38 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 22 Mar 2023 16:31:05 +0000 (09:31 -0700)
RELO_EXTERN_VAR/FUNC names are not correct anymore. RELO_EXTERN_VAR represent
ksym symbol in ld_imm64 insn. It can point to kernel variable or kfunc.
Rename RELO_EXTERN_VAR->RELO_EXTERN_LD64 and RELO_EXTERN_FUNC->RELO_EXTERN_CALL
to match what they actually represent.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: David Vernet <void@manifault.com>
Link: https://lore.kernel.org/bpf/20230321203854.3035-2-alexei.starovoitov@gmail.com
tools/lib/bpf/libbpf.c

index 149864e..f8131f9 100644 (file)
@@ -315,8 +315,8 @@ enum reloc_type {
        RELO_LD64,
        RELO_CALL,
        RELO_DATA,
-       RELO_EXTERN_VAR,
-       RELO_EXTERN_FUNC,
+       RELO_EXTERN_LD64,
+       RELO_EXTERN_CALL,
        RELO_SUBPROG_ADDR,
        RELO_CORE,
 };
@@ -4009,9 +4009,9 @@ static int bpf_program__record_reloc(struct bpf_program *prog,
                pr_debug("prog '%s': found extern #%d '%s' (sym %d) for insn #%u\n",
                         prog->name, i, ext->name, ext->sym_idx, insn_idx);
                if (insn->code == (BPF_JMP | BPF_CALL))
-                       reloc_desc->type = RELO_EXTERN_FUNC;
+                       reloc_desc->type = RELO_EXTERN_CALL;
                else
-                       reloc_desc->type = RELO_EXTERN_VAR;
+                       reloc_desc->type = RELO_EXTERN_LD64;
                reloc_desc->insn_idx = insn_idx;
                reloc_desc->sym_off = i; /* sym_off stores extern index */
                return 0;
@@ -5855,7 +5855,7 @@ bpf_object__relocate_data(struct bpf_object *obj, struct bpf_program *prog)
                                                   relo->map_idx, map);
                        }
                        break;
-               case RELO_EXTERN_VAR:
+               case RELO_EXTERN_LD64:
                        ext = &obj->externs[relo->sym_off];
                        if (ext->type == EXT_KCFG) {
                                if (obj->gen_loader) {
@@ -5877,7 +5877,7 @@ bpf_object__relocate_data(struct bpf_object *obj, struct bpf_program *prog)
                                }
                        }
                        break;
-               case RELO_EXTERN_FUNC:
+               case RELO_EXTERN_CALL:
                        ext = &obj->externs[relo->sym_off];
                        insn[0].src_reg = BPF_PSEUDO_KFUNC_CALL;
                        if (ext->is_set) {
@@ -6115,7 +6115,7 @@ bpf_object__reloc_code(struct bpf_object *obj, struct bpf_program *main_prog,
                        continue;
 
                relo = find_prog_insn_relo(prog, insn_idx);
-               if (relo && relo->type == RELO_EXTERN_FUNC)
+               if (relo && relo->type == RELO_EXTERN_CALL)
                        /* kfunc relocations will be handled later
                         * in bpf_object__relocate_data()
                         */
@@ -7072,14 +7072,14 @@ static int bpf_program_record_relos(struct bpf_program *prog)
                struct extern_desc *ext = &obj->externs[relo->sym_off];
 
                switch (relo->type) {
-               case RELO_EXTERN_VAR:
+               case RELO_EXTERN_LD64:
                        if (ext->type != EXT_KSYM)
                                continue;
                        bpf_gen__record_extern(obj->gen_loader, ext->name,
                                               ext->is_weak, !ext->ksym.type_id,
                                               BTF_KIND_VAR, relo->insn_idx);
                        break;
-               case RELO_EXTERN_FUNC:
+               case RELO_EXTERN_CALL:
                        bpf_gen__record_extern(obj->gen_loader, ext->name,
                                               ext->is_weak, false, BTF_KIND_FUNC,
                                               relo->insn_idx);