diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-11-28 16:23:32 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-11-28 16:23:32 +0000 |
commit | e86e87f77fd5d8afb3e714f1d9e09e0ff5b4e6ff (patch) | |
tree | 9a05114de3f3c1e74b2c71a958d04ff7962fdbc4 /gdb/symtab.c | |
parent | f556d5e59d4d48060f958a084e7ddcf25fe99d5c (diff) | |
download | binutils-gdb-e86e87f77fd5d8afb3e714f1d9e09e0ff5b4e6ff.tar.gz |
* symtab.c (find_pc_sect_line): Do not return a line before
the start of a symtab.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r-- | gdb/symtab.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c index 10c723a141c..62109358ffa 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) { |