Lines Matching refs:main_prog
5423 struct bpf_program *main_prog, in reloc_prog_func_and_line_info() argument
5437 if (main_prog != prog && !main_prog->func_info) in reloc_prog_func_and_line_info()
5441 &main_prog->func_info, in reloc_prog_func_and_line_info()
5442 &main_prog->func_info_cnt, in reloc_prog_func_and_line_info()
5443 &main_prog->func_info_rec_size); in reloc_prog_func_and_line_info()
5450 if (main_prog->func_info) { in reloc_prog_func_and_line_info()
5465 if (main_prog != prog && !main_prog->line_info) in reloc_prog_func_and_line_info()
5469 &main_prog->line_info, in reloc_prog_func_and_line_info()
5470 &main_prog->line_info_cnt, in reloc_prog_func_and_line_info()
5471 &main_prog->line_info_rec_size); in reloc_prog_func_and_line_info()
5478 if (main_prog->line_info) { in reloc_prog_func_and_line_info()
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()
5517 relos = libbpf_reallocarray(main_prog->reloc_desc, new_cnt, sizeof(*relos)); in append_subprog_relos()
5520 memcpy(relos + main_prog->nr_reloc, subprog->reloc_desc, in append_subprog_relos()
5523 for (i = main_prog->nr_reloc; i < new_cnt; i++) in append_subprog_relos()
5528 main_prog->reloc_desc = relos; in append_subprog_relos()
5529 main_prog->nr_reloc = new_cnt; in append_subprog_relos()
5534 bpf_object__reloc_code(struct bpf_object *obj, struct bpf_program *main_prog, in bpf_object__reloc_code() argument
5543 err = reloc_prog_func_and_line_info(obj, main_prog, prog); in bpf_object__reloc_code()
5548 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; 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()
5618 insns = libbpf_reallocarray(main_prog->insns, new_cnt, sizeof(*insns)); in bpf_object__reloc_code()
5620 pr_warn("prog '%s': failed to realloc prog code\n", main_prog->name); in bpf_object__reloc_code()
5623 main_prog->insns = insns; in bpf_object__reloc_code()
5624 main_prog->insns_cnt = new_cnt; in bpf_object__reloc_code()
5626 memcpy(main_prog->insns + subprog->sub_insn_off, subprog->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()
5644 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; in bpf_object__reloc_code()