This makes the line number info for the end of a function match what the

standard specifies.  The current code could confuse a debugger.
This commit is contained in:
Nick Clifton 1999-08-26 12:13:01 +00:00
parent e1c05f12ca
commit 09a798eacc
2 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,10 @@
1999-08-26 David Mosberger <davidm@hpl.hp.com>
* dwarf2dbg.c (out_end_sequence): If address changed, directly
output "advance_pc" opcode instead of calling gen_addr_line().
The latter has the undesired side-effect of creating a new row
in the debug line info matrix.
1999-08-26 Jim Wilson <wilson@cygnus.com>
* dwarf2dbg.c (out_end_sequence): Correct comments. Set last to

View file

@ -341,9 +341,15 @@ out_end_sequence ()
}
else
{
delta = addr - ls.sm.addr;
delta = (addr - ls.sm.addr) / DWARF2_LINE_MIN_INSN_LENGTH;
if (delta > 0)
gen_addr_line (0, delta / DWARF2_LINE_MIN_INSN_LENGTH);
{
/* Advance address without updating the line-debug
matrix---the end_sequence entry is used only to tell
the debugger the end of the sequence.*/
out_opcode (DW_LNS_advance_pc);
out_uleb128 (delta);
}
}
}
else