Lines Matching refs:dbg

60 static int debuginfo__init_offline_dwarf(struct debuginfo *dbg,  in debuginfo__init_offline_dwarf()  argument
69 dbg->dwfl = dwfl_begin(&offline_callbacks); in debuginfo__init_offline_dwarf()
70 if (!dbg->dwfl) in debuginfo__init_offline_dwarf()
73 dwfl_report_begin(dbg->dwfl); in debuginfo__init_offline_dwarf()
74 dbg->mod = dwfl_report_offline(dbg->dwfl, "", "", fd); in debuginfo__init_offline_dwarf()
75 if (!dbg->mod) in debuginfo__init_offline_dwarf()
78 dbg->dbg = dwfl_module_getdwarf(dbg->mod, &dbg->bias); in debuginfo__init_offline_dwarf()
79 if (!dbg->dbg) in debuginfo__init_offline_dwarf()
82 dwfl_report_end(dbg->dwfl, NULL, NULL); in debuginfo__init_offline_dwarf()
86 if (dbg->dwfl) in debuginfo__init_offline_dwarf()
87 dwfl_end(dbg->dwfl); in debuginfo__init_offline_dwarf()
90 memset(dbg, 0, sizeof(*dbg)); in debuginfo__init_offline_dwarf()
97 struct debuginfo *dbg = zalloc(sizeof(*dbg)); in __debuginfo__new() local
98 if (!dbg) in __debuginfo__new()
101 if (debuginfo__init_offline_dwarf(dbg, path) < 0) in __debuginfo__new()
102 zfree(&dbg); in __debuginfo__new()
103 if (dbg) in __debuginfo__new()
105 return dbg; in __debuginfo__new()
143 void debuginfo__delete(struct debuginfo *dbg) in debuginfo__delete() argument
145 if (dbg) { in debuginfo__delete()
146 if (dbg->dwfl) in debuginfo__delete()
147 dwfl_end(dbg->dwfl); in debuginfo__delete()
148 free(dbg); in debuginfo__delete()
992 static int pubname_search_cb(Dwarf *dbg, Dwarf_Global *gl, void *data) in pubname_search_cb() argument
996 if (dwarf_offdie(dbg, gl->die_offset, param->sp_die)) { in pubname_search_cb()
1001 if (!dwarf_offdie(dbg, gl->cu_offset, param->cu_die)) in pubname_search_cb()
1017 static int debuginfo__find_probes(struct debuginfo *dbg, in debuginfo__find_probes() argument
1032 elf = dwarf_getelf(dbg->dbg); in debuginfo__find_probes()
1043 pf->cfi = dwarf_getcfi(dbg->dbg); in debuginfo__find_probes()
1065 dwarf_getpubnames(dbg->dbg, pubname_search_cb, in debuginfo__find_probes()
1075 while (!dwarf_nextcu(dbg->dbg, off, &noff, &cuhl, NULL, NULL, NULL)) { in debuginfo__find_probes()
1077 diep = dwarf_offdie(dbg->dbg, off + cuhl, &pf->cu_die); in debuginfo__find_probes()
1250 int debuginfo__find_trace_events(struct debuginfo *dbg, in debuginfo__find_trace_events() argument
1256 .max_tevs = probe_conf.max_probes, .mod = dbg->mod}; in debuginfo__find_trace_events()
1267 ret = debuginfo__find_probes(dbg, &tf.pf); in debuginfo__find_trace_events()
1388 int debuginfo__find_available_vars_at(struct debuginfo *dbg, in debuginfo__find_available_vars_at() argument
1394 .mod = dbg->mod, in debuginfo__find_available_vars_at()
1406 ret = debuginfo__find_probes(dbg, &af.pf); in debuginfo__find_available_vars_at()
1421 static int debuginfo__get_text_offset(struct debuginfo *dbg, Dwarf_Addr *offs) in debuginfo__get_text_offset() argument
1430 elf = dwfl_module_getelf(dbg->mod, &dbg->bias); in debuginfo__get_text_offset()
1435 n = dwfl_module_relocations(dbg->mod); in debuginfo__get_text_offset()
1440 p = dwfl_module_relocation_info(dbg->mod, i, &shndx); in debuginfo__get_text_offset()
1456 int debuginfo__find_probe_point(struct debuginfo *dbg, unsigned long addr, in debuginfo__find_probe_point() argument
1467 if (!dwarf_addrdie(dbg->dbg, (Dwarf_Addr)addr, &cudie)) { in debuginfo__find_probe_point()
1468 if (!reloc && debuginfo__get_text_offset(dbg, &baseaddr) == 0) { in debuginfo__find_probe_point()
1672 int debuginfo__find_line_range(struct debuginfo *dbg, struct line_range *lr) in debuginfo__find_line_range() argument
1689 dwarf_getpubnames(dbg->dbg, pubname_search_cb, in debuginfo__find_line_range()
1700 if (dwarf_nextcu(dbg->dbg, off, &noff, &cuhl, in debuginfo__find_line_range()
1705 diep = dwarf_offdie(dbg->dbg, off + cuhl, &lf.cu_die); in debuginfo__find_line_range()