Lines Matching refs:main_prog
6120 struct bpf_program *main_prog, in reloc_prog_func_and_line_info() argument
6134 if (main_prog != prog && !main_prog->func_info) in reloc_prog_func_and_line_info()
6138 &main_prog->func_info, in reloc_prog_func_and_line_info()
6139 &main_prog->func_info_cnt, in reloc_prog_func_and_line_info()
6140 &main_prog->func_info_rec_size); in reloc_prog_func_and_line_info()
6147 if (main_prog->func_info) { in reloc_prog_func_and_line_info()
6162 if (main_prog != prog && !main_prog->line_info) in reloc_prog_func_and_line_info()
6166 &main_prog->line_info, in reloc_prog_func_and_line_info()
6167 &main_prog->line_info_cnt, in reloc_prog_func_and_line_info()
6168 &main_prog->line_info_rec_size); in reloc_prog_func_and_line_info()
6175 if (main_prog->line_info) { in reloc_prog_func_and_line_info()
6208 static int append_subprog_relos(struct bpf_program *main_prog, struct bpf_program *subprog) in append_subprog_relos() argument
6210 int new_cnt = main_prog->nr_reloc + subprog->nr_reloc; in append_subprog_relos()
6214 if (main_prog == subprog) in append_subprog_relos()
6216 relos = libbpf_reallocarray(main_prog->reloc_desc, new_cnt, sizeof(*relos)); in append_subprog_relos()
6224 memcpy(relos + main_prog->nr_reloc, subprog->reloc_desc, in append_subprog_relos()
6227 for (i = main_prog->nr_reloc; i < new_cnt; i++) in append_subprog_relos()
6232 main_prog->reloc_desc = relos; in append_subprog_relos()
6233 main_prog->nr_reloc = new_cnt; in append_subprog_relos()
6238 bpf_object__reloc_code(struct bpf_object *obj, struct bpf_program *main_prog, in bpf_object__reloc_code() argument
6247 err = reloc_prog_func_and_line_info(obj, main_prog, prog); in bpf_object__reloc_code()
6252 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; in bpf_object__reloc_code()
6319 subprog->sub_insn_off = main_prog->insns_cnt; in bpf_object__reloc_code()
6321 new_cnt = main_prog->insns_cnt + subprog->insns_cnt; in bpf_object__reloc_code()
6322 insns = libbpf_reallocarray(main_prog->insns, new_cnt, sizeof(*insns)); in bpf_object__reloc_code()
6324 pr_warn("prog '%s': failed to realloc prog code\n", main_prog->name); in bpf_object__reloc_code()
6327 main_prog->insns = insns; in bpf_object__reloc_code()
6328 main_prog->insns_cnt = new_cnt; in bpf_object__reloc_code()
6330 memcpy(main_prog->insns + subprog->sub_insn_off, subprog->insns, in bpf_object__reloc_code()
6334 main_prog->name, subprog->insns_cnt, subprog->name); in bpf_object__reloc_code()
6337 err = append_subprog_relos(main_prog, subprog); in bpf_object__reloc_code()
6340 err = bpf_object__reloc_code(obj, main_prog, subprog); in bpf_object__reloc_code()
6348 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; in bpf_object__reloc_code()