Lines Matching defs:fde
73 struct dwarf_fde *fde = malloc (sizeof (struct dwarf_fde));
74 if (fde == NULL)
80 fde->instructions = entry->start;
81 fde->instructions_end = entry->end;
83 &fde->instructions, &fde->start))
85 &fde->instructions, &fde->end)))
87 free (fde);
91 fde->end += fde->start;
93 /* Make sure the fde actually covers a real code range. */
94 if (fde->start >= fde->end)
96 free (fde);
100 fde->cie = cie;
107 get_uleb128 (len, fde->instructions, fde->instructions_end);
108 if ((Dwarf_Word) (fde->instructions_end - fde->instructions) < len)
110 free (fde);
114 fde->instructions += len;
119 fde->instructions += cie->fde_augmentation_data_size;
122 struct dwarf_fde **tres = tsearch (fde, &cache->fde_tree, &compare_fde);
125 free (fde);
129 else if (*tres != fde)
134 free (fde);
138 return fde;
162 struct dwarf_fde *fde = intern_fde (cache, &entry.fde);
163 if (fde == (void *) -1l || fde == NULL)
170 return fde;
217 Dwarf_Addr fde;
220 &fde)))
238 return fde - cache->frame_vaddr;
262 struct dwarf_fde *fde = __libdw_fde_by_offset (cache, offset);
263 if (likely (fde != NULL))
266 if (unlikely (address < fde->start))
272 if (unlikely (address >= fde->end))
275 return fde;
307 struct dwarf_fde *fde = intern_fde (cache, &entry.fde);
309 if (fde == (void *) -1l) /* Bad FDE, but we can keep looking. */
312 if (fde == NULL) /* Bad data. */
316 if (fde->start <= address && fde->end > address)
317 return fde;