Approved by Jim Blandy (jimb@redhat.com).

2002-02-21  Fred Fish  <fnf@redhat.com>
	* dbxread.c (process_one_symbol): When finding an N_FUN symbol
	that marks the end of the range of a function, enter a line number
	entry that has a line number of zero and a PC offset that matches
	the end of the function.  This starts a range of PC's for which no
	line number information is known.
	* symtab.c (find_pc_sect_line): If our best fit is in a range of
	PC's for which no line number info is found (line number is zero)
	then we didn't find any valid line information.
	* symtab.h: Document use of zero line number entry.
This commit is contained in:
Fred Fish
2002-02-22 00:17:13 +00:00
parent b78c3c1808
commit e8717518fc
4 changed files with 24 additions and 1 deletions

View File

@@ -1,3 +1,15 @@
2002-02-21 Fred Fish <fnf@redhat.com>
* dbxread.c (process_one_symbol): When finding an N_FUN symbol
that marks the end of the range of a function, enter a line number
entry that has a line number of zero and a PC offset that matches
the end of the function. This starts a range of PC's for which no
line number information is known.
* symtab.c (find_pc_sect_line): If our best fit is in a range of
PC's for which no line number info is found (line number is zero)
then we didn't find any valid line information.
* symtab.h: Document use of zero line number entry.
2002-02-21 Elena Zannoni <ezannoni@redhat.com>
* ppc-linux-nat.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Define.

View File

@@ -2741,6 +2741,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
{
/* This N_FUN marks the end of a function. This closes off the
current block. */
record_line (current_subfile, 0, function_start_offset + valu);
within_function = 0;
new = pop_context ();

View File

@@ -1823,6 +1823,13 @@ find_pc_sect_line (CORE_ADDR pc, struct sec *section, int notcurrent)
val.end = alt->pc;
}
}
else if (best->line == 0)
{
/* If our best fit is in a range of PC's for which no line
number info is available (line number is zero) then we didn't
find any valid line information. */
val.pc = pc;
}
else
{
val.symtab = best_symtab;

View File

@@ -801,7 +801,10 @@ struct linetable_entry
30 0x300
10 0x400 - for the increment part of a for stmt.
*/
If an entry has a line number of zero, it marks the start of a PC
range for which no line number information is available. It is
acceptable, though wasteful of table space, for such a range to be
zero length. */
struct linetable
{