Lines Matching full:dw

144 mfgtid_next(dwarf_t *dw)  in mfgtid_next()  argument
146 return (++dw->dw_mfgtid_last); in mfgtid_next()
150 tdesc_add(dwarf_t *dw, tdesc_t *tdp) in tdesc_add() argument
152 hash_add(dw->dw_tidhash, tdp); in tdesc_add()
156 tdesc_lookup(dwarf_t *dw, int tid) in tdesc_lookup() argument
163 if (hash_find(dw->dw_tidhash, &tmpl, &tdp)) in tdesc_lookup()
263 die_off(dwarf_t *dw, Dwarf_Die die) in die_off() argument
267 if (dwarf_dieoffset(die, &off, &dw->dw_err) == DW_DLV_OK) in die_off()
271 dwarf_errmsg(dw->dw_err)); in die_off()
277 die_sibling(dwarf_t *dw, Dwarf_Die die) in die_sibling() argument
282 if ((rc = dwarf_siblingof(dw->dw_dw, die, &sib, &dw->dw_err)) == in die_sibling()
289 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_sibling()
295 die_child(dwarf_t *dw, Dwarf_Die die) in die_child() argument
300 if ((rc = dwarf_child(die, &child, &dw->dw_err)) == DW_DLV_OK) in die_child()
306 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_child()
312 die_tag(dwarf_t *dw, Dwarf_Die die) in die_tag() argument
316 if (dwarf_tag(die, &tag, &dw->dw_err) == DW_DLV_OK) in die_tag()
320 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_tag()
326 die_attr(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, int req) in die_attr() argument
331 if ((rc = dwarf_attr(die, name, &attr, &dw->dw_err)) == DW_DLV_OK) { in die_attr()
335 terminate("die %llu: no attr 0x%x\n", die_off(dw, die), in die_attr()
343 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_attr()
349 die_signed(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, Dwarf_Signed *valp, in die_signed() argument
353 if (dwarf_attrval_signed(die, name, valp, &dw->dw_err) != DW_DLV_OK) { in die_signed()
356 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_signed()
364 die_unsigned(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, Dwarf_Unsigned *valp, in die_unsigned() argument
368 if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != DW_DLV_OK) { in die_unsigned()
371 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_unsigned()
379 die_bool(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, Dwarf_Bool *valp, int req) in die_bool() argument
383 if (dwarf_attrval_flag(die, name, valp, &dw->dw_err) != DW_DLV_OK) { in die_bool()
386 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_bool()
394 die_string(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, char **strp, int req) in die_string() argument
398 if (dwarf_attrval_string(die, name, &str, &dw->dw_err) != DW_DLV_OK || in die_string()
402 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_string()
413 die_attr_ref(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name) in die_attr_ref() argument
417 if (dwarf_attrval_unsigned(die, name, &off, &dw->dw_err) != DW_DLV_OK) { in die_attr_ref()
419 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_attr_ref()
426 die_name(dwarf_t *dw, Dwarf_Die die) in die_name() argument
430 (void) die_string(dw, die, DW_AT_name, &str, 0); in die_name()
438 die_isdecl(dwarf_t *dw, Dwarf_Die die) in die_isdecl() argument
442 return (die_bool(dw, die, DW_AT_declaration, &val, 0) && val); in die_isdecl()
446 die_isglobal(dwarf_t *dw, Dwarf_Die die) in die_isglobal() argument
455 if (die_signed(dw, die, DW_AT_visibility, &vis, 0)) in die_isglobal()
458 return (die_bool(dw, die, DW_AT_external, &ext, 0) && ext); in die_isglobal()
462 die_add(dwarf_t *dw, Dwarf_Off off) in die_add() argument
468 tdesc_add(dw, tdp); in die_add()
474 die_lookup_pass1(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name) in die_lookup_pass1() argument
476 Dwarf_Off ref = die_attr_ref(dw, die, name); in die_lookup_pass1()
479 if ((tdp = tdesc_lookup(dw, ref)) != NULL) in die_lookup_pass1()
482 return (die_add(dw, ref)); in die_lookup_pass1()
486 die_mem_offset(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, in die_mem_offset() argument
496 "DW_AT_data_member_location\n", die_off(dw, die)); in die_mem_offset()
498 if ((at = die_attr(dw, die, name, 0)) == NULL) in die_mem_offset()
501 if (dwarf_whatform(at, &form, &dw->dw_err) != DW_DLV_OK) in die_mem_offset()
516 if (dwarf_loclist(at, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) in die_mem_offset()
521 die_off(dw, die)); in die_mem_offset()
525 dwarf_dealloc(dw->dw_dw, loc->ld_s, DW_DLA_LOC_BLOCK); in die_mem_offset()
526 dwarf_dealloc(dw->dw_dw, loc, DW_DLA_LOCDESC); in die_mem_offset()
549 if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != in die_mem_offset()
556 "%u\n", die_off(dw, die), form); in die_mem_offset()
563 tdesc_intr_common(dwarf_t *dw, int tid, const char *name, size_t sz) in tdesc_intr_common() argument
581 tdesc_add(dw, tdp); in tdesc_intr_common()
596 tdesc_intr_void(dwarf_t *dw) in tdesc_intr_void() argument
598 if (dw->dw_void == NULL) in tdesc_intr_void()
599 dw->dw_void = tdesc_intr_common(dw, TID_VOID, "void", 0); in tdesc_intr_void()
601 return (dw->dw_void); in tdesc_intr_void()
605 tdesc_intr_long(dwarf_t *dw) in tdesc_intr_long() argument
607 if (dw->dw_long == NULL) { in tdesc_intr_long()
608 dw->dw_long = tdesc_intr_common(dw, TID_LONG, "long", in tdesc_intr_long()
609 dw->dw_ptrsz); in tdesc_intr_long()
612 return (dw->dw_long); in tdesc_intr_long()
621 tdesc_intr_clone(dwarf_t *dw, tdesc_t *old, size_t bitsz, const char *suffix) in tdesc_intr_clone() argument
632 new->t_id = mfgtid_next(dw); in tdesc_intr_clone()
640 tdesc_add(dw, new); in tdesc_intr_clone()
646 tdesc_array_create(dwarf_t *dw, Dwarf_Die dim, tdesc_t *arrtdp, in tdesc_array_create() argument
655 if ((dim2 = die_sibling(dw, dim)) == NULL) { in tdesc_array_create()
657 } else if (die_tag(dw, dim2) == DW_TAG_subrange_type) { in tdesc_array_create()
659 ctdp->t_id = mfgtid_next(dw); in tdesc_array_create()
661 die_off(dw, dim2), ctdp->t_id); in tdesc_array_create()
662 tdesc_array_create(dw, dim2, arrtdp, ctdp); in tdesc_array_create()
665 die_off(dw, dim2)); in tdesc_array_create()
682 if (die_unsigned(dw, dim, DW_AT_upper_bound, &uval, 0)) in tdesc_array_create()
684 else if (die_signed(dw, dim, DW_AT_upper_bound, &sval, 0)) in tdesc_array_create()
686 else if (die_unsigned(dw, dim, DW_AT_count, &uval, 0)) in tdesc_array_create()
688 else if (die_signed(dw, dim, DW_AT_count, &sval, 0)) in tdesc_array_create()
697 ar->ad_idxtype = tdesc_intr_long(dw); in tdesc_array_create()
712 die_array_create(dwarf_t *dw, Dwarf_Die arr, Dwarf_Off off, tdesc_t *tdp) in die_array_create() argument
714 tdesc_t *arrtdp = die_lookup_pass1(dw, arr, DW_AT_type); in die_array_create()
720 if ((dim = die_child(dw, arr)) == NULL || in die_array_create()
721 die_tag(dw, dim) != DW_TAG_subrange_type) in die_array_create()
724 tdesc_array_create(dw, dim, arrtdp, tdp); in die_array_create()
726 if (die_unsigned(dw, arr, DW_AT_byte_size, &uval, 0)) { in die_array_create()
757 dwarf_t *dw = private; in die_array_resolve() local
772 dw->dw_nunres++; in die_array_resolve()
806 die_enum_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_enum_create() argument
812 if (die_isdecl(dw, die)) { in die_enum_create()
821 (void) die_unsigned(dw, die, DW_AT_byte_size, &uval, DW_ATTR_REQ); in die_enum_create()
824 if ((mem = die_child(dw, die)) != NULL) { in die_enum_create()
830 if (die_tag(dw, mem) != DW_TAG_enumerator) { in die_enum_create()
832 die_create_one(dw, mem); in die_enum_create()
837 el->el_name = die_name(dw, mem); in die_enum_create()
839 if (die_signed(dw, mem, DW_AT_const_value, &sval, 0)) { in die_enum_create()
841 } else if (die_unsigned(dw, mem, DW_AT_const_value, in die_enum_create()
846 "value\n", off, die_off(dw, mem)); in die_enum_create()
850 die_off(dw, mem), el->el_name, el->el_number); in die_enum_create()
855 } while ((mem = die_sibling(dw, mem)) != NULL); in die_enum_create()
857 hash_add(dw->dw_enumhash, tdp); in die_enum_create()
867 iidesc_add(dw->dw_td->td_iihash, ii); in die_enum_create()
889 dwarf_t *dw = private; in die_enum_resolve() local
895 (void) hash_find_iter(dw->dw_enumhash, tdp, die_enum_match, &full); in die_enum_resolve()
932 die_sou_create(dwarf_t *dw, Dwarf_Die str, Dwarf_Off off, tdesc_t *tdp, in die_sou_create() argument
943 tdp->t_type = (die_isdecl(dw, str) ? FORWARD : type); in die_sou_create()
950 hash_add(dw->dw_fwdhash, tdp); in die_sou_create()
954 (void) hash_find_iter(dw->dw_fwdhash, tdp, die_fwd_map, tdp); in die_sou_create()
956 (void) die_unsigned(dw, str, DW_AT_byte_size, &sz, DW_ATTR_REQ); in die_sou_create()
962 if ((mem = die_child(dw, str)) == NULL) { in die_sou_create()
969 Dwarf_Off memoff = die_off(dw, mem); in die_sou_create()
970 Dwarf_Half tag = die_tag(dw, mem); in die_sou_create()
975 die_create_one(dw, mem); in die_sou_create()
990 if ((ml->ml_name = die_name(dw, mem)) == NULL) in die_sou_create()
993 ml->ml_type = die_lookup_pass1(dw, mem, DW_AT_type); in die_sou_create()
995 if (die_mem_offset(dw, mem, DW_AT_data_member_location, in die_sou_create()
1002 if (die_unsigned(dw, mem, DW_AT_bit_size, &bitsz, 0)) in die_sou_create()
1007 if (die_unsigned(dw, mem, DW_AT_data_bit_offset, &bitoff, 0)) { in die_sou_create()
1009 } else if (die_unsigned(dw, mem, DW_AT_bit_offset, &bitoff, 0)) { in die_sou_create()
1026 if (die_unsigned(dw, mem, DW_AT_byte_size, &bysz, 0) && in die_sou_create()
1041 } while ((mem = die_sibling(dw, mem)) != NULL); in die_sou_create()
1084 iidesc_add(dw->dw_td->td_iihash, ii); in die_sou_create()
1089 die_struct_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_struct_create() argument
1091 die_sou_create(dw, die, off, tdp, STRUCT, "struct"); in die_struct_create()
1095 die_union_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_union_create() argument
1097 die_sou_create(dw, die, off, tdp, UNION, "union"); in die_union_create()
1104 dwarf_t *dw = private; in die_sou_resolve() local
1142 dw->dw_nunres++; in die_sou_resolve()
1147 dw->dw_nunres++; in die_sou_resolve()
1163 ml->ml_type = tdesc_intr_clone(dw, mt, ml->ml_size, in die_sou_resolve()
1197 die_funcptr_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_funcptr_create() argument
1211 for (arg = die_child(dw, die); arg != NULL; in die_funcptr_create()
1212 arg = die_sibling(dw, arg)) { in die_funcptr_create()
1213 if ((tag = die_tag(dw, arg)) != DW_TAG_formal_parameter && in die_funcptr_create()
1216 die_create_one(dw, arg); in die_funcptr_create()
1220 if (die_isdecl(dw, die)) { in die_funcptr_create()
1234 if ((attr = die_attr(dw, die, DW_AT_type, 0)) != NULL) { in die_funcptr_create()
1235 fn->fn_ret = die_lookup_pass1(dw, die, DW_AT_type); in die_funcptr_create()
1237 fn->fn_ret = tdesc_intr_void(dw); in die_funcptr_create()
1243 for (fn->fn_nargs = 0, arg = die_child(dw, die); arg != NULL; in die_funcptr_create()
1244 arg = die_sibling(dw, arg)) { in die_funcptr_create()
1245 if ((tag = die_tag(dw, arg)) == DW_TAG_formal_parameter) in die_funcptr_create()
1257 for (i = 0, arg = die_child(dw, die); in die_funcptr_create()
1259 arg = die_sibling(dw, arg)) { in die_funcptr_create()
1260 if (die_tag(dw, arg) != DW_TAG_formal_parameter) in die_funcptr_create()
1263 fn->fn_args[i++] = die_lookup_pass1(dw, arg, in die_funcptr_create()
1372 die_base_type2enc(dwarf_t *dw, Dwarf_Off off, Dwarf_Unsigned enc, size_t sz) in die_base_type2enc() argument
1375 uint_t szidx = dw->dw_ptrsz == sizeof (uint64_t); in die_base_type2enc()
1400 die_base_from_dwarf(dwarf_t *dw, Dwarf_Die base, Dwarf_Off off, size_t sz) in die_base_from_dwarf() argument
1405 (void) die_unsigned(dw, base, DW_AT_encoding, &enc, DW_ATTR_REQ); in die_base_from_dwarf()
1439 intr->intr_fformat = die_base_type2enc(dw, off, enc, sz); in die_base_from_dwarf()
1450 die_base_create(dwarf_t *dw, Dwarf_Die base, Dwarf_Off off, tdesc_t *tdp) in die_base_create() argument
1467 (void) die_unsigned(dw, base, DW_AT_byte_size, &sz, DW_ATTR_REQ); in die_base_create()
1488 intr = die_base_from_dwarf(dw, base, off, sz); in die_base_create()
1501 die_through_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp, in die_through_create() argument
1510 if ((attr = die_attr(dw, die, DW_AT_type, 0)) != NULL) { in die_through_create()
1511 tdp->t_tdesc = die_lookup_pass1(dw, die, DW_AT_type); in die_through_create()
1513 tdp->t_tdesc = tdesc_intr_void(dw); in die_through_create()
1517 tdp->t_size = dw->dw_ptrsz; in die_through_create()
1527 iidesc_add(dw->dw_td->td_iihash, ii); in die_through_create()
1532 die_typedef_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_typedef_create() argument
1534 die_through_create(dw, die, off, tdp, TYPEDEF, "typedef"); in die_typedef_create()
1538 die_const_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_const_create() argument
1540 die_through_create(dw, die, off, tdp, CONST, "const"); in die_const_create()
1544 die_pointer_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_pointer_create() argument
1546 die_through_create(dw, die, off, tdp, POINTER, "pointer"); in die_pointer_create()
1550 die_restrict_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_restrict_create() argument
1552 die_through_create(dw, die, off, tdp, RESTRICT, "restrict"); in die_restrict_create()
1556 die_volatile_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_volatile_create() argument
1558 die_through_create(dw, die, off, tdp, VOLATILE, "volatile"); in die_volatile_create()
1563 die_function_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp __unused) in die_function_create() argument
1576 for (arg = die_child(dw, die); arg != NULL; in die_function_create()
1577 arg = die_sibling(dw, arg)) { in die_function_create()
1578 if ((tag = die_tag(dw, arg)) != DW_TAG_formal_parameter && in die_function_create()
1581 die_create_one(dw, arg); in die_function_create()
1585 if (die_isdecl(dw, die) || (name = die_name(dw, die)) == NULL) { in die_function_create()
1594 ii->ii_type = die_isglobal(dw, die) ? II_GFUN : II_SFUN; in die_function_create()
1597 ii->ii_owner = xstrdup(dw->dw_cuname); in die_function_create()
1602 if (die_attr(dw, die, DW_AT_type, 0) != NULL) in die_function_create()
1603 ii->ii_dtype = die_lookup_pass1(dw, die, DW_AT_type); in die_function_create()
1605 ii->ii_dtype = tdesc_intr_void(dw); in die_function_create()
1607 for (arg = die_child(dw, die); arg != NULL; in die_function_create()
1608 arg = die_sibling(dw, arg)) { in die_function_create()
1612 off, die_off(dw, die)); in die_function_create()
1614 if (die_tag(dw, arg) != DW_TAG_formal_parameter) in die_function_create()
1617 if ((name1 = die_name(dw, arg)) == NULL) { in die_function_create()
1640 for (arg = die_child(dw, die), i = 0; in die_function_create()
1642 arg = die_sibling(dw, arg)) { in die_function_create()
1643 if (die_tag(dw, arg) != DW_TAG_formal_parameter) in die_function_create()
1646 ii->ii_args[i++] = die_lookup_pass1(dw, arg, in die_function_create()
1651 iidesc_add(dw->dw_td->td_iihash, ii); in die_function_create()
1656 die_variable_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp __unused) in die_variable_create() argument
1663 if (die_isdecl(dw, die) || (name = die_name(dw, die)) == NULL) in die_variable_create()
1667 ii->ii_type = die_isglobal(dw, die) ? II_GVAR : II_SVAR; in die_variable_create()
1669 ii->ii_dtype = die_lookup_pass1(dw, die, DW_AT_type); in die_variable_create()
1671 ii->ii_owner = xstrdup(dw->dw_cuname); in die_variable_create()
1673 iidesc_add(dw->dw_td->td_iihash, ii); in die_variable_create()
1696 die_lexblk_descend(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off __unused, tdesc_t *tdp __unused) in die_lexblk_descend() argument
1698 Dwarf_Die child = die_child(dw, die); in die_lexblk_descend()
1701 die_create(dw, child); in die_lexblk_descend()
1751 die_create_one(dwarf_t *dw, Dwarf_Die die) in die_create_one() argument
1753 Dwarf_Off off = die_off(dw, die); in die_create_one()
1760 if (off > dw->dw_maxoff) { in die_create_one()
1762 dw->dw_maxoff); in die_create_one()
1765 tag = die_tag(dw, die); in die_create_one()
1772 if ((tdp = tdesc_lookup(dw, off)) == NULL && in die_create_one()
1776 tdesc_add(dw, tdp); in die_create_one()
1780 tdp->t_name = die_name(dw, die); in die_create_one()
1782 dc->dc_create(dw, die, off, tdp); in die_create_one()
1786 die_create(dwarf_t *dw, Dwarf_Die die) in die_create() argument
1789 die_create_one(dw, die); in die_create()
1790 } while ((die = die_sibling(dw, die)) != NULL); in die_create()
1828 die_resolve(dwarf_t *dw) in die_resolve() argument
1835 dw->dw_nunres = 0; in die_resolve()
1837 (void) iitraverse_hash(dw->dw_td->td_iihash, in die_resolve()
1838 &dw->dw_td->td_curvgen, NULL, NULL, die_resolvers, dw); in die_resolve()
1840 debug(3, "resolve: pass %d, %u left\n", pass, dw->dw_nunres); in die_resolve()
1842 if ((int) dw->dw_nunres == last) { in die_resolve()
1846 (void) iitraverse_hash(dw->dw_td->td_iihash, in die_resolve()
1847 &dw->dw_td->td_curvgen, NULL, NULL, in die_resolve()
1848 die_fail_reporters, dw); in die_resolve()
1853 last = dw->dw_nunres; in die_resolve()
1855 } while (dw->dw_nunres != 0); in die_resolve()
1919 dwarf_t dw; in dw_read() local
1923 bzero(&dw, sizeof (dwarf_t)); in dw_read()
1924 dw.dw_td = td; in dw_read()
1925 dw.dw_ptrsz = elf_ptrsz(elf); in dw_read()
1926 dw.dw_mfgtid_last = TID_MFGTID_BASE; in dw_read()
1927 dw.dw_tidhash = hash_new(TDESC_HASH_BUCKETS, tdesc_idhash, tdesc_idcmp); in dw_read()
1928 dw.dw_fwdhash = hash_new(TDESC_HASH_BUCKETS, tdesc_namehash, in dw_read()
1930 dw.dw_enumhash = hash_new(TDESC_HASH_BUCKETS, tdesc_namehash, in dw_read()
1933 if ((rc = dwarf_elf_init(elf, DW_DLC_READ, NULL, NULL, &dw.dw_dw, in dw_read()
1934 &dw.dw_err)) == DW_DLV_NO_ENTRY) { in dw_read()
1942 if (dwarf_errno(dw.dw_err) == DW_DLE_DEBUG_INFO_NULL) { in dw_read()
1951 dwarf_errmsg(dw.dw_err)); in dw_read()
1954 if ((rc = dwarf_next_cu_header_b(dw.dw_dw, &hdrlen, &vers, &abboff, in dw_read()
1955 &addrsz, &offsz, NULL, &nxthdr, &dw.dw_err)) != DW_DLV_OK) { in dw_read()
1956 if (dw.dw_err.err_error == DW_DLE_NO_ENTRY) in dw_read()
1959 terminate("rc = %d %s\n", rc, dwarf_errmsg(dw.dw_err)); in dw_read()
1961 if ((cu = die_sibling(&dw, NULL)) == NULL || in dw_read()
1962 (((child = die_child(&dw, cu)) == NULL) && in dw_read()
1970 dw.dw_maxoff = nxthdr - 1; in dw_read()
1972 if (dw.dw_maxoff > TID_FILEMAX) in dw_read()
1981 if (die_string(&dw, cu, DW_AT_producer, &prod, 0)) { in dw_read()
1986 if (dwarf_attrval_unsigned(cu, DW_AT_language, &lang, &dw.dw_err) == 0) in dw_read()
2004 die_off(&dw, cu), dwarf_errmsg(dw.dw_err)); in dw_read()
2006 if ((dw.dw_cuname = die_name(&dw, cu)) != NULL) { in dw_read()
2007 char *base = xstrdup(basename(dw.dw_cuname)); in dw_read()
2008 free(dw.dw_cuname); in dw_read()
2009 dw.dw_cuname = base; in dw_read()
2011 debug(1, "CU name: %s\n", dw.dw_cuname); in dw_read()
2014 if ((child = die_child(&dw, cu)) != NULL) in dw_read()
2015 die_create(&dw, child); in dw_read()
2017 if ((rc = dwarf_next_cu_header_b(dw.dw_dw, &hdrlen, &vers, &abboff, in dw_read()
2018 &addrsz, &offsz, NULL, &nxthdr, &dw.dw_err)) != DW_DLV_NO_ENTRY) in dw_read()
2021 (void) dwarf_finish(dw.dw_dw, &dw.dw_err); in dw_read()
2023 die_resolve(&dw); in dw_read()
2025 cvt_fixups(td, dw.dw_ptrsz); in dw_read()