Lines Matching defs:main_prog
6318 struct bpf_program *main_prog,
6332 if (main_prog != prog && !main_prog->func_info)
6336 &main_prog->func_info,
6337 &main_prog->func_info_cnt,
6338 &main_prog->func_info_rec_size);
6345 if (main_prog->func_info) {
6360 if (main_prog != prog && !main_prog->line_info)
6364 &main_prog->line_info,
6365 &main_prog->line_info_cnt,
6366 &main_prog->line_info_rec_size);
6373 if (main_prog->line_info) {
6406 static int append_subprog_relos(struct bpf_program *main_prog, struct bpf_program *subprog)
6408 int new_cnt = main_prog->nr_reloc + subprog->nr_reloc;
6412 if (main_prog == subprog)
6414 relos = libbpf_reallocarray(main_prog->reloc_desc, new_cnt, sizeof(*relos));
6422 memcpy(relos + main_prog->nr_reloc, subprog->reloc_desc,
6425 for (i = main_prog->nr_reloc; i < new_cnt; i++)
6430 main_prog->reloc_desc = relos;
6431 main_prog->nr_reloc = new_cnt;
6436 bpf_object__append_subprog_code(struct bpf_object *obj, struct bpf_program *main_prog,
6443 subprog->sub_insn_off = main_prog->insns_cnt;
6445 new_cnt = main_prog->insns_cnt + subprog->insns_cnt;
6446 insns = libbpf_reallocarray(main_prog->insns, new_cnt, sizeof(*insns));
6448 pr_warn("prog '%s': failed to realloc prog code\n", main_prog->name);
6451 main_prog->insns = insns;
6452 main_prog->insns_cnt = new_cnt;
6454 memcpy(main_prog->insns + subprog->sub_insn_off, subprog->insns,
6458 main_prog->name, subprog->insns_cnt, subprog->name);
6461 err = append_subprog_relos(main_prog, subprog);
6468 bpf_object__reloc_code(struct bpf_object *obj, struct bpf_program *main_prog,
6477 err = reloc_prog_func_and_line_info(obj, main_prog, prog);
6482 insn = &main_prog->insns[prog->sub_insn_off + insn_idx];
6549 err = bpf_object__append_subprog_code(obj, main_prog, subprog);
6552 err = bpf_object__reloc_code(obj, main_prog, subprog);
6557 /* main_prog->insns memory could have been re-allocated, so
6560 insn = &main_prog->insns[prog->sub_insn_off + insn_idx];