diff options
author | Russ Cox <rsc@golang.org> | 2009-08-20 17:33:28 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-08-20 17:33:28 -0700 |
commit | bf74e4e23dbb71ed5947e4fdbed03e209d77ee21 (patch) | |
tree | 8e42f65a20d559aeb913c2b44312db8172a77e71 /src/cmd/ld/go.c | |
parent | dcffbbf9b090ff8409424bd50c09d634610f4717 (diff) | |
download | golang-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.c | 4 |
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); |