summaryrefslogtreecommitdiff
path: root/src/cmd/ld/go.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-08-20 17:33:28 -0700
committerRuss Cox <rsc@golang.org>2009-08-20 17:33:28 -0700
commitbf74e4e23dbb71ed5947e4fdbed03e209d77ee21 (patch)
tree8e42f65a20d559aeb913c2b44312db8172a77e71 /src/cmd/ld/go.c
parentdcffbbf9b090ff8409424bd50c09d634610f4717 (diff)
downloadgolang-bf74e4e23dbb71ed5947e4fdbed03e209d77ee21.tar.gz
symbol bugs.
do not emit unreachable data symbols. R=austin DELTA=103 (71 added, 4 deleted, 28 changed) OCL=33325 CL=33622
Diffstat (limited to 'src/cmd/ld/go.c')
-rw-r--r--src/cmd/ld/go.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cmd/ld/go.c b/src/cmd/ld/go.c
index b3e411928..b739f6027 100644
--- a/src/cmd/ld/go.c
+++ b/src/cmd/ld/go.c
@@ -312,12 +312,16 @@ markdata(Prog *p, Sym *s)
static void
marktext(Prog *p)
{
+ Auto *a;
+
if(p == P)
return;
if(p->as != ATEXT) {
diag("marktext: %P", p);
return;
}
+ for(a=p->to.autom; a; a=a->link)
+ mark(a->gotype);
markdepth++;
if(debug['v'] > 1)
Bprint(&bso, "%d marktext %s\n", markdepth, p->from.sym->name);