Lines Matching refs:dbg

51 static int debuginfo__init_offline_dwarf(struct debuginfo *dbg,  in debuginfo__init_offline_dwarf()  argument
60 dbg->dwfl = dwfl_begin(&offline_callbacks); in debuginfo__init_offline_dwarf()
61 if (!dbg->dwfl) in debuginfo__init_offline_dwarf()
64 dwfl_report_begin(dbg->dwfl); in debuginfo__init_offline_dwarf()
65 dbg->mod = dwfl_report_offline(dbg->dwfl, "", "", fd); in debuginfo__init_offline_dwarf()
66 if (!dbg->mod) in debuginfo__init_offline_dwarf()
69 dbg->dbg = dwfl_module_getdwarf(dbg->mod, &dbg->bias); in debuginfo__init_offline_dwarf()
70 if (!dbg->dbg) in debuginfo__init_offline_dwarf()
73 dwfl_report_end(dbg->dwfl, NULL, NULL); in debuginfo__init_offline_dwarf()
77 if (dbg->dwfl) in debuginfo__init_offline_dwarf()
78 dwfl_end(dbg->dwfl); in debuginfo__init_offline_dwarf()
81 memset(dbg, 0, sizeof(*dbg)); in debuginfo__init_offline_dwarf()
88 struct debuginfo *dbg = zalloc(sizeof(*dbg)); in __debuginfo__new() local
89 if (!dbg) in __debuginfo__new()
92 if (debuginfo__init_offline_dwarf(dbg, path) < 0) in __debuginfo__new()
93 zfree(&dbg); in __debuginfo__new()
94 if (dbg) in __debuginfo__new()
96 return dbg; in __debuginfo__new()
134 void debuginfo__delete(struct debuginfo *dbg) in debuginfo__delete() argument
136 if (dbg) { in debuginfo__delete()
137 if (dbg->dwfl) in debuginfo__delete()
138 dwfl_end(dbg->dwfl); in debuginfo__delete()
139 free(dbg); in debuginfo__delete()
1046 static int pubname_search_cb(Dwarf *dbg, Dwarf_Global *gl, void *data) in pubname_search_cb() argument
1050 if (dwarf_offdie(dbg, gl->die_offset, param->sp_die)) { in pubname_search_cb()
1055 if (!dwarf_offdie(dbg, gl->cu_offset, param->cu_die)) in pubname_search_cb()
1070 static int debuginfo__find_probe_location(struct debuginfo *dbg, in debuginfo__find_probe_location() argument
1097 dwarf_getpubnames(dbg->dbg, pubname_search_cb, in debuginfo__find_probe_location()
1107 while (!dwarf_nextcu(dbg->dbg, off, &noff, &cuhl, NULL, NULL, NULL)) { in debuginfo__find_probe_location()
1109 diep = dwarf_offdie(dbg->dbg, off + cuhl, &pf->cu_die); in debuginfo__find_probe_location()
1142 static int debuginfo__find_probes(struct debuginfo *dbg, in debuginfo__find_probes() argument
1150 return debuginfo__find_probe_location(dbg, pf); in debuginfo__find_probes()
1153 elf = dwarf_getelf(dbg->dbg); in debuginfo__find_probes()
1170 pf->cfi_dbg = dwarf_getcfi(dbg->dbg); in debuginfo__find_probes()
1174 ret = debuginfo__find_probe_location(dbg, pf); in debuginfo__find_probes()
1338 int debuginfo__find_trace_events(struct debuginfo *dbg, in debuginfo__find_trace_events() argument
1344 .max_tevs = probe_conf.max_probes, .mod = dbg->mod}; in debuginfo__find_trace_events()
1355 ret = debuginfo__find_probes(dbg, &tf.pf); in debuginfo__find_trace_events()
1482 int debuginfo__find_available_vars_at(struct debuginfo *dbg, in debuginfo__find_available_vars_at() argument
1488 .mod = dbg->mod, in debuginfo__find_available_vars_at()
1500 ret = debuginfo__find_probes(dbg, &af.pf); in debuginfo__find_available_vars_at()
1515 int debuginfo__get_text_offset(struct debuginfo *dbg, Dwarf_Addr *offs, in debuginfo__get_text_offset() argument
1525 elf = dwfl_module_getelf(dbg->mod, &dbg->bias); in debuginfo__get_text_offset()
1530 n = dwfl_module_relocations(dbg->mod); in debuginfo__get_text_offset()
1535 p = dwfl_module_relocation_info(dbg->mod, i, &shndx); in debuginfo__get_text_offset()
1553 int debuginfo__find_probe_point(struct debuginfo *dbg, unsigned long addr, in debuginfo__find_probe_point() argument
1562 if (debuginfo__get_text_offset(dbg, &baseaddr, false) == 0) in debuginfo__find_probe_point()
1565 if (!dwarf_addrdie(dbg->dbg, (Dwarf_Addr)addr, &cudie)) { in debuginfo__find_probe_point()
1765 int debuginfo__find_line_range(struct debuginfo *dbg, struct line_range *lr) in debuginfo__find_line_range() argument
1782 dwarf_getpubnames(dbg->dbg, pubname_search_cb, in debuginfo__find_line_range()
1793 if (dwarf_nextcu(dbg->dbg, off, &noff, &cuhl, in debuginfo__find_line_range()
1798 diep = dwarf_offdie(dbg->dbg, off + cuhl, &lf.cu_die); in debuginfo__find_line_range()