cmd/ld: fix PC deltas in DWARF line number table

The putpclcdelta function set the DWARF line number PC to
s->value + pcline->pc, which is correct, but the code then set
the local variable pc to epc, which can be a different value.
This caused the next delta in the DWARF table to be wrong.

Fixes #8098.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/104950045
This commit is contained in:
Ian Lance Taylor 2014-06-10 14:11:39 -07:00
parent b91d2339bb
commit 507afa68c5
1 changed files with 2 additions and 2 deletions

View File

@ -1624,13 +1624,13 @@ writelines(void)
}
putpclcdelta(s->value + pcline.pc - pc, pcline.value - line);
pc = epc;
pc = s->value + pcline.pc;
line = pcline.value;
if(pcfile.nextpc < pcline.nextpc)
epc = pcfile.nextpc;
else
epc = pcline.nextpc;
epc += s->value;
line = pcline.value;
}
da = 0;