Lines Matching refs:subprog
6214 struct bpf_program *subprog; in bpf_object__reloc_code() local
6254 subprog = find_prog_by_sec_insn(obj, obj->efile.text_shndx, sub_insn_idx); in bpf_object__reloc_code()
6255 if (!subprog) { in bpf_object__reloc_code()
6271 if (subprog->sub_insn_off == 0) { in bpf_object__reloc_code()
6272 subprog->sub_insn_off = main_prog->insns_cnt; in bpf_object__reloc_code()
6274 new_cnt = main_prog->insns_cnt + subprog->insns_cnt; in bpf_object__reloc_code()
6283 memcpy(main_prog->insns + subprog->sub_insn_off, subprog->insns, in bpf_object__reloc_code()
6284 subprog->insns_cnt * sizeof(*insns)); in bpf_object__reloc_code()
6287 main_prog->name, subprog->insns_cnt, subprog->name); in bpf_object__reloc_code()
6289 err = bpf_object__reloc_code(obj, main_prog, subprog); in bpf_object__reloc_code()
6303 insn->imm = subprog->sub_insn_off - (prog->sub_insn_off + insn_idx) - 1; in bpf_object__reloc_code()
6309 prog->name, insn_idx, insn->imm, subprog->name, subprog->sub_insn_off); in bpf_object__reloc_code()
6399 struct bpf_program *subprog; in bpf_object__relocate_calls() local
6406 subprog = &obj->programs[i]; in bpf_object__relocate_calls()
6407 if (!prog_is_subprog(obj, subprog)) in bpf_object__relocate_calls()
6410 subprog->sub_insn_off = 0; in bpf_object__relocate_calls()
6411 for (j = 0; j < subprog->nr_reloc; j++) in bpf_object__relocate_calls()
6412 if (subprog->reloc_desc[j].type == RELO_CALL) in bpf_object__relocate_calls()
6413 subprog->reloc_desc[j].processed = false; in bpf_object__relocate_calls()