* symtab.c (find_pc_sect_line): Revise method used for finding

the ending pc.
This commit is contained in:
Kevin Buettner 2001-03-27 01:17:47 +00:00
parent d85e9ff7b1
commit 25d53da1c8
2 changed files with 16 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2001-03-26 Kevin Buettner <kevinb@redhat.com>
* symtab.c (find_pc_sect_line): Revise method used for finding
the ending pc.
2001-03-26 Mark Kettenis <kettenis@gnu.org>
* i386-linux-tdep.c (i386_linux_sigtramp_saved_pc,

View File

@ -1759,11 +1759,18 @@ find_pc_sect_line (CORE_ADDR pc, struct sec *section, int notcurrent)
{
best = prev;
best_symtab = s;
/* If another line is in the linetable, and its PC is closer
than the best_end we currently have, take it as best_end. */
if (i < len && (best_end == 0 || best_end > item->pc))
best_end = item->pc;
/* Discard BEST_END if it's before the PC of the current BEST. */
if (best_end <= best->pc)
best_end = 0;
}
/* If another line (denoted by ITEM) is in the linetable and its
PC is after BEST's PC, but before the current BEST_END, then
use ITEM's PC as the new best_end. */
if (best && i < len && item->pc > best->pc
&& (best_end == 0 || best_end > item->pc))
best_end = item->pc;
}
if (!best_symtab)