mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 02:24:17 +08:00
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:
@ -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>
|
1999-08-26 Jim Wilson <wilson@cygnus.com>
|
||||||
|
|
||||||
* dwarf2dbg.c (out_end_sequence): Correct comments. Set last to
|
* dwarf2dbg.c (out_end_sequence): Correct comments. Set last to
|
||||||
|
@ -341,9 +341,15 @@ out_end_sequence ()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
delta = addr - ls.sm.addr;
|
delta = (addr - ls.sm.addr) / DWARF2_LINE_MIN_INSN_LENGTH;
|
||||||
if (delta > 0)
|
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
|
else
|
||||||
|
Reference in New Issue
Block a user