diff options
| author | Russ Cox <rsc@golang.org> | 2009-08-13 15:45:58 -0700 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2009-08-13 15:45:58 -0700 |
| commit | 45ce825544e2aec385cafbc2a8c29dfb9dce487c (patch) | |
| tree | 55a621d8d76ba524d3653c5511862df568153a87 /src/cmd/8l/obj.c | |
| parent | 8149a8c666a79e2dc8898fcc8debbc2bc3626638 (diff) | |
| download | go-45ce825544e2aec385cafbc2a8c29dfb9dce487c.tar.xz | |
debugging symbols for 8g.
backtraces don't work,
but they didn't work when i started either.
R=ken
OCL=33230
CL=33230
Diffstat (limited to 'src/cmd/8l/obj.c')
| -rw-r--r-- | src/cmd/8l/obj.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c index 4aca76736a..a359bfca2a 100644 --- a/src/cmd/8l/obj.c +++ b/src/cmd/8l/obj.c @@ -572,19 +572,26 @@ zaddr(Biobuf *f, Adr *a, Sym *h[]) } if(t & T_TYPE) a->type = Bgetc(f); + if(t & T_GOTYPE) + a->gotype = h[Bgetc(f)]; s = a->sym; if(s == S) return; t = a->type; - if(t != D_AUTO && t != D_PARAM) + if(t != D_AUTO && t != D_PARAM) { + if(a->gotype) + s->gotype = a->gotype; return; + } l = a->offset; for(u=curauto; u; u=u->link) { if(u->asym == s) if(u->type == t) { if(u->aoffset > l) u->aoffset = l; + if(a->gotype) + u->gotype = a->gotype; return; } } @@ -595,6 +602,7 @@ zaddr(Biobuf *f, Adr *a, Sym *h[]) u->asym = s; u->aoffset = l; u->type = t; + u->gotype = a->gotype; } void |
