64-bit fixes.
[jmk] --rw-rw-r-- M 107020 glenda sys 4248 Nov 19 20:50 sys/src/cmd/2c/enam.c
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/2c/enam.c:421,424 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/2c/enam.c:421,425
"UNPK",
"WORD",
"SIGNAME",
+ "LAST",
};
[jmk] --rw-rw-r-- M 107020 glenda sys 6241 Nov 19 20:50 sys/src/cmd/2c/gc.h
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/2c/gc.h:335,340 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/2c/gc.h:335,341
void fpbranch(void);
void patch(Prog*, long);
void gpseudo(int, Sym*, int, long);
+ void gpseudotree(int, Sym*, Node*);
void indx(Node*);
void bcomplex(Node*);
[jmk] --rw-rw-r-- M 107020 glenda sys 17160 Nov 19 20:50 sys/src/cmd/2c/swt.c
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/2c/swt.c:964,970 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/2c/swt.c:964,970
p->from.displace = 4;
return;
}
- gpseudo(ADATA, s, D_TREE, (long)a);
+ gpseudotree(ADATA, s, a);
p->from.offset += o;
p->from.displace = w;
}
[jmk] --rw-rw-r-- M 107020 glenda sys 17847 Nov 19 20:50 sys/src/cmd/2c/txt.c
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/2c/txt.c:674,683 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/2c/txt.c:674,683
} else {
p->from.type = gf;
if(gf == D_CONST) {
- p->from.offset = (long)f;
+ p->from.offset = (long)(uintptr)f;
if(typefd[i]) {
p->from.type = D_FCONST;
- p->from.dval = (long)f;
+ p->from.dval = (long)(uintptr)f;
}
}
}
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/2c/txt.c:687,693 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/2c/txt.c:687,693
} else {
p->to.type = gt;
if(gt == D_CONST)
- p->to.offset = (long)t;
+ p->to.offset = (long)(uintptr)t;
}
if(o == OBIT) {
p->from.field = f->type->nbits;
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/2c/txt.c:839,849 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/2c/txt.c:839,862
if(a == ADATA)
pc--;
p->as = a;
- if(g != D_TREE) {
- p->to.type = g;
- p->to.offset = v;
- } else
- naddr((Node*)v, &p->to, D_NONE);
+ if(g == D_TREE)
+ abort(); /* obsolete */
+ p->to.type = g;
+ p->to.offset = v;
+ p->from.sym = s;
+ p->from.type = D_EXTERN;
+ if(s->class == CSTATIC)
+ p->from.type = D_STATIC;
+ }
+
+ void
+ gpseudotree(int a, Sym *s, Node *n)
+ {
+ nextpc();
+ if(a == ADATA)
+ pc--;
+ p->as = a;
+ naddr(n, &p->to, D_NONE);
p->from.sym = s;
p->from.type = D_EXTERN;
if(s->class == CSTATIC)
|