dwarf-aux.c (a897b5f0393a8a05d230c9248dc5324fb30720a0) dwarf-aux.c (86a76027457633488b0a83d5e2bb944159885605)
1/*
2 * dwarf-aux.c : libdw auxiliary interfaces
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *

--- 756 unchanged lines hidden (view full) ---

765 if (line == NULL ||
766 dwarf_lineno(line, &lineno) != 0 ||
767 dwarf_lineaddr(line, &addr) != 0) {
768 pr_debug2("Failed to get line info. "
769 "Possible error in debuginfo.\n");
770 continue;
771 }
772 /* Filter lines based on address */
1/*
2 * dwarf-aux.c : libdw auxiliary interfaces
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *

--- 756 unchanged lines hidden (view full) ---

765 if (line == NULL ||
766 dwarf_lineno(line, &lineno) != 0 ||
767 dwarf_lineaddr(line, &addr) != 0) {
768 pr_debug2("Failed to get line info. "
769 "Possible error in debuginfo.\n");
770 continue;
771 }
772 /* Filter lines based on address */
773 if (rt_die != cu_die)
773 if (rt_die != cu_die) {
774 /*
775 * Address filtering
776 * The line is included in given function, and
777 * no inline block includes it.
778 */
779 if (!dwarf_haspc(rt_die, addr))
780 continue;
781 if (die_find_inlinefunc(rt_die, addr, &die_mem)) {
782 dwarf_decl_line(&die_mem, &inl);
783 if (inl != decl ||
784 decf != dwarf_decl_file(&die_mem))
785 continue;
786 }
774 /*
775 * Address filtering
776 * The line is included in given function, and
777 * no inline block includes it.
778 */
779 if (!dwarf_haspc(rt_die, addr))
780 continue;
781 if (die_find_inlinefunc(rt_die, addr, &die_mem)) {
782 dwarf_decl_line(&die_mem, &inl);
783 if (inl != decl ||
784 decf != dwarf_decl_file(&die_mem))
785 continue;
786 }
787 }
787 /* Get source line */
788 fname = dwarf_linesrc(line, NULL, NULL);
789
790 ret = callback(fname, lineno, addr, data);
791 if (ret != 0)
792 return ret;
793 }
794

--- 287 unchanged lines hidden ---
788 /* Get source line */
789 fname = dwarf_linesrc(line, NULL, NULL);
790
791 ret = callback(fname, lineno, addr, data);
792 if (ret != 0)
793 return ret;
794 }
795

--- 287 unchanged lines hidden ---