Home | History | Annotate | Download | only in libdwfl

Lines Matching defs:cu

84 	     to the same CU.  We don't care about the little gaps inside the
85 module, we'll consider them part of the surrounding CU anyway.
87 pointing to one CU. */
95 aranges[naranges].cu = NULL;
153 struct dwfl_cu *cu = arg;
154 if (cu == (void *) -1l)
157 assert (cu->mod->lazycu == 0);
173 cudie_offset (const struct dwfl_cu *cu)
175 return cu->die.cu->start + 3 * cu->die.cu->offset_size - 4 + 3;
184 /* Intern the CU if necessary. */
190 key.die.cu = &dwkey;
208 /* This is a new entry, meaning we haven't looked at this CU. */
212 struct dwfl_cu *cu = malloc (sizeof *cu);
213 if (unlikely (cu == NULL))
216 cu->mod = mod;
217 cu->next = NULL;
218 cu->lines = NULL;
221 Dwarf_Die *die = INTUSE(dwarf_offdie) (mod->dw, cuoff, &cu->die);
224 assert (die == &cu->die);
226 struct dwfl_cu **newvec = realloc (mod->cu, ((mod->ncu + 1)
227 * sizeof (mod->cu[0])));
230 free (cu);
233 mod->cu = newvec;
235 mod->cu[mod->ncu++] = cu;
236 if (cu->die.cu->start == 0)
237 mod->first_cu = cu;
239 *found = cu;
253 struct dwfl_cu **cu)
267 cuoff = lastcu->die.cu->end;
281 *cu = NULL;
293 *cu = *nextp == (void *) -1l ? NULL : *nextp;
298 /* Intern the CU arange points to, if necessary. */
301 arangecu (Dwfl_Module *mod, struct dwfl_arange *arange, struct dwfl_cu **cu)
303 if (arange->cu == NULL)
306 Dwfl_Error result = intern_cu (mod, dwarange->offset, &arange->cu);
309 assert (arange->cu != NULL && arange->cu != (void *) -1l);
310 less_lazy (mod); /* Each arange with null ->cu counts once. */
313 *cu = arange->cu;
319 __libdwfl_addrcu (Dwfl_Module *mod, Dwarf_Addr addr, struct dwfl_cu **cu)
322 return addrarange (mod, addr, &arange) ?: arangecu (mod, arange, cu);