Lines Matching refs:subprog

5509 static int append_subprog_relos(struct bpf_program *main_prog, struct bpf_program *subprog)  in append_subprog_relos()  argument
5511 int new_cnt = main_prog->nr_reloc + subprog->nr_reloc; in append_subprog_relos()
5515 if (main_prog == subprog) in append_subprog_relos()
5520 memcpy(relos + main_prog->nr_reloc, subprog->reloc_desc, in append_subprog_relos()
5521 sizeof(*relos) * subprog->nr_reloc); in append_subprog_relos()
5524 relos[i].insn_idx += subprog->sub_insn_off; in append_subprog_relos()
5538 struct bpf_program *subprog; in bpf_object__reloc_code() local
5597 subprog = find_prog_by_sec_insn(obj, obj->efile.text_shndx, sub_insn_idx); in bpf_object__reloc_code()
5598 if (!subprog) { in bpf_object__reloc_code()
5614 if (subprog->sub_insn_off == 0) { in bpf_object__reloc_code()
5615 subprog->sub_insn_off = main_prog->insns_cnt; in bpf_object__reloc_code()
5617 new_cnt = main_prog->insns_cnt + subprog->insns_cnt; in bpf_object__reloc_code()
5626 memcpy(main_prog->insns + subprog->sub_insn_off, subprog->insns, in bpf_object__reloc_code()
5627 subprog->insns_cnt * sizeof(*insns)); in bpf_object__reloc_code()
5630 main_prog->name, subprog->insns_cnt, subprog->name); in bpf_object__reloc_code()
5633 err = append_subprog_relos(main_prog, subprog); in bpf_object__reloc_code()
5636 err = bpf_object__reloc_code(obj, main_prog, subprog); in bpf_object__reloc_code()
5650 insn->imm = subprog->sub_insn_off - (prog->sub_insn_off + insn_idx) - 1; in bpf_object__reloc_code()
5653 prog->name, insn_idx, insn->imm, subprog->name, subprog->sub_insn_off); in bpf_object__reloc_code()
5743 struct bpf_program *subprog; in bpf_object__relocate_calls() local
5750 subprog = &obj->programs[i]; in bpf_object__relocate_calls()
5751 if (!prog_is_subprog(obj, subprog)) in bpf_object__relocate_calls()
5754 subprog->sub_insn_off = 0; in bpf_object__relocate_calls()