Lines Matching full:dwarf
62 /* Free split dwarf one way (from skeleton to split). */ in cu_free()
76 dwarf_end (Dwarf *dwarf) in dwarf_end() argument
78 if (dwarf != NULL) in dwarf_end()
80 if (dwarf->cfi != NULL) in dwarf_end()
82 __libdw_destroy_frame_cache (dwarf->cfi); in dwarf_end()
84 Dwarf_Sig8_Hash_free (&dwarf->sig8_hash); in dwarf_end()
89 tdestroy (dwarf->cu_tree, cu_free); in dwarf_end()
90 tdestroy (dwarf->tu_tree, cu_free); in dwarf_end()
93 tdestroy (dwarf->macro_ops, noop_free); in dwarf_end()
96 tdestroy (dwarf->files_lines, noop_free); in dwarf_end()
98 /* And the split Dwarf. */ in dwarf_end()
99 tdestroy (dwarf->split_tree, noop_free); in dwarf_end()
102 for (size_t i = 0; i < dwarf->mem_stacks; i++) in dwarf_end()
104 struct libdw_memblock *memp = dwarf->mem_tails[i]; in dwarf_end()
112 if (dwarf->mem_tails != NULL) in dwarf_end()
113 free (dwarf->mem_tails); in dwarf_end()
114 pthread_rwlock_destroy (&dwarf->mem_rwl); in dwarf_end()
117 free (dwarf->pubnames_sets); in dwarf_end()
120 if (dwarf->free_elf) in dwarf_end()
121 elf_end (dwarf->elf); in dwarf_end()
124 if (dwarf->fake_loc_cu != NULL) in dwarf_end()
126 cu_free (dwarf->fake_loc_cu); in dwarf_end()
127 free (dwarf->fake_loc_cu); in dwarf_end()
129 if (dwarf->fake_loclists_cu != NULL) in dwarf_end()
131 cu_free (dwarf->fake_loclists_cu); in dwarf_end()
132 free (dwarf->fake_loclists_cu); in dwarf_end()
134 if (dwarf->fake_addr_cu != NULL) in dwarf_end()
136 cu_free (dwarf->fake_addr_cu); in dwarf_end()
137 free (dwarf->fake_addr_cu); in dwarf_end()
140 /* Did we find and allocate the alt Dwarf ourselves? */ in dwarf_end()
141 if (dwarf->alt_fd != -1) in dwarf_end()
143 INTUSE(dwarf_end) (dwarf->alt_dwarf); in dwarf_end()
144 close (dwarf->alt_fd); in dwarf_end()
147 /* The cached path and dir we found the Dwarf ELF file in. */ in dwarf_end()
148 free (dwarf->elfpath); in dwarf_end()
149 free (dwarf->debugdir); in dwarf_end()
152 free (dwarf); in dwarf_end()