From 803a73c4318e833144c11d6f8bd84eda6ca1e94a Mon Sep 17 00:00:00 2001 From: Kai Backman Date: Thu, 17 Sep 2009 19:24:07 -0700 Subject: [PATCH] floating point constants and symbol export fix. R=rsc APPROVED=rsc DELTA=16 (0 added, 1 deleted, 15 changed) OCL=34753 CL=34769 --- src/cmd/5g/gobj.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/cmd/5g/gobj.c b/src/cmd/5g/gobj.c index 2a336a288e..6119f14f81 100644 --- a/src/cmd/5g/gobj.c +++ b/src/cmd/5g/gobj.c @@ -83,7 +83,7 @@ void zaddr(Biobuf *b, Addr *a, int s) { int32 l; -// Ieee e; + uint64 e; int i; char *n; @@ -156,19 +156,18 @@ zaddr(Biobuf *b, Addr *a, int s) break; case D_FCONST: - fatal("zaddr D_FCONST not implemented"); - //ieeedtod(&e, a->dval); - //l = e.l; - //Bputc(b, l); - //Bputc(b, l>>8); - //Bputc(b, l>>16); - //Bputc(b, l>>24); - //l = e.h; - //Bputc(b, l); - //Bputc(b, l>>8); - //Bputc(b, l>>16); - //Bputc(b, l>>24); - //break; + ieeedtod(&e, a->dval); + l = e; + Bputc(b, l); + Bputc(b, l>>8); + Bputc(b, l>>16); + Bputc(b, l>>24); + l = e >> 32; + Bputc(b, l); + Bputc(b, l>>8); + Bputc(b, l>>16); + Bputc(b, l>>24); + break; } } @@ -217,7 +216,7 @@ dumpfuncs(void) sf = s->sym; if(sf < 0 || sf >= NSYM) sf = 0; - t = p->from.type; + t = p->from.name; if(t == D_ADDR) t = p->from.name; if(h[sf].type == t) @@ -239,7 +238,7 @@ dumpfuncs(void) st = s->sym; if(st < 0 || st >= NSYM) st = 0; - t = p->to.type; + t = p->to.name; if(t == D_ADDR) t = p->to.name; if(h[st].type == t) -- 2.48.1