aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-11-28 16:23:32 +0000
committerDaniel Jacobowitz <drow@false.org>2006-11-28 16:23:32 +0000
commite86e87f77fd5d8afb3e714f1d9e09e0ff5b4e6ff (patch)
tree9a05114de3f3c1e74b2c71a958d04ff7962fdbc4 /gdb/symtab.c
parentf556d5e59d4d48060f958a084e7ddcf25fe99d5c (diff)
downloadfsf-binutils-gdb-e86e87f77fd5d8afb3e714f1d9e09e0ff5b4e6ff.zip
fsf-binutils-gdb-e86e87f77fd5d8afb3e714f1d9e09e0ff5b4e6ff.tar.gz
fsf-binutils-gdb-e86e87f77fd5d8afb3e714f1d9e09e0ff5b4e6ff.tar.bz2
* 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.c22
1 files changed, 5 insertions, 17 deletions
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)
{