• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/elftoolchain/libdwarf/

Lines Matching defs:cie

35 	Dwarf_Cie cie;
37 STAILQ_FOREACH(cie, &fs->fs_cielist, cie_next) {
38 if (cie->cie_offset == offset)
42 if (cie == NULL)
46 *ret_cie = cie;
52 _dwarf_frame_read_lsb_encoded(Dwarf_Debug dbg, Dwarf_Cie cie, uint64_t *val,
66 *val = dbg->read(data, offsetp, cie->cie_addrsize);
126 _dwarf_frame_parse_lsb_cie_augment(Dwarf_Debug dbg, Dwarf_Cie cie,
134 assert(cie->cie_augment != NULL && *cie->cie_augment == 'z');
141 aug_p = &cie->cie_augment[1];
142 augdata_p = cie->cie_augdata;
155 ret = _dwarf_frame_read_lsb_encoded(dbg, cie, &val,
162 cie->cie_fde_encode = *augdata_p++;
179 Dwarf_Cie cie;
185 if (_dwarf_frame_find_cie(fs, *off, &cie) != DW_DLE_NO_ENTRY) {
186 *off += cie->cie_length + 4;
190 if ((cie = calloc(1, sizeof(struct _Dwarf_Cie))) == NULL) {
194 STAILQ_INSERT_TAIL(&fs->fs_cielist, cie, cie_next);
196 cie->cie_dbg = dbg;
197 cie->cie_index = fs->fs_cielen;
198 cie->cie_offset = *off;
213 cie->cie_length = length;
215 cie->cie_version = dbg->read(ds->ds_data, off, 1);
216 if (cie->cie_version != 1 && cie->cie_version != 3 &&
217 cie->cie_version != 4) {
222 cie->cie_augment = ds->ds_data + *off;
228 if (*cie->cie_augment != 0 && *cie->cie_augment != 'z') {
229 *off = cie->cie_offset + ((dwarf_size == 4) ? 4 : 12) +
230 cie->cie_length;
235 if (strstr((char *)cie->cie_augment, "eh") != NULL)
236 cie->cie_ehdata = dbg->read(ds->ds_data, off,
240 if (cie->cie_version == 4) {
241 cie->cie_addrsize = dbg->read(ds->ds_data, off, 1);
242 cie->cie_segmentsize = dbg->read(ds->ds_data, off, 1);
248 cie->cie_addrsize = dbg->dbg_pointer_size;
251 cie->cie_caf = _dwarf_read_uleb128(ds->ds_data, off);
252 cie->cie_daf = _dwarf_read_sleb128(ds->ds_data, off);
255 if (cie->cie_version == 1)
256 cie->cie_ra = dbg->read(ds->ds_data, off, 1);
258 cie->cie_ra = _dwarf_read_uleb128(ds->ds_data, off);
261 if (*cie->cie_augment == 'z') {
262 cie->cie_auglen = _dwarf_read_uleb128(ds->ds_data, off);
263 cie->cie_augdata = ds->ds_data + *off;
264 *off += cie->cie_auglen;
270 cie->cie_fde_encode = DW_EH_PE_absptr;
271 ret = _dwarf_frame_parse_lsb_cie_augment(dbg, cie, error);
277 cie->cie_initinst = ds->ds_data + *off;
279 cie->cie_instlen = cie->cie_offset + 4 + length - *off;
281 cie->cie_instlen = cie->cie_offset + 12 + length - *off;
283 *off += cie->cie_instlen;
286 printf("cie:\n");
288 " cie_instlen=%ju cie->cie_caf=%ju cie->cie_daf=%jd off=%ju\n",
289 cie->cie_version, cie->cie_offset, cie->cie_length,
290 (char *)cie->cie_augment, cie->cie_instlen, cie->cie_caf,
291 cie->cie_daf, *off);
295 *ret_cie = cie;
306 Dwarf_Cie cie;
350 if (_dwarf_frame_find_cie(fs, cieoff, &cie) ==
352 ret = _dwarf_frame_add_cie(dbg, fs, ds, &cieoff, &cie,
357 fde->fde_cie = cie;
363 ret = _dwarf_frame_read_lsb_encoded(dbg, cie, &val,
364 ds->ds_data, off, cie->cie_fde_encode, ds->ds_addr + *off,
373 ret = _dwarf_frame_read_lsb_encoded(dbg, cie, &val,
374 ds->ds_data, off, cie->cie_fde_encode, 0, error);
380 cie->cie_addrsize);
382 cie->cie_addrsize);
386 if (eh_frame && *cie->cie_augment == 'z') {
418 Dwarf_Cie cie, tcie;
421 STAILQ_FOREACH_SAFE(cie, &fs->fs_cielist, cie_next, tcie) {
422 STAILQ_REMOVE(&fs->fs_cielist, cie, _Dwarf_Cie, cie_next);
423 free(cie);
444 Dwarf_Cie cie;
516 STAILQ_FOREACH(cie, &fs->fs_cielist, cie_next) {
517 fs->fs_ciearray[i++] = cie;
1195 Dwarf_Cie cie;
1217 cie = fde->fde_cie;
1218 assert(cie != NULL);
1219 ret = _dwarf_frame_run_inst(dbg, rt, cie->cie_addrsize,
1220 cie->cie_initinst, cie->cie_instlen, cie->cie_caf, cie->cie_daf, 0,
1227 ret = _dwarf_frame_run_inst(dbg, rt, cie->cie_addrsize,
1228 fde->fde_inst, fde->fde_instlen, cie->cie_caf,
1229 cie->cie_daf, fde->fde_initloc, pc_req, &row_pc, error);
1428 _dwarf_frame_gen_cie(Dwarf_P_Debug dbg, Dwarf_P_Section ds, Dwarf_P_Cie cie,
1435 assert(dbg != NULL && ds != NULL && cie != NULL);
1437 cie->cie_offset = offset = ds->ds_size;
1438 cie->cie_length = 0;
1439 cie->cie_version = 1;
1442 RCHECK(WRITE_VALUE(cie->cie_length, 4));
1448 RCHECK(WRITE_VALUE(cie->cie_version, 1));
1451 if (cie->cie_augment != NULL)
1452 RCHECK(WRITE_BLOCK(cie->cie_augment,
1453 strlen((char *) cie->cie_augment) + 1));
1458 RCHECK(WRITE_ULEB128(cie->cie_caf));
1459 RCHECK(WRITE_SLEB128(cie->cie_daf));
1460 RCHECK(WRITE_VALUE(cie->cie_ra, 1));
1463 if (cie->cie_initinst != NULL)
1464 RCHECK(WRITE_BLOCK(cie->cie_initinst, cie->cie_instlen));
1467 len = ds->ds_size - cie->cie_offset - 4;
1468 cie->cie_length = roundup(len, dbg->dbg_pointer_size);
1469 while (len++ < cie->cie_length)
1473 dbg->write(ds->ds_data, &offset, cie->cie_length, 4);
1543 Dwarf_P_Cie cie;
1559 STAILQ_FOREACH(cie, &dbg->dbgp_cielist, cie_next)
1560 RCHECK(_dwarf_frame_gen_cie(dbg, ds, cie, error));
1586 Dwarf_P_Cie cie, tcie;
1591 STAILQ_FOREACH_SAFE(cie, &dbg->dbgp_cielist, cie_next, tcie) {
1592 STAILQ_REMOVE(&dbg->dbgp_cielist, cie, _Dwarf_Cie, cie_next);
1593 if (cie->cie_augment)
1594 free(cie->cie_augment);
1595 if (cie->cie_initinst)
1596 free(cie->cie_initinst);
1597 free(cie);