Lines Matching +full:jd +full:- +full:src

1 /*-
2 * Copyright (c) 2009-2011,2014 Kai Wang
29 ELFTC_VCSID("$Id: libdwarf_frame.c 3589 2018-03-13 20:34:33Z kaiwang27 $");
37 STAILQ_FOREACH(cie, &fs->fs_cielist, cie_next) { in _dwarf_frame_find_cie()
38 if (cie->cie_offset == offset) in _dwarf_frame_find_cie()
66 *val = dbg->read(data, offsetp, cie->cie_addrsize); in _dwarf_frame_read_lsb_encoded()
72 *val = dbg->read(data, offsetp, 2); in _dwarf_frame_read_lsb_encoded()
75 *val = dbg->read(data, offsetp, 4); in _dwarf_frame_read_lsb_encoded()
78 *val = dbg->read(data, offsetp, 8); in _dwarf_frame_read_lsb_encoded()
84 *val = (int16_t) dbg->read(data, offsetp, 2); in _dwarf_frame_read_lsb_encoded()
87 *val = (int32_t) dbg->read(data, offsetp, 4); in _dwarf_frame_read_lsb_encoded()
90 *val = dbg->read(data, offsetp, 8); in _dwarf_frame_read_lsb_encoded()
134 assert(cie->cie_augment != NULL && *cie->cie_augment == 'z'); in _dwarf_frame_parse_lsb_cie_augment()
141 aug_p = &cie->cie_augment[1]; in _dwarf_frame_parse_lsb_cie_augment()
142 augdata_p = cie->cie_augdata; in _dwarf_frame_parse_lsb_cie_augment()
162 cie->cie_fde_encode = *augdata_p++; in _dwarf_frame_parse_lsb_cie_augment()
186 *off += cie->cie_length + 4; in _dwarf_frame_add_cie()
194 STAILQ_INSERT_TAIL(&fs->fs_cielist, cie, cie_next); in _dwarf_frame_add_cie()
196 cie->cie_dbg = dbg; in _dwarf_frame_add_cie()
197 cie->cie_index = fs->fs_cielen; in _dwarf_frame_add_cie()
198 cie->cie_offset = *off; in _dwarf_frame_add_cie()
200 length = dbg->read(ds->ds_data, off, 4); in _dwarf_frame_add_cie()
203 length = dbg->read(ds->ds_data, off, 8); in _dwarf_frame_add_cie()
207 if (length > ds->ds_size - *off) { in _dwarf_frame_add_cie()
212 (void) dbg->read(ds->ds_data, off, dwarf_size); /* Skip CIE id. */ in _dwarf_frame_add_cie()
213 cie->cie_length = length; in _dwarf_frame_add_cie()
215 cie->cie_version = dbg->read(ds->ds_data, off, 1); in _dwarf_frame_add_cie()
216 if (cie->cie_version != 1 && cie->cie_version != 3 && in _dwarf_frame_add_cie()
217 cie->cie_version != 4) { in _dwarf_frame_add_cie()
222 cie->cie_augment = ds->ds_data + *off; in _dwarf_frame_add_cie()
223 p = (char *) ds->ds_data; in _dwarf_frame_add_cie()
228 if (*cie->cie_augment != 0 && *cie->cie_augment != 'z') { in _dwarf_frame_add_cie()
229 *off = cie->cie_offset + ((dwarf_size == 4) ? 4 : 12) + in _dwarf_frame_add_cie()
230 cie->cie_length; in _dwarf_frame_add_cie()
235 if (strstr((char *)cie->cie_augment, "eh") != NULL) in _dwarf_frame_add_cie()
236 cie->cie_ehdata = dbg->read(ds->ds_data, off, in _dwarf_frame_add_cie()
237 dbg->dbg_pointer_size); in _dwarf_frame_add_cie()
240 if (cie->cie_version == 4) { in _dwarf_frame_add_cie()
241 cie->cie_addrsize = dbg->read(ds->ds_data, off, 1); in _dwarf_frame_add_cie()
242 cie->cie_segmentsize = dbg->read(ds->ds_data, off, 1); in _dwarf_frame_add_cie()
248 cie->cie_addrsize = dbg->dbg_pointer_size; in _dwarf_frame_add_cie()
251 cie->cie_caf = _dwarf_read_uleb128(ds->ds_data, off); in _dwarf_frame_add_cie()
252 cie->cie_daf = _dwarf_read_sleb128(ds->ds_data, off); in _dwarf_frame_add_cie()
255 if (cie->cie_version == 1) in _dwarf_frame_add_cie()
256 cie->cie_ra = dbg->read(ds->ds_data, off, 1); in _dwarf_frame_add_cie()
258 cie->cie_ra = _dwarf_read_uleb128(ds->ds_data, off); in _dwarf_frame_add_cie()
261 if (*cie->cie_augment == 'z') { in _dwarf_frame_add_cie()
262 cie->cie_auglen = _dwarf_read_uleb128(ds->ds_data, off); in _dwarf_frame_add_cie()
263 cie->cie_augdata = ds->ds_data + *off; in _dwarf_frame_add_cie()
264 *off += cie->cie_auglen; in _dwarf_frame_add_cie()
270 cie->cie_fde_encode = DW_EH_PE_absptr; in _dwarf_frame_add_cie()
277 cie->cie_initinst = ds->ds_data + *off; in _dwarf_frame_add_cie()
279 cie->cie_instlen = cie->cie_offset + 4 + length - *off; in _dwarf_frame_add_cie()
281 cie->cie_instlen = cie->cie_offset + 12 + length - *off; in _dwarf_frame_add_cie()
283 *off += cie->cie_instlen; in _dwarf_frame_add_cie()
288 " cie_instlen=%ju cie->cie_caf=%ju cie->cie_daf=%jd off=%ju\n", in _dwarf_frame_add_cie()
289 cie->cie_version, cie->cie_offset, cie->cie_length, in _dwarf_frame_add_cie()
290 (char *)cie->cie_augment, cie->cie_instlen, cie->cie_caf, in _dwarf_frame_add_cie()
291 cie->cie_daf, *off); in _dwarf_frame_add_cie()
297 fs->fs_cielen++; in _dwarf_frame_add_cie()
316 STAILQ_INSERT_TAIL(&fs->fs_fdelist, fde, fde_next); in _dwarf_frame_add_fde()
318 fde->fde_dbg = dbg; in _dwarf_frame_add_fde()
319 fde->fde_fs = fs; in _dwarf_frame_add_fde()
320 fde->fde_addr = ds->ds_data + *off; in _dwarf_frame_add_fde()
321 fde->fde_offset = *off; in _dwarf_frame_add_fde()
323 length = dbg->read(ds->ds_data, off, 4); in _dwarf_frame_add_fde()
326 length = dbg->read(ds->ds_data, off, 8); in _dwarf_frame_add_fde()
330 if (length > ds->ds_size - *off) { in _dwarf_frame_add_fde()
335 fde->fde_length = length; in _dwarf_frame_add_fde()
338 fde->fde_cieoff = dbg->read(ds->ds_data, off, 4); in _dwarf_frame_add_fde()
339 cieoff = *off - (4 + fde->fde_cieoff); in _dwarf_frame_add_fde()
341 if (cieoff == fde->fde_offset) { in _dwarf_frame_add_fde()
346 fde->fde_cieoff = dbg->read(ds->ds_data, off, dwarf_size); in _dwarf_frame_add_fde()
347 cieoff = fde->fde_cieoff; in _dwarf_frame_add_fde()
357 fde->fde_cie = cie; in _dwarf_frame_add_fde()
364 ds->ds_data, off, cie->cie_fde_encode, ds->ds_addr + *off, in _dwarf_frame_add_fde()
368 fde->fde_initloc = val; in _dwarf_frame_add_fde()
374 ds->ds_data, off, cie->cie_fde_encode, 0, error); in _dwarf_frame_add_fde()
377 fde->fde_adrange = val; in _dwarf_frame_add_fde()
379 fde->fde_initloc = dbg->read(ds->ds_data, off, in _dwarf_frame_add_fde()
380 cie->cie_addrsize); in _dwarf_frame_add_fde()
381 fde->fde_adrange = dbg->read(ds->ds_data, off, in _dwarf_frame_add_fde()
382 cie->cie_addrsize); in _dwarf_frame_add_fde()
386 if (eh_frame && *cie->cie_augment == 'z') { in _dwarf_frame_add_fde()
387 fde->fde_auglen = _dwarf_read_uleb128(ds->ds_data, off); in _dwarf_frame_add_fde()
388 fde->fde_augdata = ds->ds_data + *off; in _dwarf_frame_add_fde()
389 *off += fde->fde_auglen; in _dwarf_frame_add_fde()
392 fde->fde_inst = ds->ds_data + *off; in _dwarf_frame_add_fde()
394 fde->fde_instlen = fde->fde_offset + 4 + length - *off; in _dwarf_frame_add_fde()
396 fde->fde_instlen = fde->fde_offset + 12 + length - *off; in _dwarf_frame_add_fde()
398 *off += fde->fde_instlen; in _dwarf_frame_add_fde()
406 " fde_instlen=%ju off=%ju\n", fde->fde_offset, fde->fde_length, in _dwarf_frame_add_fde()
407 fde->fde_cieoff, fde->fde_instlen, *off); in _dwarf_frame_add_fde()
410 fs->fs_fdelen++; in _dwarf_frame_add_fde()
421 STAILQ_FOREACH_SAFE(cie, &fs->fs_cielist, cie_next, tcie) { in _dwarf_frame_section_cleanup()
422 STAILQ_REMOVE(&fs->fs_cielist, cie, _Dwarf_Cie, cie_next); in _dwarf_frame_section_cleanup()
426 STAILQ_FOREACH_SAFE(fde, &fs->fs_fdelist, fde_next, tfde) { in _dwarf_frame_section_cleanup()
427 STAILQ_REMOVE(&fs->fs_fdelist, fde, _Dwarf_Fde, fde_next); in _dwarf_frame_section_cleanup()
431 if (fs->fs_ciearray != NULL) in _dwarf_frame_section_cleanup()
432 free(fs->fs_ciearray); in _dwarf_frame_section_cleanup()
433 if (fs->fs_fdearray != NULL) in _dwarf_frame_section_cleanup()
434 free(fs->fs_fdearray); in _dwarf_frame_section_cleanup()
456 STAILQ_INIT(&fs->fs_cielist); in _dwarf_frame_section_init()
457 STAILQ_INIT(&fs->fs_fdelist); in _dwarf_frame_section_init()
460 while (offset < ds->ds_size) { in _dwarf_frame_section_init()
462 length = dbg->read(ds->ds_data, &offset, 4); in _dwarf_frame_section_init()
465 length = dbg->read(ds->ds_data, &offset, 8); in _dwarf_frame_section_init()
469 if (length > ds->ds_size - offset || in _dwarf_frame_section_init()
480 cie_id = dbg->read(ds->ds_data, &offset, dwarf_size); in _dwarf_frame_section_init()
508 if (fs->fs_cielen > 0) { in _dwarf_frame_section_init()
509 if ((fs->fs_ciearray = malloc(sizeof(Dwarf_Cie) * in _dwarf_frame_section_init()
510 fs->fs_cielen)) == NULL) { in _dwarf_frame_section_init()
516 STAILQ_FOREACH(cie, &fs->fs_cielist, cie_next) { in _dwarf_frame_section_init()
517 fs->fs_ciearray[i++] = cie; in _dwarf_frame_section_init()
519 assert((Dwarf_Unsigned)i == fs->fs_cielen); in _dwarf_frame_section_init()
523 if (fs->fs_fdelen > 0) { in _dwarf_frame_section_init()
524 if ((fs->fs_fdearray = malloc(sizeof(Dwarf_Fde) * in _dwarf_frame_section_init()
525 fs->fs_fdelen)) == NULL) { in _dwarf_frame_section_init()
531 STAILQ_FOREACH(fde, &fs->fs_fdelist, fde_next) { in _dwarf_frame_section_init()
532 fs->fs_fdearray[i++] = fde; in _dwarf_frame_section_init()
534 assert((Dwarf_Unsigned)i == fs->fs_fdelen); in _dwarf_frame_section_init()
559 #define CFA rt->rt3_cfa_rule in _dwarf_frame_run_inst()
560 #define INITCFA init_rt->rt3_cfa_rule in _dwarf_frame_run_inst()
561 #define RL rt->rt3_rules in _dwarf_frame_run_inst()
562 #define INITRL init_rt->rt3_rules in _dwarf_frame_run_inst()
566 if ((x) >= rt->rt3_reg_table_size) { \ in _dwarf_frame_run_inst()
575 printf("frame_run_inst: (caf=%ju, daf=%jd)\n", caf, daf); in _dwarf_frame_run_inst()
622 RL[low6].dw_regnum = dbg->dbg_frame_cfa_value; in _dwarf_frame_run_inst()
626 printf("DW_CFA_offset(%jd)\n", in _dwarf_frame_run_inst()
651 pc = dbg->decode(&p, addr_size); in _dwarf_frame_run_inst()
659 pc += dbg->decode(&p, 1) * caf; in _dwarf_frame_run_inst()
667 pc += dbg->decode(&p, 2) * caf; in _dwarf_frame_run_inst()
675 pc += dbg->decode(&p, 4) * caf; in _dwarf_frame_run_inst()
689 RL[reg].dw_regnum = dbg->dbg_frame_cfa_value; in _dwarf_frame_run_inst()
711 RL[reg].dw_regnum = dbg->dbg_frame_undefined_value; in _dwarf_frame_run_inst()
720 RL[reg].dw_regnum = dbg->dbg_frame_same_value; in _dwarf_frame_run_inst()
818 RL[reg].dw_regnum = dbg->dbg_frame_cfa_value; in _dwarf_frame_run_inst()
821 printf("DW_CFA_offset_extended_sf(reg=%ju,soff=%jd)\n", in _dwarf_frame_run_inst()
834 printf("DW_CFA_def_cfa_sf(reg=%ju,soff=%jd)\n", reg, in _dwarf_frame_run_inst()
845 printf("DW_CFA_def_cfa_offset_sf(soff=%jd)\n", soff); in _dwarf_frame_run_inst()
855 RL[reg].dw_regnum = dbg->dbg_frame_cfa_value; in _dwarf_frame_run_inst()
869 RL[reg].dw_regnum = dbg->dbg_frame_cfa_value; in _dwarf_frame_run_inst()
872 printf("DW_CFA_val_offset_sf(reg=%ju,soff=%jd)\n", reg, in _dwarf_frame_run_inst()
900 free(init_rt->rt3_rules); in _dwarf_frame_run_inst()
903 free(saved_rt->rt3_rules); in _dwarf_frame_run_inst()
995 SET_INSTR_OFFSET(p - insts); in _dwarf_frame_convert_inst()
1037 uoff = dbg->decode(&p, addr_size); in _dwarf_frame_convert_inst()
1041 uoff = dbg->decode(&p, 1); in _dwarf_frame_convert_inst()
1045 uoff = dbg->decode(&p, 2); in _dwarf_frame_convert_inst()
1049 uoff = dbg->decode(&p, 4); in _dwarf_frame_convert_inst()
1153 Dwarf_Regtable3 *src, Dwarf_Error *error) in _dwarf_frame_regtable_copy() argument
1158 assert(src != NULL); in _dwarf_frame_regtable_copy()
1165 (*dest)->rt3_reg_table_size = src->rt3_reg_table_size; in _dwarf_frame_regtable_copy()
1166 (*dest)->rt3_rules = malloc(src->rt3_reg_table_size * in _dwarf_frame_regtable_copy()
1168 if ((*dest)->rt3_rules == NULL) { in _dwarf_frame_regtable_copy()
1175 memcpy(&(*dest)->rt3_cfa_rule, &src->rt3_cfa_rule, in _dwarf_frame_regtable_copy()
1178 for (i = 0; i < (*dest)->rt3_reg_table_size && in _dwarf_frame_regtable_copy()
1179 i < src->rt3_reg_table_size; i++) in _dwarf_frame_regtable_copy()
1180 memcpy(&(*dest)->rt3_rules[i], &src->rt3_rules[i], in _dwarf_frame_regtable_copy()
1183 for (; i < (*dest)->rt3_reg_table_size; i++) in _dwarf_frame_regtable_copy()
1184 (*dest)->rt3_rules[i].dw_regnum = in _dwarf_frame_regtable_copy()
1185 dbg->dbg_frame_undefined_value; in _dwarf_frame_regtable_copy()
1202 dbg = fde->fde_dbg; in _dwarf_frame_get_internal_table()
1205 rt = dbg->dbg_internal_reg_table; in _dwarf_frame_get_internal_table()
1208 memset(&rt->rt3_cfa_rule, 0, sizeof(Dwarf_Regtable_Entry3)); in _dwarf_frame_get_internal_table()
1209 memset(rt->rt3_rules, 0, rt->rt3_reg_table_size * in _dwarf_frame_get_internal_table()
1213 for (i = 0; i < rt->rt3_reg_table_size; i++) in _dwarf_frame_get_internal_table()
1214 rt->rt3_rules[i].dw_regnum = dbg->dbg_frame_rule_initial_value; in _dwarf_frame_get_internal_table()
1217 cie = fde->fde_cie; in _dwarf_frame_get_internal_table()
1219 ret = _dwarf_frame_run_inst(dbg, rt, cie->cie_addrsize, in _dwarf_frame_get_internal_table()
1220 cie->cie_initinst, cie->cie_instlen, cie->cie_caf, cie->cie_daf, 0, in _dwarf_frame_get_internal_table()
1226 if (pc_req >= fde->fde_initloc) { in _dwarf_frame_get_internal_table()
1227 ret = _dwarf_frame_run_inst(dbg, rt, cie->cie_addrsize, in _dwarf_frame_get_internal_table()
1228 fde->fde_inst, fde->fde_instlen, cie->cie_caf, in _dwarf_frame_get_internal_table()
1229 cie->cie_daf, fde->fde_initloc, pc_req, &row_pc, error); in _dwarf_frame_get_internal_table()
1245 assert(dbg != NULL && dbg->dbg_mode == DW_DLC_READ); in _dwarf_frame_cleanup()
1247 if (dbg->dbg_internal_reg_table) { in _dwarf_frame_cleanup()
1248 rt = dbg->dbg_internal_reg_table; in _dwarf_frame_cleanup()
1249 free(rt->rt3_rules); in _dwarf_frame_cleanup()
1251 dbg->dbg_internal_reg_table = NULL; in _dwarf_frame_cleanup()
1254 if (dbg->dbg_frame) { in _dwarf_frame_cleanup()
1255 _dwarf_frame_section_cleanup(dbg->dbg_frame); in _dwarf_frame_cleanup()
1256 dbg->dbg_frame = NULL; in _dwarf_frame_cleanup()
1259 if (dbg->dbg_eh_frame) { in _dwarf_frame_cleanup()
1260 _dwarf_frame_section_cleanup(dbg->dbg_eh_frame); in _dwarf_frame_cleanup()
1261 dbg->dbg_eh_frame = NULL; in _dwarf_frame_cleanup()
1271 return (_dwarf_frame_section_init(dbg, &dbg->dbg_frame, in _dwarf_frame_section_load()
1284 return (_dwarf_frame_section_init(dbg, &dbg->dbg_eh_frame, in _dwarf_frame_section_load_eh()
1296 dbg->dbg_frame_rule_table_size = DW_FRAME_LAST_REG_NUM; in _dwarf_frame_params_init()
1297 dbg->dbg_frame_rule_initial_value = DW_FRAME_REG_INITIAL_VALUE; in _dwarf_frame_params_init()
1298 dbg->dbg_frame_cfa_value = DW_FRAME_CFA_COL3; in _dwarf_frame_params_init()
1299 dbg->dbg_frame_same_value = DW_FRAME_SAME_VAL; in _dwarf_frame_params_init()
1300 dbg->dbg_frame_undefined_value = DW_FRAME_UNDEFINED_VAL; in _dwarf_frame_params_init()
1308 if (dbg->dbg_internal_reg_table != NULL) in _dwarf_frame_interal_table_init()
1317 rt->rt3_reg_table_size = dbg->dbg_frame_rule_table_size; in _dwarf_frame_interal_table_init()
1318 if ((rt->rt3_rules = calloc(rt->rt3_reg_table_size, in _dwarf_frame_interal_table_init()
1325 dbg->dbg_internal_reg_table = rt; in _dwarf_frame_interal_table_init()
1345 assert(fde != NULL && fde->fde_dbg != NULL); in _dwarf_frame_fde_add_inst()
1346 dbg = fde->fde_dbg; in _dwarf_frame_fde_add_inst()
1348 if (fde->fde_inst == NULL) { in _dwarf_frame_fde_add_inst()
1349 fde->fde_instcap = _FDE_INST_INIT_SIZE; in _dwarf_frame_fde_add_inst()
1350 fde->fde_instlen = 0; in _dwarf_frame_fde_add_inst()
1351 if ((fde->fde_inst = malloc((size_t) fde->fde_instcap)) == in _dwarf_frame_fde_add_inst()
1357 assert(fde->fde_instcap != 0); in _dwarf_frame_fde_add_inst()
1384 RCHECK(WRITE_VALUE(val1, dbg->dbg_pointer_size)); in _dwarf_frame_fde_add_inst()
1437 cie->cie_offset = offset = ds->ds_size; in _dwarf_frame_gen_cie()
1438 cie->cie_length = 0; in _dwarf_frame_gen_cie()
1439 cie->cie_version = 1; in _dwarf_frame_gen_cie()
1442 RCHECK(WRITE_VALUE(cie->cie_length, 4)); in _dwarf_frame_gen_cie()
1448 RCHECK(WRITE_VALUE(cie->cie_version, 1)); in _dwarf_frame_gen_cie()
1451 if (cie->cie_augment != NULL) in _dwarf_frame_gen_cie()
1452 RCHECK(WRITE_BLOCK(cie->cie_augment, in _dwarf_frame_gen_cie()
1453 strlen((char *) cie->cie_augment) + 1)); in _dwarf_frame_gen_cie()
1458 RCHECK(WRITE_ULEB128(cie->cie_caf)); in _dwarf_frame_gen_cie()
1459 RCHECK(WRITE_SLEB128(cie->cie_daf)); in _dwarf_frame_gen_cie()
1460 RCHECK(WRITE_VALUE(cie->cie_ra, 1)); in _dwarf_frame_gen_cie()
1463 if (cie->cie_initinst != NULL) in _dwarf_frame_gen_cie()
1464 RCHECK(WRITE_BLOCK(cie->cie_initinst, cie->cie_instlen)); in _dwarf_frame_gen_cie()
1467 len = ds->ds_size - cie->cie_offset - 4; in _dwarf_frame_gen_cie()
1468 cie->cie_length = roundup(len, dbg->dbg_pointer_size); in _dwarf_frame_gen_cie()
1469 while (len++ < cie->cie_length) in _dwarf_frame_gen_cie()
1473 dbg->write(ds->ds_data, &offset, cie->cie_length, 4); in _dwarf_frame_gen_cie()
1490 assert(fde != NULL && fde->fde_cie != NULL); in _dwarf_frame_gen_fde()
1492 fde->fde_offset = offset = ds->ds_size; in _dwarf_frame_gen_fde()
1493 fde->fde_length = 0; in _dwarf_frame_gen_fde()
1494 fde->fde_cieoff = fde->fde_cie->cie_offset; in _dwarf_frame_gen_fde()
1497 RCHECK(WRITE_VALUE(fde->fde_length, 4)); in _dwarf_frame_gen_fde()
1501 ds->ds_size, 0, fde->fde_cieoff, ".debug_frame", error)); in _dwarf_frame_gen_fde()
1505 dbg->dbg_pointer_size, ds->ds_size, fde->fde_symndx, in _dwarf_frame_gen_fde()
1506 fde->fde_initloc, NULL, error)); in _dwarf_frame_gen_fde()
1513 if (fde->fde_esymndx > 0) in _dwarf_frame_gen_fde()
1515 dbg->dbg_pointer_size, ds->ds_size, fde->fde_symndx, in _dwarf_frame_gen_fde()
1516 fde->fde_esymndx, fde->fde_initloc, fde->fde_eoff, error)); in _dwarf_frame_gen_fde()
1518 RCHECK(WRITE_VALUE(fde->fde_adrange, dbg->dbg_pointer_size)); in _dwarf_frame_gen_fde()
1521 RCHECK(WRITE_BLOCK(fde->fde_inst, fde->fde_instlen)); in _dwarf_frame_gen_fde()
1524 len = ds->ds_size - fde->fde_offset - 4; in _dwarf_frame_gen_fde()
1525 fde->fde_length = roundup(len, dbg->dbg_pointer_size); in _dwarf_frame_gen_fde()
1526 while (len++ < fde->fde_length) in _dwarf_frame_gen_fde()
1530 dbg->write(ds->ds_data, &offset, fde->fde_length, 4); in _dwarf_frame_gen_fde()
1547 if (STAILQ_EMPTY(&dbg->dbgp_cielist)) in _dwarf_frame_gen()
1559 STAILQ_FOREACH(cie, &dbg->dbgp_cielist, cie_next) in _dwarf_frame_gen()
1563 STAILQ_FOREACH(fde, &dbg->dbgp_fdelist, fde_next) in _dwarf_frame_gen()
1589 assert(dbg != NULL && dbg->dbg_mode == DW_DLC_WRITE); in _dwarf_frame_pro_cleanup()
1591 STAILQ_FOREACH_SAFE(cie, &dbg->dbgp_cielist, cie_next, tcie) { in _dwarf_frame_pro_cleanup()
1592 STAILQ_REMOVE(&dbg->dbgp_cielist, cie, _Dwarf_Cie, cie_next); in _dwarf_frame_pro_cleanup()
1593 if (cie->cie_augment) in _dwarf_frame_pro_cleanup()
1594 free(cie->cie_augment); in _dwarf_frame_pro_cleanup()
1595 if (cie->cie_initinst) in _dwarf_frame_pro_cleanup()
1596 free(cie->cie_initinst); in _dwarf_frame_pro_cleanup()
1599 dbg->dbgp_cielen = 0; in _dwarf_frame_pro_cleanup()
1601 STAILQ_FOREACH_SAFE(fde, &dbg->dbgp_fdelist, fde_next, tfde) { in _dwarf_frame_pro_cleanup()
1602 STAILQ_REMOVE(&dbg->dbgp_fdelist, fde, _Dwarf_Fde, fde_next); in _dwarf_frame_pro_cleanup()
1603 if (fde->fde_inst != NULL) in _dwarf_frame_pro_cleanup()
1604 free(fde->fde_inst); in _dwarf_frame_pro_cleanup()
1607 dbg->dbgp_fdelen = 0; in _dwarf_frame_pro_cleanup()