Lines Matching refs:fde

236 static const u32 *cie_for_fde(const u32 *fde, const struct unwind_table *);
237 static const u32 *__cie_for_fde(const u32 *fde);
241 unsigned long start, fde; member
261 v = e1->fde; in swap_eh_frame_hdr_table_entries()
262 e1->fde = e2->fde; in swap_eh_frame_hdr_table_entries()
263 e2->fde = v; in swap_eh_frame_hdr_table_entries()
272 const u32 *fde; in init_unwind_hdr() local
290 if (tableSize & (sizeof(*fde) - 1)) in init_unwind_hdr()
293 for (fde = table->address, n = 0; in init_unwind_hdr()
294 tableSize > sizeof(*fde) && tableSize - sizeof(*fde) >= *fde; in init_unwind_hdr()
295 tableSize -= sizeof(*fde) + *fde, fde += 1 + *fde / sizeof(*fde)) { in init_unwind_hdr()
296 const u32 *cie = cie_for_fde(fde, table); in init_unwind_hdr()
307 ptr = (const u8 *)(fde + 2); in init_unwind_hdr()
308 if (!read_pointer(&ptr, (const u8 *)(fde + 1) + *fde, in init_unwind_hdr()
315 (const u8 *)(fde + 1) + *fde); in init_unwind_hdr()
341 for (fde = table->address, tableSize = table->size, n = 0; in init_unwind_hdr()
343 tableSize -= sizeof(*fde) + *fde, fde += 1 + *fde / sizeof(*fde)) { in init_unwind_hdr()
344 const u32 *cie = __cie_for_fde(fde); in init_unwind_hdr()
346 if (fde[1] == CIE_ID) in init_unwind_hdr()
348 ptr = (const u8 *)(fde + 2); in init_unwind_hdr()
350 (const u8 *)(fde + 1) + in init_unwind_hdr()
351 *fde, in init_unwind_hdr()
353 header->table[n].fde = (unsigned long)fde; in init_unwind_hdr()
509 static const u32 *__cie_for_fde(const u32 *fde) in __cie_for_fde() argument
513 cie = fde + 1 - fde[1] / sizeof(*fde); in __cie_for_fde()
518 static const u32 *cie_for_fde(const u32 *fde, const struct unwind_table *table) in cie_for_fde() argument
522 if (!*fde || (*fde & (sizeof(*fde) - 1))) in cie_for_fde()
525 if (fde[1] == CIE_ID) in cie_for_fde()
528 if ((fde[1] & (sizeof(*fde) - 1))) in cie_for_fde()
532 cie = __cie_for_fde(fde); in cie_for_fde()
534 if (*cie <= sizeof(*cie) + 4 || *cie >= fde[1] - sizeof(*fde) in cie_for_fde()
906 const u32 *fde = NULL, *cie = NULL; in arc_unwind() local
938 && !(table->size & (sizeof(*fde) - 1))) { in arc_unwind()
987 fde = (void *)read_pointer(&ptr, in arc_unwind()
994 if (fde != NULL) { in arc_unwind()
995 cie = cie_for_fde(fde, table); in arc_unwind()
996 ptr = (const u8 *)(fde + 2); in arc_unwind()
1002 (const u8 *)(fde + 1) + *fde, in arc_unwind()
1009 (const u8 *)(fde + in arc_unwind()
1011 *fde, ptrType); in arc_unwind()
1013 fde = NULL; in arc_unwind()
1017 fde = NULL; in arc_unwind()
1086 end = (const u8 *)(fde + 1) + *fde; in arc_unwind()
1092 fde = NULL; in arc_unwind()
1095 if (cie == NULL || fde == NULL) { in arc_unwind()