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()
500 static const u32 *__cie_for_fde(const u32 *fde) in __cie_for_fde() argument
504 cie = fde + 1 - fde[1] / sizeof(*fde); in __cie_for_fde()
509 static const u32 *cie_for_fde(const u32 *fde, const struct unwind_table *table) in cie_for_fde() argument
513 if (!*fde || (*fde & (sizeof(*fde) - 1))) in cie_for_fde()
516 if (fde[1] == CIE_ID) in cie_for_fde()
519 if ((fde[1] & (sizeof(*fde) - 1))) in cie_for_fde()
523 cie = __cie_for_fde(fde); in cie_for_fde()
525 if (*cie <= sizeof(*cie) + 4 || *cie >= fde[1] - sizeof(*fde) in cie_for_fde()
898 const u32 *fde = NULL, *cie = NULL; in arc_unwind() local
930 && !(table->size & (sizeof(*fde) - 1))) { in arc_unwind()
979 fde = (void *)read_pointer(&ptr, in arc_unwind()
986 if (fde != NULL) { in arc_unwind()
987 cie = cie_for_fde(fde, table); in arc_unwind()
988 ptr = (const u8 *)(fde + 2); in arc_unwind()
994 (const u8 *)(fde + 1) + *fde, in arc_unwind()
1001 (const u8 *)(fde + in arc_unwind()
1003 *fde, ptrType); in arc_unwind()
1005 fde = NULL; in arc_unwind()
1009 fde = NULL; in arc_unwind()
1078 end = (const u8 *)(fde + 1) + *fde; in arc_unwind()
1084 fde = NULL; in arc_unwind()
1087 if (cie == NULL || fde == NULL) { in arc_unwind()