From a14e143c2173e106b1155905a41f5144e1a864b7 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 25 Jun 2013 17:23:33 -0400 Subject: [PATCH] cmd/ld: fix line numbers when using fieldtrack USEFIELD is a special kind of NOP, so treat it like a NOP when generating the pc-ln table. There are more invasive fixes that could be applied here. I am going for minimum number of lines changed. The smallest test case we know of is five distinct Go files in four packages, and the bug only happens with GOEXPERIMENT=fieldtrack enabled, which we don't normally build with, so the test would never run meaningfully anyway. Fixes #5762. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/10495044 --- src/cmd/ld/lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/ld/lib.c b/src/cmd/ld/lib.c index 87af5a28ea..50e41ff776 100644 --- a/src/cmd/ld/lib.c +++ b/src/cmd/ld/lib.c @@ -1355,7 +1355,7 @@ pclntab(void) oldlc = 0; for(cursym = textp; cursym != nil; cursym = cursym->next) { for(p = cursym->text; p != P; p = p->link) { - if(p->line == oldlc || p->as == ATEXT || p->as == ANOP) { + if(p->line == oldlc || p->as == ATEXT || p->as == ANOP || p->as == AUSEFIELD) { if(debug['O']) Bprint(&bso, "%6llux %P\n", (vlong)p->pc, p); -- 2.48.1