Lines Matching refs:relo

5778 	struct reloc_desc *relos, *relo;  in record_relo_core()  local
5784 relo = &relos[prog->nr_reloc]; in record_relo_core()
5785 relo->type = RELO_CORE; in record_relo_core()
5786 relo->insn_idx = insn_idx; in record_relo_core()
5787 relo->core_relo = core_relo; in record_relo_core()
5795 struct reloc_desc *relo; in find_relo_core() local
5799 relo = &prog->reloc_desc[i]; in find_relo_core()
5800 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx) in find_relo_core()
5803 return relo->core_relo; in find_relo_core()
5810 const struct bpf_core_relo *relo, in bpf_core_resolve_relo() argument
5821 __u32 local_id = relo->type_id; in bpf_core_resolve_relo()
5832 if (relo->kind != BPF_CORE_TYPE_ID_LOCAL && in bpf_core_resolve_relo()
5848 return bpf_core_calc_relo_insn(prog_name, relo, relo_idx, local_btf, cands, specs_scratch, in bpf_core_resolve_relo()
6036 struct reloc_desc *relo = &prog->reloc_desc[i]; in bpf_object__relocate_data() local
6037 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate_data()
6041 switch (relo->type) { in bpf_object__relocate_data()
6043 map = &obj->maps[relo->map_idx]; in bpf_object__relocate_data()
6046 insn[0].imm = relo->map_idx; in bpf_object__relocate_data()
6051 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6052 relo->map_idx, map); in bpf_object__relocate_data()
6056 map = &obj->maps[relo->map_idx]; in bpf_object__relocate_data()
6057 insn[1].imm = insn[0].imm + relo->sym_off; in bpf_object__relocate_data()
6060 insn[0].imm = relo->map_idx; in bpf_object__relocate_data()
6065 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6066 relo->map_idx, map); in bpf_object__relocate_data()
6070 ext = &obj->externs[relo->ext_idx]; in bpf_object__relocate_data()
6092 ext = &obj->externs[relo->ext_idx]; in bpf_object__relocate_data()
6098 poison_kfunc_call(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6099 relo->ext_idx, ext); in bpf_object__relocate_data()
6118 prog->name, i, relo->type); in bpf_object__relocate_data()
6269 const struct reloc_desc *relo = elem; in cmp_relo_by_insn_idx() local
6271 if (insn_idx == relo->insn_idx) in cmp_relo_by_insn_idx()
6273 return insn_idx < relo->insn_idx ? -1 : 1; in cmp_relo_by_insn_idx()
6351 struct reloc_desc *relo; in bpf_object__reloc_code() local
6364 relo = find_prog_insn_relo(prog, insn_idx); in bpf_object__reloc_code()
6365 if (relo && relo->type == RELO_EXTERN_CALL) in bpf_object__reloc_code()
6370 if (relo && relo->type != RELO_CALL && relo->type != RELO_SUBPROG_ADDR) { in bpf_object__reloc_code()
6372 prog->name, insn_idx, relo->type); in bpf_object__reloc_code()
6375 if (relo) { in bpf_object__reloc_code()
6386 if (relo->type == RELO_CALL) in bpf_object__reloc_code()
6387 sub_insn_idx = relo->sym_off / BPF_INSN_SZ + insn->imm + 1; in bpf_object__reloc_code()
6389 sub_insn_idx = (relo->sym_off + insn->imm) / BPF_INSN_SZ; in bpf_object__reloc_code()
7029 struct reloc_desc *relo = &prog->reloc_desc[j]; in bpf_object__relocate() local
7030 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate()
7033 if (relo->type == RELO_SUBPROG_ADDR) in bpf_object__relocate()
7649 const struct bpf_core_relo *relo; in fixup_log_failed_core_relo() local
7657 relo = find_relo_core(prog, insn_idx); in fixup_log_failed_core_relo()
7658 if (!relo) in fixup_log_failed_core_relo()
7661 err = bpf_core_parse_spec(prog->name, prog->obj->btf, relo, &spec); in fixup_log_failed_core_relo()
7796 struct reloc_desc *relo = &prog->reloc_desc[i]; in bpf_program_record_relos() local
7797 struct extern_desc *ext = &obj->externs[relo->ext_idx]; in bpf_program_record_relos()
7800 switch (relo->type) { in bpf_program_record_relos()
7808 true, kind, relo->insn_idx); in bpf_program_record_relos()
7813 relo->insn_idx); in bpf_program_record_relos()
7817 .insn_off = relo->insn_idx * 8, in bpf_program_record_relos()
7818 .type_id = relo->core_relo->type_id, in bpf_program_record_relos()
7819 .access_str_off = relo->core_relo->access_str_off, in bpf_program_record_relos()
7820 .kind = relo->core_relo->kind, in bpf_program_record_relos()