Lines Matching refs:fde

228 static const u32 *cie_for_fde(const u32 *fde, const struct unwind_table *);
229 static const u32 *__cie_for_fde(const u32 *fde);
233 unsigned long start, fde; member
250 swap(e1->fde, e2->fde); in swap_eh_frame_hdr_table_entries()
259 const u32 *fde; in init_unwind_hdr() local
277 if (tableSize & (sizeof(*fde) - 1)) in init_unwind_hdr()
280 for (fde = table->address, n = 0; in init_unwind_hdr()
281 tableSize > sizeof(*fde) && tableSize - sizeof(*fde) >= *fde; in init_unwind_hdr()
282 tableSize -= sizeof(*fde) + *fde, fde += 1 + *fde / sizeof(*fde)) { in init_unwind_hdr()
283 const u32 *cie = cie_for_fde(fde, table); in init_unwind_hdr()
294 ptr = (const u8 *)(fde + 2); in init_unwind_hdr()
295 if (!read_pointer(&ptr, (const u8 *)(fde + 1) + *fde, in init_unwind_hdr()
302 (const u8 *)(fde + 1) + *fde); in init_unwind_hdr()
328 for (fde = table->address, tableSize = table->size, n = 0; in init_unwind_hdr()
330 tableSize -= sizeof(*fde) + *fde, fde += 1 + *fde / sizeof(*fde)) { in init_unwind_hdr()
331 const u32 *cie = __cie_for_fde(fde); in init_unwind_hdr()
333 if (fde[1] == CIE_ID) in init_unwind_hdr()
335 ptr = (const u8 *)(fde + 2); in init_unwind_hdr()
337 (const u8 *)(fde + 1) + in init_unwind_hdr()
338 *fde, in init_unwind_hdr()
340 header->table[n].fde = (unsigned long)fde; in init_unwind_hdr()
502 static const u32 *__cie_for_fde(const u32 *fde) in __cie_for_fde() argument
506 cie = fde + 1 - fde[1] / sizeof(*fde); in __cie_for_fde()
511 static const u32 *cie_for_fde(const u32 *fde, const struct unwind_table *table) in cie_for_fde() argument
515 if (!*fde || (*fde & (sizeof(*fde) - 1))) in cie_for_fde()
518 if (fde[1] == CIE_ID) in cie_for_fde()
521 if ((fde[1] & (sizeof(*fde) - 1))) in cie_for_fde()
525 cie = __cie_for_fde(fde); in cie_for_fde()
527 if (*cie <= sizeof(*cie) + 4 || *cie >= fde[1] - sizeof(*fde) in cie_for_fde()
900 const u32 *fde = NULL, *cie = NULL; in arc_unwind() local
932 && !(table->size & (sizeof(*fde) - 1))) { in arc_unwind()
981 fde = (void *)read_pointer(&ptr, in arc_unwind()
988 if (fde != NULL) { in arc_unwind()
989 cie = cie_for_fde(fde, table); in arc_unwind()
990 ptr = (const u8 *)(fde + 2); in arc_unwind()
996 (const u8 *)(fde + 1) + *fde, in arc_unwind()
1003 (const u8 *)(fde + in arc_unwind()
1005 *fde, ptrType); in arc_unwind()
1007 fde = NULL; in arc_unwind()
1011 fde = NULL; in arc_unwind()
1080 end = (const u8 *)(fde + 1) + *fde; in arc_unwind()
1086 fde = NULL; in arc_unwind()
1089 if (cie == NULL || fde == NULL) { in arc_unwind()