Lines Matching refs:dbg

33 _dwarf_info_first_cu(Dwarf_Debug dbg, Dwarf_Error *error)  in _dwarf_info_first_cu()  argument
38 assert(dbg->dbg_cu_current == NULL); in _dwarf_info_first_cu()
39 cu = STAILQ_FIRST(&dbg->dbg_cu); in _dwarf_info_first_cu()
41 dbg->dbg_cu_current = cu; in _dwarf_info_first_cu()
45 if (dbg->dbg_info_loaded) in _dwarf_info_first_cu()
48 dbg->dbg_info_off = 0; in _dwarf_info_first_cu()
49 ret = _dwarf_info_load(dbg, 0, 1, error); in _dwarf_info_first_cu()
53 dbg->dbg_cu_current = STAILQ_FIRST(&dbg->dbg_cu); in _dwarf_info_first_cu()
59 _dwarf_info_first_tu(Dwarf_Debug dbg, Dwarf_Error *error) in _dwarf_info_first_tu() argument
64 assert(dbg->dbg_tu_current == NULL); in _dwarf_info_first_tu()
65 tu = STAILQ_FIRST(&dbg->dbg_tu); in _dwarf_info_first_tu()
67 dbg->dbg_tu_current = tu; in _dwarf_info_first_tu()
71 if (dbg->dbg_types_loaded) in _dwarf_info_first_tu()
74 dbg->dbg_types_off = 0; in _dwarf_info_first_tu()
75 ret = _dwarf_info_load(dbg, 0, 0, error); in _dwarf_info_first_tu()
79 dbg->dbg_tu_current = STAILQ_FIRST(&dbg->dbg_tu); in _dwarf_info_first_tu()
85 _dwarf_info_next_cu(Dwarf_Debug dbg, Dwarf_Error *error) in _dwarf_info_next_cu() argument
90 assert(dbg->dbg_cu_current != NULL); in _dwarf_info_next_cu()
91 cu = STAILQ_NEXT(dbg->dbg_cu_current, cu_next); in _dwarf_info_next_cu()
93 dbg->dbg_cu_current = cu; in _dwarf_info_next_cu()
97 if (dbg->dbg_info_loaded) { in _dwarf_info_next_cu()
98 dbg->dbg_cu_current = NULL; in _dwarf_info_next_cu()
102 ret = _dwarf_info_load(dbg, 0, 1, error); in _dwarf_info_next_cu()
106 dbg->dbg_cu_current = STAILQ_NEXT(dbg->dbg_cu_current, cu_next); in _dwarf_info_next_cu()
112 _dwarf_info_next_tu(Dwarf_Debug dbg, Dwarf_Error *error) in _dwarf_info_next_tu() argument
117 assert(dbg->dbg_tu_current != NULL); in _dwarf_info_next_tu()
118 cu = STAILQ_NEXT(dbg->dbg_tu_current, cu_next); in _dwarf_info_next_tu()
120 dbg->dbg_tu_current = cu; in _dwarf_info_next_tu()
124 if (dbg->dbg_types_loaded) { in _dwarf_info_next_tu()
125 dbg->dbg_tu_current = NULL; in _dwarf_info_next_tu()
129 ret = _dwarf_info_load(dbg, 0, 0, error); in _dwarf_info_next_tu()
133 dbg->dbg_tu_current = STAILQ_NEXT(dbg->dbg_tu_current, cu_next); in _dwarf_info_next_tu()
139 _dwarf_info_load(Dwarf_Debug dbg, Dwarf_Bool load_all, Dwarf_Bool is_info, in _dwarf_info_load() argument
152 if (dbg->dbg_info_loaded) in _dwarf_info_load()
154 offset = dbg->dbg_info_off; in _dwarf_info_load()
155 ds = dbg->dbg_info_sec; in _dwarf_info_load()
159 if (dbg->dbg_types_loaded) in _dwarf_info_load()
161 offset = dbg->dbg_types_off; in _dwarf_info_load()
162 ds = dbg->dbg_types_sec; in _dwarf_info_load()
169 DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY); in _dwarf_info_load()
173 cu->cu_dbg = dbg; in _dwarf_info_load()
177 length = dbg->read(ds->ds_data, &offset, 4); in _dwarf_info_load()
179 length = dbg->read(ds->ds_data, &offset, 8); in _dwarf_info_load()
192 DWARF_SET_ERROR(dbg, error, DW_DLE_CU_LENGTH_ERROR); in _dwarf_info_load()
199 dbg->dbg_info_off = next_offset; in _dwarf_info_load()
201 dbg->dbg_types_off = next_offset; in _dwarf_info_load()
206 cu->cu_version = dbg->read(ds->ds_data, &offset, 2); in _dwarf_info_load()
207 cu->cu_abbrev_offset = dbg->read(ds->ds_data, &offset, in _dwarf_info_load()
210 cu->cu_pointer_size = dbg->read(ds->ds_data, &offset, 1); in _dwarf_info_load()
218 cu->cu_type_offset = dbg->read(ds->ds_data, &offset, in _dwarf_info_load()
224 STAILQ_INSERT_TAIL(&dbg->dbg_cu, cu, cu_next); in _dwarf_info_load()
226 STAILQ_INSERT_TAIL(&dbg->dbg_tu, cu, cu_next); in _dwarf_info_load()
229 DWARF_SET_ERROR(dbg, error, DW_DLE_VERSION_STAMP_ERROR); in _dwarf_info_load()
243 if ((Dwarf_Unsigned) dbg->dbg_info_off >= ds->ds_size) in _dwarf_info_load()
244 dbg->dbg_info_loaded = 1; in _dwarf_info_load()
246 if ((Dwarf_Unsigned) dbg->dbg_types_off >= ds->ds_size) in _dwarf_info_load()
247 dbg->dbg_types_loaded = 1; in _dwarf_info_load()
254 _dwarf_info_cleanup(Dwarf_Debug dbg) in _dwarf_info_cleanup() argument
258 assert(dbg != NULL && dbg->dbg_mode == DW_DLC_READ); in _dwarf_info_cleanup()
260 STAILQ_FOREACH_SAFE(cu, &dbg->dbg_cu, cu_next, tcu) { in _dwarf_info_cleanup()
261 STAILQ_REMOVE(&dbg->dbg_cu, cu, _Dwarf_CU, cu_next); in _dwarf_info_cleanup()
270 _dwarf_type_unit_cleanup(dbg); in _dwarf_info_cleanup()
274 _dwarf_type_unit_cleanup(Dwarf_Debug dbg) in _dwarf_type_unit_cleanup() argument
278 assert(dbg != NULL && dbg->dbg_mode == DW_DLC_READ); in _dwarf_type_unit_cleanup()
280 STAILQ_FOREACH_SAFE(cu, &dbg->dbg_tu, cu_next, tcu) { in _dwarf_type_unit_cleanup()
281 STAILQ_REMOVE(&dbg->dbg_tu, cu, _Dwarf_CU, cu_next); in _dwarf_type_unit_cleanup()
288 _dwarf_info_gen(Dwarf_P_Debug dbg, Dwarf_Error *error) in _dwarf_info_gen() argument
296 assert(dbg != NULL && dbg->write_alloc != NULL); in _dwarf_info_gen()
298 if (dbg->dbgp_root_die == NULL) in _dwarf_info_gen()
303 DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY); in _dwarf_info_gen()
306 cu->cu_dbg = dbg; in _dwarf_info_gen()
308 cu->cu_pointer_size = dbg->dbg_pointer_size; in _dwarf_info_gen()
309 STAILQ_INSERT_TAIL(&dbg->dbg_cu, cu, cu_next); in _dwarf_info_gen()
312 if ((ret = _dwarf_section_init(dbg, &dbg->dbgp_info, ".debug_info", 0, in _dwarf_info_gen()
315 ds = dbg->dbgp_info; in _dwarf_info_gen()
318 if ((ret = _dwarf_reloc_section_init(dbg, &drs, ds, error)) != in _dwarf_info_gen()
332 RCHECK(_dwarf_reloc_entry_add(dbg, drs, ds, dwarf_drt_data_reloc, 4, in _dwarf_info_gen()
339 RCHECK(_dwarf_die_gen(dbg, cu, drs, error)); in _dwarf_info_gen()
344 dbg->write(ds->ds_data, &offset, cu->cu_length, 4); in _dwarf_info_gen()
347 RCHECK(_dwarf_section_callback(dbg, ds, SHT_PROGBITS, 0, 0, 0, error)); in _dwarf_info_gen()
353 RCHECK(_dwarf_reloc_section_finalize(dbg, drs, error)); in _dwarf_info_gen()
358 _dwarf_reloc_section_free(dbg, &drs); in _dwarf_info_gen()
361 _dwarf_section_free(dbg, &dbg->dbgp_info); in _dwarf_info_gen()
364 STAILQ_REMOVE(&dbg->dbg_cu, cu, _Dwarf_CU, cu_next); in _dwarf_info_gen()
371 _dwarf_info_pro_cleanup(Dwarf_P_Debug dbg) in _dwarf_info_pro_cleanup() argument
375 assert(dbg != NULL && dbg->dbg_mode == DW_DLC_WRITE); in _dwarf_info_pro_cleanup()
377 cu = STAILQ_FIRST(&dbg->dbg_cu); in _dwarf_info_pro_cleanup()
379 STAILQ_REMOVE(&dbg->dbg_cu, cu, _Dwarf_CU, cu_next); in _dwarf_info_pro_cleanup()