Lines Matching refs:abbrev
21 DwarfAbbrev *abbrev; in loadabbrevs() local
34 abbrev = malloc(nabbrev*sizeof(DwarfAbbrev) + nattr*sizeof(DwarfAttr)); in loadabbrevs()
35 attr = (DwarfAttr*)(abbrev+nabbrev); in loadabbrevs()
37 if(parseabbrevs(d, off, abbrev, attr, nil, nil) < 0){ in loadabbrevs()
38 free(abbrev); in loadabbrevs()
43 d->acache.a = abbrev; in loadabbrevs()
47 *aa = abbrev; in loadabbrevs()
52 parseabbrevs(Dwarf *d, ulong off, DwarfAbbrev *abbrev, DwarfAttr *attr, int *pnabbrev, int *pnattr) in parseabbrevs() argument
58 if(off >= d->abbrev.len){ in parseabbrevs()
59 werrstr("bad abbrev section offset 0x%lux >= 0x%lux", off, d->abbrev.len); in parseabbrevs()
64 b.p = d->abbrev.data + off; in parseabbrevs()
65 b.ep = d->abbrev.data + d->abbrev.len; in parseabbrevs()
78 werrstr("abbrev: num %d tag %x @ %x", num, tag, b.p - d->abbrev.data); in parseabbrevs()
91 if(abbrev){ in parseabbrevs()
92 abbrev->num = num; in parseabbrevs()
93 abbrev->tag = tag; in parseabbrevs()
94 abbrev->haskids = haskids; in parseabbrevs()
95 abbrev->attr = attr; in parseabbrevs()
96 abbrev->nattr = i; in parseabbrevs()
97 abbrev++; in parseabbrevs()