• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/elftoolchain/libdwarf/

Lines Matching defs:li

32 _dwarf_lineno_add_file(Dwarf_LineInfo li, uint8_t **p, const char *compdir,
52 if (lf->lf_dirndx > li->li_inclen) {
68 incdir = li->li_incdirs[lf->lf_dirndx - 1];
90 STAILQ_INSERT_TAIL(&li->li_lflist, lf, lf_next);
91 li->li_lflen++;
99 _dwarf_lineno_run_program(Dwarf_CU cu, Dwarf_LineInfo li, uint8_t *p,
114 is_stmt = li->li_defstmt; \
127 ln->ln_li = li; \
136 STAILQ_INSERT_TAIL(&li->li_lnlist, ln, ln_next);\
137 li->li_lnlen++; \
140 #define LINE(x) (li->li_lbase + (((x) - li->li_opbase) % li->li_lrange))
141 #define ADDRESS(x) ((((x) - li->li_opbase) / li->li_lrange) * li->li_minlen)
175 ret = _dwarf_lineno_add_file(li, &p, compdir,
185 } else if (*p > 0 && *p < li->li_opbase) {
198 li->li_minlen;
251 STAILQ_FOREACH_SAFE(ln, &li->li_lnlist, ln_next, tln) {
252 STAILQ_REMOVE(&li->li_lnlist, ln, _Dwarf_Line, ln_next);
271 Dwarf_LineInfo li;
318 if ((li = calloc(1, sizeof(struct _Dwarf_LineInfo))) == NULL) {
326 li->li_length = length;
328 li->li_version = dbg->read(ds->ds_data, &offset, 2); /* FIXME: verify version */
329 li->li_hdrlen = dbg->read(ds->ds_data, &offset, dwarf_size);
331 li->li_minlen = dbg->read(ds->ds_data, &offset, 1);
332 if (li->li_version == 4)
333 li->li_maxop = dbg->read(ds->ds_data, &offset, 1);
334 li->li_defstmt = dbg->read(ds->ds_data, &offset, 1);
335 li->li_lbase = dbg->read(ds->ds_data, &offset, 1);
336 li->li_lrange = dbg->read(ds->ds_data, &offset, 1);
337 li->li_opbase = dbg->read(ds->ds_data, &offset, 1);
338 STAILQ_INIT(&li->li_lflist);
339 STAILQ_INIT(&li->li_lnlist);
341 if ((int)li->li_hdrlen - 5 < li->li_opbase - 1) {
347 if ((li->li_oplen = malloc(li->li_opbase)) == NULL) {
357 for (i = 1; i < li->li_opbase; i++)
358 li->li_oplen[i] = dbg->read(ds->ds_data, &offset, 1);
370 li->li_inclen = length;
380 if ((li->li_incdirs = malloc(length * sizeof(char *))) ==
392 li->li_incdirs[i++] = (char *) p;
403 ret = _dwarf_lineno_add_file(li, &p, compdir, error, dbg);
416 if (p - ds->ds_data - hdroff != li->li_hdrlen) {
425 ret = _dwarf_lineno_run_program(cu, li, p, ds->ds_data + endoff, compdir,
430 cu->cu_lineinfo = li;
436 STAILQ_FOREACH_SAFE(lf, &li->li_lflist, lf_next, tlf) {
437 STAILQ_REMOVE(&li->li_lflist, lf, _Dwarf_LineFile, lf_next);
443 if (li->li_oplen)
444 free(li->li_oplen);
445 if (li->li_incdirs)
446 free(li->li_incdirs);
447 free(li);
453 _dwarf_lineno_cleanup(Dwarf_LineInfo li)
458 if (li == NULL)
460 STAILQ_FOREACH_SAFE(lf, &li->li_lflist, lf_next, tlf) {
461 STAILQ_REMOVE(&li->li_lflist, lf,
467 STAILQ_FOREACH_SAFE(ln, &li->li_lnlist, ln_next, tln) {
468 STAILQ_REMOVE(&li->li_lnlist, ln, _Dwarf_Line,
472 if (li->li_oplen)
473 free(li->li_oplen);
474 if (li->li_incdirs)
475 free(li->li_incdirs);
476 if (li->li_lnarray)
477 free(li->li_lnarray);
478 if (li->li_lfnarray)
479 free(li->li_lfnarray);
480 free(li);
487 Dwarf_LineInfo li;
502 is_stmt = li->li_defstmt; \
506 li = dbg->dbgp_lineinfo;
507 maddr = (255 - li->li_opbase) / li->li_lrange;
511 STAILQ_FOREACH(ln, &li->li_lnlist, ln_next) {
526 addr0 = (ln->ln_addr - address) / li->li_minlen;
568 addr0 = (ln->ln_addr - address) / li->li_minlen;
578 assert(li->li_lbase <= 0);
579 if (line0 >= li->li_lbase &&
580 line0 <= li->li_lbase + li->li_lrange - 1) {
581 spc = (line0 - li->li_lbase) +
582 (li->li_lrange * addr0) + li->li_opbase;
601 spc = (line0 - li->li_lbase) +
602 (li->li_lrange * (addr0 - maddr)) + li->li_opbase;
653 Dwarf_LineInfo li;
662 li = dbg->dbgp_lineinfo;
663 if (STAILQ_EMPTY(&li->li_lnlist))
666 li->li_length = 0;
667 li->li_version = 2;
668 li->li_hdrlen = 0;
669 li->li_minlen = _dwarf_get_minlen(dbg);
670 li->li_defstmt = 1;
671 li->li_lbase = -5;
672 li->li_lrange = 14;
673 li->li_opbase = 10;
689 RCHECK(WRITE_VALUE(li->li_version, 2));
693 RCHECK(WRITE_VALUE(li->li_hdrlen, 4));
696 RCHECK(WRITE_VALUE(li->li_minlen, 1));
702 RCHECK(WRITE_VALUE(li->li_defstmt, 1));
708 RCHECK(WRITE_VALUE(li->li_lbase, 1));
709 RCHECK(WRITE_VALUE(li->li_lrange, 1));
712 RCHECK(WRITE_VALUE(li->li_opbase, 1));
718 for (i = 0; (Dwarf_Unsigned) i < li->li_inclen; i++)
719 RCHECK(WRITE_STRING(li->li_incdirs[i]));
723 STAILQ_FOREACH(lf, &li->li_lflist, lf_next) {
732 li->li_hdrlen = ds->ds_size - offset - 4;
733 dbg->write(ds->ds_data, &offset, li->li_hdrlen, 4);
739 li->li_length = ds->ds_size - 4;
741 dbg->write(ds->ds_data, &offset, li->li_length, 4);
763 Dwarf_LineInfo li;
772 li = dbg->dbgp_lineinfo;
773 STAILQ_FOREACH_SAFE(lf, &li->li_lflist, lf_next, tlf) {
774 STAILQ_REMOVE(&li->li_lflist, lf, _Dwarf_LineFile,
780 STAILQ_FOREACH_SAFE(ln, &li->li_lnlist, ln_next, tln) {
781 STAILQ_REMOVE(&li->li_lnlist, ln, _Dwarf_Line, ln_next);
784 if (li->li_incdirs) {
785 for (i = 0; (Dwarf_Unsigned) i < li->li_inclen; i++)
786 free(li->li_incdirs[i]);
787 free(li->li_incdirs);
789 free(li);