Lines Matching full:dd

26 void kernel_syms_load(struct dump_data *dd)
38 tmp = libbpf_reallocarray(dd->sym_mapping, dd->sym_count + 1,
39 sizeof(*dd->sym_mapping));
42 free(dd->sym_mapping);
43 dd->sym_mapping = NULL;
47 dd->sym_mapping = tmp;
48 sym = &dd->sym_mapping[dd->sym_count];
57 dd->address_call_base = sym->address;
63 dd->sym_count++;
68 qsort(dd->sym_mapping, dd->sym_count,
69 sizeof(*dd->sym_mapping), kernel_syms_cmp);
72 void kernel_syms_destroy(struct dump_data *dd)
74 free(dd->sym_mapping);
77 struct kernel_sym *kernel_syms_search(struct dump_data *dd,
84 return dd->sym_mapping ?
85 bsearch(&sym, dd->sym_mapping, dd->sym_count,
86 sizeof(*dd->sym_mapping), kernel_syms_cmp) : NULL;
145 static const char *print_call_pcrel(struct dump_data *dd,
150 if (!dd->nr_jited_ksyms)
152 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
155 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
158 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
160 return dd->scratch_buff;
163 static const char *print_call_helper(struct dump_data *dd,
168 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
171 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
173 return dd->scratch_buff;
179 struct dump_data *dd = private_data;
180 unsigned long address = dd->address_call_base + insn->imm;
184 (__u32) insn->imm < dd->nr_jited_ksyms && dd->jited_ksyms)
185 address = dd->jited_ksyms[insn->imm];
187 sym = kernel_syms_search(dd, address);
189 return print_call_pcrel(dd, sym, address, insn);
191 return print_call_helper(dd, sym, address);
198 struct dump_data *dd = private_data;
201 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
204 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
207 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
210 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
213 snprintf(dd->scratch_buff, sizeof(dd->scratch_buff),
215 return dd->scratch_buff;
218 void dump_xlated_json(struct dump_data *dd, void *buf, unsigned int len,
221 const struct bpf_prog_linfo *prog_linfo = dd->prog_linfo;
226 .private_data = dd,
230 struct btf *btf = dd->btf;
237 record = dd->func_info;
256 record = (void *)record + dd->finfo_rec_size;
303 void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len,
306 const struct bpf_prog_linfo *prog_linfo = dd->prog_linfo;
311 .private_data = dd,
315 struct btf *btf = dd->btf;
321 record = dd->func_info;
335 record = (void *)record + dd->finfo_rec_size;
367 void dump_xlated_for_graph(struct dump_data *dd, void *buf_start, void *buf_end,
375 .private_data = dd,
377 const struct bpf_prog_linfo *prog_linfo = dd->prog_linfo;
379 struct bpf_func_info *record = dd->func_info;
383 struct btf *btf = dd->btf;
404 record = (void *)record + dd->finfo_rec_size;