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 --- |