Lines Matching defs:dbg
32 _dwarf_consumer_init(Dwarf_Debug dbg, Dwarf_Error *error)
41 assert(dbg != NULL);
42 assert(dbg->dbg_iface != NULL);
44 m = dbg->dbg_iface->methods;
45 obj = dbg->dbg_iface->object;
51 dbg->read = _dwarf_read_msb;
52 dbg->write = _dwarf_write_msb;
53 dbg->decode = _dwarf_decode_msb;
55 dbg->read = _dwarf_read_lsb;
56 dbg->write = _dwarf_write_lsb;
57 dbg->decode = _dwarf_decode_lsb;
60 dbg->dbg_pointer_size = m->get_pointer_size(obj);
61 dbg->dbg_offset_size = m->get_length_size(obj);
66 DWARF_SET_ERROR(dbg, error, DW_DLE_DEBUG_INFO_NULL);
70 dbg->dbg_seccnt = cnt;
72 if ((dbg->dbg_section = calloc(cnt + 1, sizeof(Dwarf_Section))) ==
74 DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY);
80 DWARF_SET_ERROR(dbg, error, ret);
84 dbg->dbg_section[i].ds_addr = sec.addr;
85 dbg->dbg_section[i].ds_size = sec.size;
86 dbg->dbg_section[i].ds_name = sec.name;
88 if (m->load_section(obj, i, &dbg->dbg_section[i].ds_data, &ret)
90 DWARF_SET_ERROR(dbg, error, ret);
94 dbg->dbg_section[cnt].ds_name = NULL;
96 dbg->dbg_info_sec = _dwarf_find_section(dbg, ".debug_info");
99 dbg->dbg_types_sec = _dwarf_find_next_types_section(dbg, NULL);
102 _dwarf_frame_params_init(dbg);
108 _dwarf_producer_init(Dwarf_Debug dbg, Dwarf_Unsigned pf, Dwarf_Error *error)
112 dbg->dbg_offset_size = 4;
115 DWARF_SET_ERROR(dbg, error, DW_DLE_ARGUMENT);
123 dbg->dbg_pointer_size = 8;
125 dbg->dbg_pointer_size = 4;
128 DWARF_SET_ERROR(dbg, error, DW_DLE_ARGUMENT);
133 dbg->dbgp_isa = DW_ISA_IA64;
135 dbg->dbgp_isa = DW_ISA_MIPS;
138 DWARF_SET_ERROR(dbg, error, DW_DLE_ARGUMENT);
152 dbg->write = _dwarf_write_msb;
153 dbg->write_alloc = _dwarf_write_msb_alloc;
155 dbg->write = _dwarf_write_lsb;
156 dbg->write_alloc = _dwarf_write_lsb_alloc;
162 DWARF_SET_ERROR(dbg, error, DW_DLE_ARGUMENT);
170 dbg->dbgp_flags = pf;
172 STAILQ_INIT(&dbg->dbgp_dielist);
173 STAILQ_INIT(&dbg->dbgp_pelist);
174 STAILQ_INIT(&dbg->dbgp_seclist);
175 STAILQ_INIT(&dbg->dbgp_drslist);
176 STAILQ_INIT(&dbg->dbgp_cielist);
177 STAILQ_INIT(&dbg->dbgp_fdelist);
179 if ((dbg->dbgp_lineinfo = calloc(1, sizeof(struct _Dwarf_LineInfo))) ==
181 DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY);
184 STAILQ_INIT(&dbg->dbgp_lineinfo->li_lflist);
185 STAILQ_INIT(&dbg->dbgp_lineinfo->li_lnlist);
187 if ((dbg->dbgp_as = calloc(1, sizeof(struct _Dwarf_ArangeSet))) ==
189 DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY);
192 STAILQ_INIT(&dbg->dbgp_as->as_arlist);
198 _dwarf_init(Dwarf_Debug dbg, Dwarf_Unsigned pro_flags, Dwarf_Handler errhand,
209 dbg->dbg_errhand = errhand;
210 dbg->dbg_errarg = errarg;
212 STAILQ_INIT(&dbg->dbg_cu);
213 STAILQ_INIT(&dbg->dbg_tu);
214 STAILQ_INIT(&dbg->dbg_rllist);
215 STAILQ_INIT(&dbg->dbg_aslist);
216 STAILQ_INIT(&dbg->dbg_mslist);
218 if (dbg->dbg_mode == DW_DLC_READ || dbg->dbg_mode == DW_DLC_RDWR) {
219 ret = _dwarf_consumer_init(dbg, error);
221 _dwarf_deinit(dbg);
226 if (dbg->dbg_mode == DW_DLC_WRITE) {
227 ret = _dwarf_producer_init(dbg, pro_flags, error);
229 _dwarf_deinit(dbg);
237 if ((ret = _dwarf_strtab_init(dbg, error)) != DW_DLE_NONE)
244 _dwarf_producer_deinit(Dwarf_P_Debug dbg)
247 assert(dbg != NULL && dbg->dbg_mode == DW_DLC_WRITE);
249 _dwarf_info_pro_cleanup(dbg);
250 _dwarf_die_pro_cleanup(dbg);
251 _dwarf_expr_cleanup(dbg);
252 _dwarf_lineno_pro_cleanup(dbg);
253 _dwarf_frame_pro_cleanup(dbg);
254 _dwarf_arange_pro_cleanup(dbg);
255 _dwarf_macinfo_pro_cleanup(dbg);
256 _dwarf_strtab_cleanup(dbg);
257 _dwarf_nametbl_pro_cleanup(&dbg->dbgp_pubs);
258 _dwarf_nametbl_pro_cleanup(&dbg->dbgp_weaks);
259 _dwarf_nametbl_pro_cleanup(&dbg->dbgp_funcs);
260 _dwarf_nametbl_pro_cleanup(&dbg->dbgp_types);
261 _dwarf_nametbl_pro_cleanup(&dbg->dbgp_vars);
262 _dwarf_section_cleanup(dbg);
263 _dwarf_reloc_cleanup(dbg);
267 _dwarf_consumer_deinit(Dwarf_Debug dbg)
270 assert(dbg != NULL && dbg->dbg_mode == DW_DLC_READ);
272 _dwarf_info_cleanup(dbg);
273 _dwarf_ranges_cleanup(dbg);
274 _dwarf_frame_cleanup(dbg);
275 _dwarf_arange_cleanup(dbg);
276 _dwarf_macinfo_cleanup(dbg);
277 _dwarf_strtab_cleanup(dbg);
278 _dwarf_nametbl_cleanup(&dbg->dbg_globals);
279 _dwarf_nametbl_cleanup(&dbg->dbg_pubtypes);
280 _dwarf_nametbl_cleanup(&dbg->dbg_weaks);
281 _dwarf_nametbl_cleanup(&dbg->dbg_funcs);
282 _dwarf_nametbl_cleanup(&dbg->dbg_vars);
283 _dwarf_nametbl_cleanup(&dbg->dbg_types);
285 free(dbg->dbg_section);
289 _dwarf_deinit(Dwarf_Debug dbg)
292 assert(dbg != NULL);
294 if (dbg->dbg_mode == DW_DLC_READ)
295 _dwarf_consumer_deinit(dbg);
296 else if (dbg->dbg_mode == DW_DLC_WRITE)
297 _dwarf_producer_deinit(dbg);
303 Dwarf_Debug dbg;
305 if ((dbg = calloc(1, sizeof(struct _Dwarf_Debug))) == NULL) {
306 DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY);
310 dbg->dbg_mode = mode;
312 *ret_dbg = dbg;