aboutsummaryrefslogtreecommitdiff
path: root/gold/dwarf_reader.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-11-16 06:47:53 +0000
committerIan Lance Taylor <iant@google.com>2007-11-16 06:47:53 +0000
commit124dfc89941359300d4bb852036b10161d5ec3cc (patch)
tree13a8be4077a883510fc96d8ec35cbe631113f1e4 /gold/dwarf_reader.cc
parent64a3914f1d067cda3ec88333e5312afe133d5d36 (diff)
downloadgdb-124dfc89941359300d4bb852036b10161d5ec3cc.zip
gdb-124dfc89941359300d4bb852036b10161d5ec3cc.tar.gz
gdb-124dfc89941359300d4bb852036b10161d5ec3cc.tar.bz2
DW_LNE_end_sequence indicates that the address points to the byte
*after* the current target sequence.
Diffstat (limited to 'gold/dwarf_reader.cc')
-rw-r--r--gold/dwarf_reader.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gold/dwarf_reader.cc b/gold/dwarf_reader.cc
index e3e1963..af69449 100644
--- a/gold/dwarf_reader.cc
+++ b/gold/dwarf_reader.cc
@@ -418,6 +418,10 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode(
switch (extended_op)
{
case elfcpp::DW_LNE_end_sequence:
+ // This means that the current byte is the one immediately
+ // after a set of instructions. Record the current line
+ // for up to one less than the current address.
+ lsm->address -= 1;
lsm->end_sequence = true;
*len = oplen;
return true;