Lines Matching refs:fdesc
256 struct unw_debug_frame_list *w, *fdesc = 0; in locate_debug_info() local
294 GET_MEMORY (fdesc, sizeof (struct unw_debug_frame_list)); in locate_debug_info()
295 if (!fdesc) in locate_debug_info()
301 fdesc->start = start; in locate_debug_info()
302 fdesc->end = end; in locate_debug_info()
303 fdesc->load_offset = load_offset; in locate_debug_info()
304 fdesc->debug_frame = buf; in locate_debug_info()
305 fdesc->debug_frame_size = bufsize; in locate_debug_info()
306 fdesc->index = NULL; in locate_debug_info()
307 fdesc->next = as->debug_frames; in locate_debug_info()
309 as->debug_frames = fdesc; in locate_debug_info()
312 return fdesc; in locate_debug_info()
316 debug_frame_index_make (struct unw_debug_frame_list *fdesc) in debug_frame_index_make() argument
319 char *buf = fdesc->debug_frame; in debug_frame_index_make()
320 size_t bufsize = fdesc->debug_frame_size; in debug_frame_index_make()
383 if (fdesc->index) in debug_frame_index_make()
385 struct table_entry *e = &fdesc->index[count]; in debug_frame_index_make()
403 debug_frame_index_sort (struct unw_debug_frame_list *fdesc) in debug_frame_index_sort() argument
405 size_t i, j, k, n = fdesc->index_size / sizeof (*fdesc->index); in debug_frame_index_sort()
406 struct table_entry *a = fdesc->index; in debug_frame_index_sort()
437 struct unw_debug_frame_list *fdesc; in dwarf_find_debug_frame() local
441 fdesc = locate_debug_info (unw_local_addr_space, ip, segbase, obj_name, start, in dwarf_find_debug_frame()
444 if (!fdesc) in dwarf_find_debug_frame()
452 if (fdesc->debug_frame_size == 0) in dwarf_find_debug_frame()
460 if (!fdesc->index) in dwarf_find_debug_frame()
465 size_t count = debug_frame_index_make (fdesc); in dwarf_find_debug_frame()
473 fdesc->index_size = count * sizeof (*fdesc->index); in dwarf_find_debug_frame()
474 GET_MEMORY (fdesc->index, fdesc->index_size); in dwarf_find_debug_frame()
476 if (!fdesc->index) in dwarf_find_debug_frame()
479 fdesc->index_size = 0; in dwarf_find_debug_frame()
485 debug_frame_index_make (fdesc); in dwarf_find_debug_frame()
486 debug_frame_index_sort (fdesc); in dwarf_find_debug_frame()
498 di->start_ip = fdesc->start; in dwarf_find_debug_frame()
499 di->end_ip = fdesc->end; in dwarf_find_debug_frame()
500 di->load_offset = fdesc->load_offset; in dwarf_find_debug_frame()
502 di->u.ti.table_data = (unw_word_t *) fdesc; in dwarf_find_debug_frame()
503 di->u.ti.table_len = sizeof (*fdesc) / sizeof (unw_word_t); in dwarf_find_debug_frame()
941 struct unw_debug_frame_list *fdesc = (void *) di->u.ti.table_data; in dwarf_search_unwind_table() local
948 table = fdesc->index; in dwarf_search_unwind_table()
949 table_len = fdesc->index_size; in dwarf_search_unwind_table()
950 debug_frame_base = (uintptr_t) fdesc->debug_frame; in dwarf_search_unwind_table()