Lines Matching refs:dwarf
62 /* Free split dwarf one way (from skeleton to split). */
76 dwarf_end (Dwarf *dwarf)
78 if (dwarf != NULL)
80 if (dwarf->cfi != NULL)
82 __libdw_destroy_frame_cache (dwarf->cfi);
84 Dwarf_Sig8_Hash_free (&dwarf->sig8_hash);
89 tdestroy (dwarf->cu_tree, cu_free);
90 tdestroy (dwarf->tu_tree, cu_free);
93 tdestroy (dwarf->macro_ops, noop_free);
96 tdestroy (dwarf->files_lines, noop_free);
99 tdestroy (dwarf->split_tree, noop_free);
102 for (size_t i = 0; i < dwarf->mem_stacks; i++)
104 struct libdw_memblock *memp = dwarf->mem_tails[i];
112 if (dwarf->mem_tails != NULL)
113 free (dwarf->mem_tails);
114 pthread_rwlock_destroy (&dwarf->mem_rwl);
117 free (dwarf->pubnames_sets);
120 if (dwarf->free_elf)
121 elf_end (dwarf->elf);
124 if (dwarf->fake_loc_cu != NULL)
126 cu_free (dwarf->fake_loc_cu);
127 free (dwarf->fake_loc_cu);
129 if (dwarf->fake_loclists_cu != NULL)
131 cu_free (dwarf->fake_loclists_cu);
132 free (dwarf->fake_loclists_cu);
134 if (dwarf->fake_addr_cu != NULL)
136 cu_free (dwarf->fake_addr_cu);
137 free (dwarf->fake_addr_cu);
141 if (dwarf->alt_fd != -1)
143 INTUSE(dwarf_end) (dwarf->alt_dwarf);
144 close (dwarf->alt_fd);
148 free (dwarf->debugdir);
151 free (dwarf);