Lines Matching refs:relo

5562 	struct reloc_desc *relos, *relo;  in record_relo_core()  local
5568 relo = &relos[prog->nr_reloc]; in record_relo_core()
5569 relo->type = RELO_CORE; in record_relo_core()
5570 relo->insn_idx = insn_idx; in record_relo_core()
5571 relo->core_relo = core_relo; in record_relo_core()
5579 struct reloc_desc *relo; in find_relo_core() local
5583 relo = &prog->reloc_desc[i]; in find_relo_core()
5584 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx) in find_relo_core()
5587 return relo->core_relo; in find_relo_core()
5594 const struct bpf_core_relo *relo, in bpf_core_resolve_relo() argument
5601 const void *type_key = u32_as_hash_key(relo->type_id); in bpf_core_resolve_relo()
5606 __u32 local_id = relo->type_id; in bpf_core_resolve_relo()
5617 if (relo->kind != BPF_CORE_TYPE_ID_LOCAL && in bpf_core_resolve_relo()
5633 return bpf_core_calc_relo_insn(prog_name, relo, relo_idx, local_btf, cands, specs_scratch, in bpf_core_resolve_relo()
5797 struct reloc_desc *relo = &prog->reloc_desc[i]; in bpf_object__relocate_data() local
5798 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate_data()
5802 switch (relo->type) { in bpf_object__relocate_data()
5804 map = &obj->maps[relo->map_idx]; in bpf_object__relocate_data()
5807 insn[0].imm = relo->map_idx; in bpf_object__relocate_data()
5812 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
5813 relo->map_idx, map); in bpf_object__relocate_data()
5817 map = &obj->maps[relo->map_idx]; in bpf_object__relocate_data()
5818 insn[1].imm = insn[0].imm + relo->sym_off; in bpf_object__relocate_data()
5821 insn[0].imm = relo->map_idx; in bpf_object__relocate_data()
5826 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
5827 relo->map_idx, map); in bpf_object__relocate_data()
5831 ext = &obj->externs[relo->sym_off]; in bpf_object__relocate_data()
5853 ext = &obj->externs[relo->sym_off]; in bpf_object__relocate_data()
5879 prog->name, i, relo->type); in bpf_object__relocate_data()
6030 const struct reloc_desc *relo = elem; in cmp_relo_by_insn_idx() local
6032 if (insn_idx == relo->insn_idx) in cmp_relo_by_insn_idx()
6034 return insn_idx < relo->insn_idx ? -1 : 1; in cmp_relo_by_insn_idx()
6077 struct reloc_desc *relo; in bpf_object__reloc_code() local
6089 relo = find_prog_insn_relo(prog, insn_idx); in bpf_object__reloc_code()
6090 if (relo && relo->type == RELO_EXTERN_FUNC) in bpf_object__reloc_code()
6095 if (relo && relo->type != RELO_CALL && relo->type != RELO_SUBPROG_ADDR) { in bpf_object__reloc_code()
6097 prog->name, insn_idx, relo->type); in bpf_object__reloc_code()
6100 if (relo) { in bpf_object__reloc_code()
6111 if (relo->type == RELO_CALL) in bpf_object__reloc_code()
6112 sub_insn_idx = relo->sym_off / BPF_INSN_SZ + insn->imm + 1; in bpf_object__reloc_code()
6114 sub_insn_idx = (relo->sym_off + insn->imm) / BPF_INSN_SZ; in bpf_object__reloc_code()
6371 struct reloc_desc *relo = &prog->reloc_desc[j]; in bpf_object__relocate() local
6372 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate()
6375 if (relo->type == RELO_SUBPROG_ADDR) in bpf_object__relocate()
6938 const struct bpf_core_relo *relo; in fixup_log_failed_core_relo() local
6946 relo = find_relo_core(prog, insn_idx); in fixup_log_failed_core_relo()
6947 if (!relo) in fixup_log_failed_core_relo()
6950 err = bpf_core_parse_spec(prog->name, prog->obj->btf, relo, &spec); in fixup_log_failed_core_relo()
7042 struct reloc_desc *relo = &prog->reloc_desc[i]; in bpf_program_record_relos() local
7043 struct extern_desc *ext = &obj->externs[relo->sym_off]; in bpf_program_record_relos()
7045 switch (relo->type) { in bpf_program_record_relos()
7051 BTF_KIND_VAR, relo->insn_idx); in bpf_program_record_relos()
7056 relo->insn_idx); in bpf_program_record_relos()
7060 .insn_off = relo->insn_idx * 8, in bpf_program_record_relos()
7061 .type_id = relo->core_relo->type_id, in bpf_program_record_relos()
7062 .access_str_off = relo->core_relo->access_str_off, in bpf_program_record_relos()
7063 .kind = relo->core_relo->kind, in bpf_program_record_relos()