Lines Matching refs:relo

5841 	struct reloc_desc *relos, *relo;  in record_relo_core()  local
5847 relo = &relos[prog->nr_reloc]; in record_relo_core()
5848 relo->type = RELO_CORE; in record_relo_core()
5849 relo->insn_idx = insn_idx; in record_relo_core()
5850 relo->core_relo = core_relo; in record_relo_core()
5858 struct reloc_desc *relo; in find_relo_core() local
5862 relo = &prog->reloc_desc[i]; in find_relo_core()
5863 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx) in find_relo_core()
5866 return relo->core_relo; in find_relo_core()
5873 const struct bpf_core_relo *relo, in bpf_core_resolve_relo() argument
5884 __u32 local_id = relo->type_id; in bpf_core_resolve_relo()
5895 if (relo->kind != BPF_CORE_TYPE_ID_LOCAL && in bpf_core_resolve_relo()
5911 return bpf_core_calc_relo_insn(prog_name, relo, relo_idx, local_btf, cands, specs_scratch, in bpf_core_resolve_relo()
6099 struct reloc_desc *relo = &prog->reloc_desc[i]; in bpf_object__relocate_data() local
6100 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate_data()
6104 switch (relo->type) { in bpf_object__relocate_data()
6106 map = &obj->maps[relo->map_idx]; in bpf_object__relocate_data()
6109 insn[0].imm = relo->map_idx; in bpf_object__relocate_data()
6114 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6115 relo->map_idx, map); in bpf_object__relocate_data()
6119 map = &obj->maps[relo->map_idx]; in bpf_object__relocate_data()
6120 insn[1].imm = insn[0].imm + relo->sym_off; in bpf_object__relocate_data()
6123 insn[0].imm = relo->map_idx; in bpf_object__relocate_data()
6128 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6129 relo->map_idx, map); in bpf_object__relocate_data()
6133 ext = &obj->externs[relo->ext_idx]; in bpf_object__relocate_data()
6155 ext = &obj->externs[relo->ext_idx]; in bpf_object__relocate_data()
6161 poison_kfunc_call(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6162 relo->ext_idx, ext); in bpf_object__relocate_data()
6181 prog->name, i, relo->type); in bpf_object__relocate_data()
6332 const struct reloc_desc *relo = elem; in cmp_relo_by_insn_idx() local
6334 if (insn_idx == relo->insn_idx) in cmp_relo_by_insn_idx()
6336 return insn_idx < relo->insn_idx ? -1 : 1; in cmp_relo_by_insn_idx()
6414 struct reloc_desc *relo; in bpf_object__reloc_code() local
6427 relo = find_prog_insn_relo(prog, insn_idx); in bpf_object__reloc_code()
6428 if (relo && relo->type == RELO_EXTERN_CALL) in bpf_object__reloc_code()
6433 if (relo && relo->type != RELO_CALL && relo->type != RELO_SUBPROG_ADDR) { in bpf_object__reloc_code()
6435 prog->name, insn_idx, relo->type); in bpf_object__reloc_code()
6438 if (relo) { in bpf_object__reloc_code()
6449 if (relo->type == RELO_CALL) in bpf_object__reloc_code()
6450 sub_insn_idx = relo->sym_off / BPF_INSN_SZ + insn->imm + 1; in bpf_object__reloc_code()
6452 sub_insn_idx = (relo->sym_off + insn->imm) / BPF_INSN_SZ; in bpf_object__reloc_code()
7092 struct reloc_desc *relo = &prog->reloc_desc[j]; in bpf_object__relocate() local
7093 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate()
7096 if (relo->type == RELO_SUBPROG_ADDR) in bpf_object__relocate()
7713 const struct bpf_core_relo *relo; in fixup_log_failed_core_relo() local
7721 relo = find_relo_core(prog, insn_idx); in fixup_log_failed_core_relo()
7722 if (!relo) in fixup_log_failed_core_relo()
7725 err = bpf_core_parse_spec(prog->name, prog->obj->btf, relo, &spec); in fixup_log_failed_core_relo()
7860 struct reloc_desc *relo = &prog->reloc_desc[i]; in bpf_program_record_relos() local
7861 struct extern_desc *ext = &obj->externs[relo->ext_idx]; in bpf_program_record_relos()
7864 switch (relo->type) { in bpf_program_record_relos()
7872 true, kind, relo->insn_idx); in bpf_program_record_relos()
7877 relo->insn_idx); in bpf_program_record_relos()
7881 .insn_off = relo->insn_idx * 8, in bpf_program_record_relos()
7882 .type_id = relo->core_relo->type_id, in bpf_program_record_relos()
7883 .access_str_off = relo->core_relo->access_str_off, in bpf_program_record_relos()
7884 .kind = relo->core_relo->kind, in bpf_program_record_relos()