From e86e87f77fd5d8afb3e714f1d9e09e0ff5b4e6ff Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Tue, 28 Nov 2006 16:23:32 +0000 Subject: [PATCH] * symtab.c (find_pc_sect_line): Do not return a line before the start of a symtab. --- gdb/ChangeLog | 5 +++++ gdb/symtab.c | 22 +++++----------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 72cf3c6..5497f17 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2006-11-28 Daniel Jacobowitz + + * symtab.c (find_pc_sect_line): Do not return a line before + the start of a symtab. + 2006-11-24 Ulrich Weigand * NEWS: SPU target is already supported in GDB 6.6. diff --git a/gdb/symtab.c b/gdb/symtab.c index 10c723a..6210935 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -2222,23 +2222,11 @@ find_pc_sect_line (CORE_ADDR pc, struct bfd_section *section, int notcurrent) if (!best_symtab) { - if (!alt_symtab) - { /* If we didn't find any line # info, just - return zeros. */ - val.pc = pc; - } - else - { - val.symtab = alt_symtab; - val.line = alt->line - 1; - - /* Don't return line 0, that means that we didn't find the line. */ - if (val.line == 0) - ++val.line; - - val.pc = BLOCK_END (BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK)); - val.end = alt->pc; - } + /* If we didn't find any line number info, just return zeros. + We used to return alt->line - 1 here, but that could be + anywhere; if we don't have line number info for this PC, + don't make some up. */ + val.pc = pc; } else if (best->line == 0) { -- 2.7.4