From: Ian Lance Taylor Date: Tue, 10 Jun 2014 21:11:39 +0000 (-0700) Subject: cmd/ld: fix PC deltas in DWARF line number table X-Git-Tag: go1.4beta1~1324 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=507afa68c5a3ce37a824288d19d8b8b0918a1530;p=gostls13.git 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 --- diff --git a/src/cmd/ld/dwarf.c b/src/cmd/ld/dwarf.c index cee591ffa6..cc77b45cd6 100644 --- a/src/cmd/ld/dwarf.c +++ b/src/cmd/ld/dwarf.c @@ -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;