• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/tools/perf/util/

Lines Matching defs:lf

1251 	struct line_finder *lf = param->data;
1256 if (src && strtailcmp(src, lf->fname) != 0)
1260 (lf->lno_s > lineno || lf->lno_e < lineno))
1263 param->retval = line_range_add_line(src, lineno, lf->lr);
1269 static int find_line_range_func_decl_lines(struct line_finder *lf)
1271 struct dwarf_callback_param param = {.data = (void *)lf, .retval = 0};
1272 dwarf_getfuncs(&lf->cu_die, line_range_funcdecl_cb, &param, 0);
1277 static int find_line_range_by_line(Dwarf_Die *sp_die, struct line_finder *lf)
1287 line_list__init(&lf->lr->line_list);
1288 if (dwarf_getsrclines(&lf->cu_die, &lines, &nlines) != 0) {
1297 (lf->lno_s > lineno || lf->lno_e < lineno))
1313 if (strtailcmp(src, lf->fname) != 0)
1316 ret = line_range_add_line(src, lineno, lf->lr);
1328 (lf->lno_s <= lineno && lf->lno_e >= lineno))
1329 ret = line_range_add_line(src, lineno, lf->lr);
1331 ret = find_line_range_func_decl_lines(lf);
1335 if (!list_empty(&lf->lr->line_list))
1336 ret = lf->found = 1;
1340 free(lf->lr->path);
1341 lf->lr->path = NULL;
1358 struct line_finder *lf = param->data;
1359 struct line_range *lr = lf->lr;
1363 lf->fname = dwarf_decl_file(sp_die);
1365 pr_debug("fname: %s, lineno:%d\n", lf->fname, lr->offset);
1366 lf->lno_s = lr->offset + lr->start;
1367 if (lf->lno_s < 0) /* Overflow */
1368 lf->lno_s = INT_MAX;
1369 lf->lno_e = lr->offset + lr->end;
1370 if (lf->lno_e < 0) /* Overflow */
1371 lf->lno_e = INT_MAX;
1372 pr_debug("New line range: %d to %d\n", lf->lno_s, lf->lno_e);
1373 lr->start = lf->lno_s;
1374 lr->end = lf->lno_e;
1377 _param.data = (void *)lf;
1384 param->retval = find_line_range_by_line(sp_die, lf);
1390 static int find_line_range_by_func(struct line_finder *lf)
1392 struct dwarf_callback_param param = {.data = (void *)lf, .retval = 0};
1393 dwarf_getfuncs(&lf->cu_die, line_range_search_cb, &param, 0);
1399 struct line_finder lf = {.lr = lr, .found = 0};
1415 while (!lf.found && ret >= 0) {
1420 diep = dwarf_offdie(dbg, off + cuhl, &lf.cu_die);
1426 lf.fname = cu_find_realpath(&lf.cu_die, lr->file);
1428 lf.fname = 0;
1430 if (!lr->file || lf.fname) {
1432 ret = find_line_range_by_func(&lf);
1434 lf.lno_s = lr->start;
1435 lf.lno_e = lr->end;
1436 ret = find_line_range_by_line(NULL, &lf);
1443 if (lf.found) {
1444 comp_dir = cu_get_comp_dir(&lf.cu_die);
1455 return (ret < 0) ? ret : lf.found;