Lines Matching refs:fde

307 	Dwarf_Fde fde;
312 if ((fde = calloc(1, sizeof(struct _Dwarf_Fde))) == NULL) {
316 STAILQ_INSERT_TAIL(&fs->fs_fdelist, fde, fde_next);
318 fde->fde_dbg = dbg;
319 fde->fde_fs = fs;
320 fde->fde_addr = ds->ds_data + *off;
321 fde->fde_offset = *off;
335 fde->fde_length = length;
338 fde->fde_cieoff = dbg->read(ds->ds_data, off, 4);
339 cieoff = *off - (4 + fde->fde_cieoff);
341 if (cieoff == fde->fde_offset) {
346 fde->fde_cieoff = dbg->read(ds->ds_data, off, dwarf_size);
347 cieoff = fde->fde_cieoff;
357 fde->fde_cie = cie;
368 fde->fde_initloc = val;
377 fde->fde_adrange = val;
379 fde->fde_initloc = dbg->read(ds->ds_data, off,
381 fde->fde_adrange = dbg->read(ds->ds_data, off,
387 fde->fde_auglen = _dwarf_read_uleb128(ds->ds_data, off);
388 fde->fde_augdata = ds->ds_data + *off;
389 *off += fde->fde_auglen;
392 fde->fde_inst = ds->ds_data + *off;
394 fde->fde_instlen = fde->fde_offset + 4 + length - *off;
396 fde->fde_instlen = fde->fde_offset + 12 + length - *off;
398 *off += fde->fde_instlen;
401 printf("fde:");
406 " fde_instlen=%ju off=%ju\n", fde->fde_offset, fde->fde_length,
407 fde->fde_cieoff, fde->fde_instlen, *off);
419 Dwarf_Fde fde, tfde;
426 STAILQ_FOREACH_SAFE(fde, &fs->fs_fdelist, fde_next, tfde) {
427 STAILQ_REMOVE(&fs->fs_fdelist, fde, _Dwarf_Fde, fde_next);
428 free(fde);
445 Dwarf_Fde fde;
531 STAILQ_FOREACH(fde, &fs->fs_fdelist, fde_next) {
532 fs->fs_fdearray[i++] = fde;
1191 _dwarf_frame_get_internal_table(Dwarf_Fde fde, Dwarf_Addr pc_req,
1202 dbg = fde->fde_dbg;
1217 cie = fde->fde_cie;
1226 if (pc_req >= fde->fde_initloc) {
1228 fde->fde_inst, fde->fde_instlen, cie->cie_caf,
1229 cie->cie_daf, fde->fde_initloc, pc_req, &row_pc, error);
1333 _dwarf_frame_fde_add_inst(Dwarf_P_Fde fde, Dwarf_Small op, Dwarf_Unsigned val1,
1340 #define ds fde
1345 assert(fde != NULL && fde->fde_dbg != NULL);
1346 dbg = fde->fde_dbg;
1348 if (fde->fde_inst == NULL) {
1349 fde->fde_instcap = _FDE_INST_INIT_SIZE;
1350 fde->fde_instlen = 0;
1351 if ((fde->fde_inst = malloc((size_t) fde->fde_instcap)) ==
1357 assert(fde->fde_instcap != 0);
1483 Dwarf_Rel_Section drs, Dwarf_P_Fde fde, Dwarf_Error *error)
1490 assert(fde != NULL && fde->fde_cie != NULL);
1492 fde->fde_offset = offset = ds->ds_size;
1493 fde->fde_length = 0;
1494 fde->fde_cieoff = fde->fde_cie->cie_offset;
1497 RCHECK(WRITE_VALUE(fde->fde_length, 4));
1501 ds->ds_size, 0, fde->fde_cieoff, ".debug_frame", error));
1505 dbg->dbg_pointer_size, ds->ds_size, fde->fde_symndx,
1506 fde->fde_initloc, NULL, error));
1513 if (fde->fde_esymndx > 0)
1515 dbg->dbg_pointer_size, ds->ds_size, fde->fde_symndx,
1516 fde->fde_esymndx, fde->fde_initloc, fde->fde_eoff, error));
1518 RCHECK(WRITE_VALUE(fde->fde_adrange, dbg->dbg_pointer_size));
1521 RCHECK(WRITE_BLOCK(fde->fde_inst, fde->fde_instlen));
1524 len = ds->ds_size - fde->fde_offset - 4;
1525 fde->fde_length = roundup(len, dbg->dbg_pointer_size);
1526 while (len++ < fde->fde_length)
1530 dbg->write(ds->ds_data, &offset, fde->fde_length, 4);
1544 Dwarf_P_Fde fde;
1563 STAILQ_FOREACH(fde, &dbg->dbgp_fdelist, fde_next)
1564 RCHECK(_dwarf_frame_gen_fde(dbg, ds, drs, fde, error));
1587 Dwarf_P_Fde fde, tfde;
1601 STAILQ_FOREACH_SAFE(fde, &dbg->dbgp_fdelist, fde_next, tfde) {
1602 STAILQ_REMOVE(&dbg->dbgp_fdelist, fde, _Dwarf_Fde, fde_next);
1603 if (fde->fde_inst != NULL)
1604 free(fde->fde_inst);
1605 free(fde);