From: Daniel Jacobowitz Date: Mon, 13 Jan 2003 21:59:53 +0000 (+0000) Subject: * symtab.c (find_pc_sect_line): Don't consider end-of-function X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=083ae9356e21082ea18fc21d91a84bbaa7a76fc7;p=binutils-gdb.git * symtab.c (find_pc_sect_line): Don't consider end-of-function lines. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bb81289001b..82d63fddf17 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-01-13 Daniel Jacobowitz + + * symtab.c (find_pc_sect_line): Don't consider end-of-function + lines. + 2003-01-13 Daniel Jacobowitz * thread-db.c (attach_thread): Prototype. diff --git a/gdb/symtab.c b/gdb/symtab.c index 7eab19f53df..15f4c3f15b6 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -1,8 +1,8 @@ /* Symbol table lookup for the GNU debugger, GDB. Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, - 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software - Foundation, Inc. + 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Free Software Foundation, Inc. This file is part of GDB. @@ -2012,9 +2012,11 @@ find_pc_sect_line (CORE_ADDR pc, struct sec *section, int notcurrent) the first line, prev will not be set. */ /* Is this file's best line closer than the best in the other files? - If so, record this file, and its best line, as best so far. */ + If so, record this file, and its best line, as best so far. Don't + save prev if it represents the end of a function (i.e. line number + 0) instead of a real line. */ - if (prev && (!best || prev->pc > best->pc)) + if (prev && prev->line && (!best || prev->pc > best->pc)) { best = prev; best_symtab = s;