Lines Matching refs:dw

150 mfgtid_next(dwarf_t *dw)  in mfgtid_next()  argument
152 return (++dw->dw_mfgtid_last); in mfgtid_next()
156 tdesc_add(dwarf_t *dw, tdesc_t *tdp) in tdesc_add() argument
158 hash_add(dw->dw_tidhash, tdp); in tdesc_add()
162 tdesc_lookup(dwarf_t *dw, int tid) in tdesc_lookup() argument
168 if (hash_find(dw->dw_tidhash, &tmpl, (void **)&tdp)) in tdesc_lookup()
268 die_off(dwarf_t *dw, Dwarf_Die die) in die_off() argument
272 if (dwarf_dieoffset(die, &off, &dw->dw_err) == DW_DLV_OK) in die_off()
276 dwarf_errmsg(dw->dw_err)); in die_off()
282 die_sibling(dwarf_t *dw, Dwarf_Die die) in die_sibling() argument
287 if ((rc = dwarf_siblingof(dw->dw_dw, die, &sib, &dw->dw_err)) == in die_sibling()
294 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_sibling()
300 die_child(dwarf_t *dw, Dwarf_Die die) in die_child() argument
305 if ((rc = dwarf_child(die, &child, &dw->dw_err)) == DW_DLV_OK) in die_child()
311 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_child()
317 die_tag(dwarf_t *dw, Dwarf_Die die) in die_tag() argument
321 if (dwarf_tag(die, &tag, &dw->dw_err) == DW_DLV_OK) in die_tag()
325 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_tag()
331 die_attr(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, int req) in die_attr() argument
336 if ((rc = dwarf_attr(die, name, &attr, &dw->dw_err)) == DW_DLV_OK) { in die_attr()
340 terminate("die %llu: no attr 0x%x\n", die_off(dw, die), in die_attr()
348 die_off(dw, die), dwarf_errmsg(dw->dw_err)); in die_attr()
354 die_attr_form(dwarf_t *dw, Dwarf_Attribute attr) in die_attr_form() argument
358 if (dwarf_whatform(attr, &form, &dw->dw_err) == DW_DLV_OK) in die_attr_form()
362 dwarf_errmsg(dw->dw_err)); in die_attr_form()
399 die_signed(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, Dwarf_Signed *valp, in die_signed() argument
405 if ((attr = die_attr(dw, die, name, req)) == NULL) in die_signed()
408 if (dwarf_formsdata(attr, &val, &dw->dw_err) != DW_DLV_OK) { in die_signed()
413 die_off(dw, die), die_attr_form(dw, attr)); in die_signed()
416 dwarf_dealloc(dw->dw_dw, attr, DW_DLA_ATTR); in die_signed()
423 die_unsigned(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, Dwarf_Unsigned *valp, in die_unsigned() argument
429 if ((attr = die_attr(dw, die, name, req)) == NULL) in die_unsigned()
432 if (dwarf_formudata(attr, &val, &dw->dw_err) != DW_DLV_OK) { in die_unsigned()
437 die_off(dw, die), die_attr_form(dw, attr)); in die_unsigned()
440 dwarf_dealloc(dw->dw_dw, attr, DW_DLA_ATTR); in die_unsigned()
447 die_bool(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, Dwarf_Bool *valp, int req) in die_bool() argument
452 if ((attr = die_attr(dw, die, name, req)) == NULL) in die_bool()
455 if (dwarf_formflag(attr, &val, &dw->dw_err) != DW_DLV_OK) { in die_bool()
460 die_off(dw, die), die_attr_form(dw, attr)); in die_bool()
463 dwarf_dealloc(dw->dw_dw, attr, DW_DLA_ATTR); in die_bool()
470 die_string(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, char **strp, int req) in die_string() argument
475 if ((attr = die_attr(dw, die, name, req)) == NULL) in die_string()
478 if (dwarf_formstring(attr, &str, &dw->dw_err) != DW_DLV_OK) { in die_string()
483 die_off(dw, die), die_attr_form(dw, attr)); in die_string()
487 dwarf_dealloc(dw->dw_dw, str, DW_DLA_STRING); in die_string()
493 die_attr_ref(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name) in die_attr_ref() argument
498 attr = die_attr(dw, die, name, DW_ATTR_REQ); in die_attr_ref()
500 if (dwarf_formref(attr, &off, &dw->dw_err) != DW_DLV_OK) { in die_attr_ref()
502 die_off(dw, die), die_attr_form(dw, attr)); in die_attr_ref()
505 dwarf_dealloc(dw->dw_dw, attr, DW_DLA_ATTR); in die_attr_ref()
511 die_name(dwarf_t *dw, Dwarf_Die die) in die_name() argument
515 (void) die_string(dw, die, DW_AT_name, &str, 0); in die_name()
521 die_isdecl(dwarf_t *dw, Dwarf_Die die) in die_isdecl() argument
525 return (die_bool(dw, die, DW_AT_declaration, &val, 0) && val); in die_isdecl()
529 die_isglobal(dwarf_t *dw, Dwarf_Die die) in die_isglobal() argument
538 if (die_signed(dw, die, DW_AT_visibility, &vis, 0)) in die_isglobal()
541 return (die_bool(dw, die, DW_AT_external, &ext, 0) && ext); in die_isglobal()
545 die_add(dwarf_t *dw, Dwarf_Off off) in die_add() argument
551 tdesc_add(dw, tdp); in die_add()
557 die_lookup_pass1(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name) in die_lookup_pass1() argument
559 Dwarf_Off ref = die_attr_ref(dw, die, name); in die_lookup_pass1()
562 if ((tdp = tdesc_lookup(dw, ref)) != NULL) in die_lookup_pass1()
565 return (die_add(dw, ref)); in die_lookup_pass1()
569 die_mem_offset(dwarf_t *dw, Dwarf_Die die, Dwarf_Half name, in die_mem_offset() argument
576 if ((attr = die_attr(dw, die, name, req)) == NULL) in die_mem_offset()
579 if (dwarf_loclist(attr, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) { in die_mem_offset()
581 die_off(dw, die)); in die_mem_offset()
584 dwarf_dealloc(dw->dw_dw, attr, DW_DLA_ATTR); in die_mem_offset()
588 die_off(dw, die)); in die_mem_offset()
593 dwarf_dealloc(dw->dw_dw, loc->ld_s, DW_DLA_LOC_BLOCK); in die_mem_offset()
594 dwarf_dealloc(dw->dw_dw, loc, DW_DLA_LOCDESC); in die_mem_offset()
600 tdesc_intr_common(dwarf_t *dw, int tid, const char *name, size_t sz) in tdesc_intr_common() argument
618 tdesc_add(dw, tdp); in tdesc_intr_common()
633 tdesc_intr_void(dwarf_t *dw) in tdesc_intr_void() argument
635 if (dw->dw_void == NULL) in tdesc_intr_void()
636 dw->dw_void = tdesc_intr_common(dw, TID_VOID, "void", 0); in tdesc_intr_void()
638 return (dw->dw_void); in tdesc_intr_void()
642 tdesc_intr_long(dwarf_t *dw) in tdesc_intr_long() argument
644 if (dw->dw_long == NULL) { in tdesc_intr_long()
645 dw->dw_long = tdesc_intr_common(dw, TID_LONG, "long", in tdesc_intr_long()
646 dw->dw_ptrsz); in tdesc_intr_long()
649 return (dw->dw_long); in tdesc_intr_long()
658 tdesc_intr_clone(dwarf_t *dw, tdesc_t *old, size_t bitsz) in tdesc_intr_clone() argument
669 new->t_id = mfgtid_next(dw); in tdesc_intr_clone()
677 tdesc_add(dw, new); in tdesc_intr_clone()
683 tdesc_array_create(dwarf_t *dw, Dwarf_Die dim, tdesc_t *arrtdp, in tdesc_array_create() argument
692 if ((dim2 = die_sibling(dw, dim)) == NULL) { in tdesc_array_create()
694 } else if (die_tag(dw, dim2) == DW_TAG_subrange_type) { in tdesc_array_create()
696 ctdp->t_id = mfgtid_next(dw); in tdesc_array_create()
698 die_off(dw, dim2), ctdp->t_id); in tdesc_array_create()
699 tdesc_array_create(dw, dim2, arrtdp, ctdp); in tdesc_array_create()
702 die_off(dw, dim2)); in tdesc_array_create()
719 if (die_unsigned(dw, dim, DW_AT_upper_bound, &uval, 0)) in tdesc_array_create()
721 else if (die_signed(dw, dim, DW_AT_upper_bound, &sval, 0)) in tdesc_array_create()
730 ar->ad_idxtype = tdesc_intr_long(dw); in tdesc_array_create()
745 die_array_create(dwarf_t *dw, Dwarf_Die arr, Dwarf_Off off, tdesc_t *tdp) in die_array_create() argument
747 tdesc_t *arrtdp = die_lookup_pass1(dw, arr, DW_AT_type); in die_array_create()
753 if ((dim = die_child(dw, arr)) == NULL || in die_array_create()
754 die_tag(dw, dim) != DW_TAG_subrange_type) in die_array_create()
757 tdesc_array_create(dw, dim, arrtdp, tdp); in die_array_create()
759 if (die_unsigned(dw, arr, DW_AT_byte_size, &uval, 0)) { in die_array_create()
790 dwarf_t *dw = private; in die_array_resolve() local
804 dw->dw_nunres++; in die_array_resolve()
838 die_enum_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_enum_create() argument
848 (void) die_unsigned(dw, die, DW_AT_byte_size, &uval, DW_ATTR_REQ); in die_enum_create()
851 if ((mem = die_child(dw, die)) != NULL) { in die_enum_create()
857 if (die_tag(dw, mem) != DW_TAG_enumerator) { in die_enum_create()
859 die_create_one(dw, mem); in die_enum_create()
864 el->el_name = die_name(dw, mem); in die_enum_create()
866 if (die_signed(dw, mem, DW_AT_const_value, &sval, 0)) { in die_enum_create()
868 } else if (die_unsigned(dw, mem, DW_AT_const_value, in die_enum_create()
873 "value\n", off, die_off(dw, mem)); in die_enum_create()
877 die_off(dw, mem), el->el_name, el->el_number); in die_enum_create()
882 } while ((mem = die_sibling(dw, mem)) != NULL); in die_enum_create()
884 hash_add(dw->dw_enumhash, tdp); in die_enum_create()
894 iidesc_add(dw->dw_td->td_iihash, ii); in die_enum_create()
916 dwarf_t *dw = private; in die_enum_resolve() local
922 (void) hash_find_iter(dw->dw_enumhash, tdp, die_enum_match, &full); in die_enum_resolve()
959 die_sou_create(dwarf_t *dw, Dwarf_Die str, Dwarf_Off off, tdesc_t *tdp, in die_sou_create() argument
967 tdp->t_type = (die_isdecl(dw, str) ? FORWARD : type); in die_sou_create()
974 hash_add(dw->dw_fwdhash, tdp); in die_sou_create()
978 (void) hash_find_iter(dw->dw_fwdhash, tdp, die_fwd_map, tdp); in die_sou_create()
980 (void) die_unsigned(dw, str, DW_AT_byte_size, &sz, DW_ATTR_REQ); in die_sou_create()
986 if ((mem = die_child(dw, str)) == NULL) in die_sou_create()
992 Dwarf_Off memoff = die_off(dw, mem); in die_sou_create()
993 Dwarf_Half tag = die_tag(dw, mem); in die_sou_create()
998 die_create_one(dw, mem); in die_sou_create()
1013 if ((ml->ml_name = die_name(dw, mem)) == NULL) in die_sou_create()
1016 ml->ml_type = die_lookup_pass1(dw, mem, DW_AT_type); in die_sou_create()
1018 if (die_mem_offset(dw, mem, DW_AT_data_member_location, in die_sou_create()
1025 if (die_unsigned(dw, mem, DW_AT_bit_size, &bitsz, 0)) in die_sou_create()
1030 if (die_unsigned(dw, mem, DW_AT_bit_offset, &bitoff, 0)) { in die_sou_create()
1044 } while ((mem = die_sibling(dw, mem)) != NULL); in die_sou_create()
1087 iidesc_add(dw->dw_td->td_iihash, ii); in die_sou_create()
1092 die_struct_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_struct_create() argument
1094 die_sou_create(dw, die, off, tdp, STRUCT, "struct"); in die_struct_create()
1098 die_union_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_union_create() argument
1100 die_sou_create(dw, die, off, tdp, UNION, "union"); in die_union_create()
1107 dwarf_t *dw = private; in die_sou_resolve() local
1132 dw->dw_nunres++; in die_sou_resolve()
1137 dw->dw_nunres++; in die_sou_resolve()
1153 ml->ml_type = tdesc_intr_clone(dw, mt, ml->ml_size); in die_sou_resolve()
1185 die_funcptr_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_funcptr_create() argument
1199 for (arg = die_child(dw, die); arg != NULL; in die_funcptr_create()
1200 arg = die_sibling(dw, arg)) { in die_funcptr_create()
1201 if ((tag = die_tag(dw, arg)) != DW_TAG_formal_parameter && in die_funcptr_create()
1204 die_create_one(dw, arg); in die_funcptr_create()
1208 if (die_isdecl(dw, die)) { in die_funcptr_create()
1222 if ((attr = die_attr(dw, die, DW_AT_type, 0)) != NULL) { in die_funcptr_create()
1223 dwarf_dealloc(dw->dw_dw, attr, DW_DLA_ATTR); in die_funcptr_create()
1224 fn->fn_ret = die_lookup_pass1(dw, die, DW_AT_type); in die_funcptr_create()
1226 fn->fn_ret = tdesc_intr_void(dw); in die_funcptr_create()
1232 for (fn->fn_nargs = 0, arg = die_child(dw, die); arg != NULL; in die_funcptr_create()
1233 arg = die_sibling(dw, arg)) { in die_funcptr_create()
1234 if ((tag = die_tag(dw, arg)) == DW_TAG_formal_parameter) in die_funcptr_create()
1246 for (i = 0, arg = die_child(dw, die); in die_funcptr_create()
1248 arg = die_sibling(dw, arg)) { in die_funcptr_create()
1249 if (die_tag(dw, arg) != DW_TAG_formal_parameter) in die_funcptr_create()
1252 fn->fn_args[i++] = die_lookup_pass1(dw, arg, in die_funcptr_create()
1360 die_base_type2enc(dwarf_t *dw, Dwarf_Off off, Dwarf_Signed enc, size_t sz) in die_base_type2enc() argument
1363 uint_t szidx = dw->dw_ptrsz == sizeof (uint64_t); in die_base_type2enc()
1385 die_base_from_dwarf(dwarf_t *dw, Dwarf_Die base, Dwarf_Off off, size_t sz) in die_base_from_dwarf() argument
1390 (void) die_signed(dw, base, DW_AT_encoding, &enc, DW_ATTR_REQ); in die_base_from_dwarf()
1422 intr->intr_fformat = die_base_type2enc(dw, off, enc, sz); in die_base_from_dwarf()
1433 die_base_create(dwarf_t *dw, Dwarf_Die base, Dwarf_Off off, tdesc_t *tdp) in die_base_create() argument
1450 (void) die_unsigned(dw, base, DW_AT_byte_size, &sz, DW_ATTR_REQ); in die_base_create()
1471 intr = die_base_from_dwarf(dw, base, off, sz); in die_base_create()
1484 die_through_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp, in die_through_create() argument
1493 if ((attr = die_attr(dw, die, DW_AT_type, 0)) != NULL) { in die_through_create()
1494 dwarf_dealloc(dw->dw_dw, attr, DW_DLA_ATTR); in die_through_create()
1495 tdp->t_tdesc = die_lookup_pass1(dw, die, DW_AT_type); in die_through_create()
1497 tdp->t_tdesc = tdesc_intr_void(dw); in die_through_create()
1501 tdp->t_size = dw->dw_ptrsz; in die_through_create()
1511 iidesc_add(dw->dw_td->td_iihash, ii); in die_through_create()
1516 die_typedef_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_typedef_create() argument
1518 die_through_create(dw, die, off, tdp, TYPEDEF, "typedef"); in die_typedef_create()
1522 die_const_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_const_create() argument
1524 die_through_create(dw, die, off, tdp, CONST, "const"); in die_const_create()
1528 die_pointer_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_pointer_create() argument
1530 die_through_create(dw, die, off, tdp, POINTER, "pointer"); in die_pointer_create()
1534 die_restrict_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_restrict_create() argument
1536 die_through_create(dw, die, off, tdp, RESTRICT, "restrict"); in die_restrict_create()
1540 die_volatile_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_volatile_create() argument
1542 die_through_create(dw, die, off, tdp, VOLATILE, "volatile"); in die_volatile_create()
1547 die_function_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_function_create() argument
1560 for (arg = die_child(dw, die); arg != NULL; in die_function_create()
1561 arg = die_sibling(dw, arg)) { in die_function_create()
1562 if ((tag = die_tag(dw, arg)) != DW_TAG_formal_parameter && in die_function_create()
1565 die_create_one(dw, arg); in die_function_create()
1569 if (die_isdecl(dw, die) || (name = die_name(dw, die)) == NULL) { in die_function_create()
1578 ii->ii_type = die_isglobal(dw, die) ? II_GFUN : II_SFUN; in die_function_create()
1581 ii->ii_owner = xstrdup(dw->dw_cuname); in die_function_create()
1586 if (die_attr(dw, die, DW_AT_type, 0) != NULL) in die_function_create()
1587 ii->ii_dtype = die_lookup_pass1(dw, die, DW_AT_type); in die_function_create()
1589 ii->ii_dtype = tdesc_intr_void(dw); in die_function_create()
1591 for (arg = die_child(dw, die); arg != NULL; in die_function_create()
1592 arg = die_sibling(dw, arg)) { in die_function_create()
1596 off, die_off(dw, die)); in die_function_create()
1598 if (die_tag(dw, arg) != DW_TAG_formal_parameter) in die_function_create()
1601 if ((name = die_name(dw, arg)) == NULL) { in die_function_create()
1623 for (arg = die_child(dw, die), i = 0; in die_function_create()
1625 arg = die_sibling(dw, arg)) { in die_function_create()
1626 if (die_tag(dw, arg) != DW_TAG_formal_parameter) in die_function_create()
1629 ii->ii_args[i++] = die_lookup_pass1(dw, arg, in die_function_create()
1634 iidesc_add(dw->dw_td->td_iihash, ii); in die_function_create()
1639 die_variable_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_variable_create() argument
1646 if (die_isdecl(dw, die) || (name = die_name(dw, die)) == NULL) in die_variable_create()
1650 ii->ii_type = die_isglobal(dw, die) ? II_GVAR : II_SVAR; in die_variable_create()
1652 ii->ii_dtype = die_lookup_pass1(dw, die, DW_AT_type); in die_variable_create()
1654 ii->ii_owner = xstrdup(dw->dw_cuname); in die_variable_create()
1656 iidesc_add(dw->dw_td->td_iihash, ii); in die_variable_create()
1679 die_lexblk_descend(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) in die_lexblk_descend() argument
1681 Dwarf_Die child = die_child(dw, die); in die_lexblk_descend()
1684 die_create(dw, child); in die_lexblk_descend()
1734 die_create_one(dwarf_t *dw, Dwarf_Die die) in die_create_one() argument
1736 Dwarf_Off off = die_off(dw, die); in die_create_one()
1743 if (off > dw->dw_maxoff) { in die_create_one()
1745 dw->dw_maxoff); in die_create_one()
1748 tag = die_tag(dw, die); in die_create_one()
1755 if ((tdp = tdesc_lookup(dw, off)) == NULL && in die_create_one()
1759 tdesc_add(dw, tdp); in die_create_one()
1763 tdp->t_name = die_name(dw, die); in die_create_one()
1765 dc->dc_create(dw, die, off, tdp); in die_create_one()
1769 die_create(dwarf_t *dw, Dwarf_Die die) in die_create() argument
1772 die_create_one(dw, die); in die_create()
1773 } while ((die = die_sibling(dw, die)) != NULL); in die_create()
1811 die_resolve(dwarf_t *dw) in die_resolve() argument
1818 dw->dw_nunres = 0; in die_resolve()
1820 (void) iitraverse_hash(dw->dw_td->td_iihash, in die_resolve()
1821 &dw->dw_td->td_curvgen, NULL, NULL, die_resolvers, dw); in die_resolve()
1823 debug(3, "resolve: pass %d, %u left\n", pass, dw->dw_nunres); in die_resolve()
1825 if (dw->dw_nunres == last) { in die_resolve()
1829 (void) iitraverse_hash(dw->dw_td->td_iihash, in die_resolve()
1830 &dw->dw_td->td_curvgen, NULL, NULL, in die_resolve()
1831 die_fail_reporters, dw); in die_resolve()
1836 last = dw->dw_nunres; in die_resolve()
1838 } while (dw->dw_nunres != 0); in die_resolve()
1901 dwarf_t dw; in dw_read() local
1905 bzero(&dw, sizeof (dwarf_t)); in dw_read()
1906 dw.dw_td = td; in dw_read()
1907 dw.dw_ptrsz = elf_ptrsz(elf); in dw_read()
1908 dw.dw_mfgtid_last = TID_MFGTID_BASE; in dw_read()
1909 dw.dw_tidhash = hash_new(TDESC_HASH_BUCKETS, tdesc_idhash, tdesc_idcmp); in dw_read()
1910 dw.dw_fwdhash = hash_new(TDESC_HASH_BUCKETS, tdesc_namehash, in dw_read()
1912 dw.dw_enumhash = hash_new(TDESC_HASH_BUCKETS, tdesc_namehash, in dw_read()
1915 if ((rc = dwarf_elf_init(elf, DW_DLC_READ, NULL, NULL, &dw.dw_dw, in dw_read()
1916 &dw.dw_err)) == DW_DLV_NO_ENTRY) { in dw_read()
1924 if (dwarf_errno(dw.dw_err) == DW_DLE_DEBUG_INFO_NULL) { in dw_read()
1933 dwarf_errmsg(dw.dw_err)); in dw_read()
1936 if ((rc = dwarf_next_cu_header(dw.dw_dw, &hdrlen, &vers, &abboff, in dw_read()
1937 &addrsz, &nxthdr, &dw.dw_err)) != DW_DLV_OK) in dw_read()
1939 dwarf_errmsg(dw.dw_err)); in dw_read()
1945 if ((cu = die_sibling(&dw, NULL)) == NULL || in dw_read()
1946 ((child = die_child(&dw, cu)) == NULL) && in dw_read()
1954 dw.dw_maxoff = nxthdr - 1; in dw_read()
1956 if (dw.dw_maxoff > TID_FILEMAX) in dw_read()
1965 if (die_string(&dw, cu, DW_AT_producer, &prod, 0)) { in dw_read()
1970 if ((dw.dw_cuname = die_name(&dw, cu)) != NULL) { in dw_read()
1971 char *base = xstrdup(basename(dw.dw_cuname)); in dw_read()
1972 free(dw.dw_cuname); in dw_read()
1973 dw.dw_cuname = base; in dw_read()
1975 debug(1, "CU name: %s\n", dw.dw_cuname); in dw_read()
1978 die_create(&dw, child); in dw_read()
1980 if ((rc = dwarf_next_cu_header(dw.dw_dw, &hdrlen, &vers, &abboff, in dw_read()
1981 &addrsz, &nxthdr, &dw.dw_err)) != DW_DLV_NO_ENTRY) in dw_read()
1984 (void) dwarf_finish(dw.dw_dw, &dw.dw_err); in dw_read()
1986 die_resolve(&dw); in dw_read()
1988 cvt_fixups(td, dw.dw_ptrsz); in dw_read()