ref: ee346d2725b7ff367f5e3e76aa52577f0311b640
parent: a16c4e637079bb3d7f1cb93ae9b2348d710c003f
author: Ori Bernstein <[email protected]>
date: Thu Jun 25 11:09:52 EDT 2015
Fix a few typos affecting Plan 9. The recent refactoring broke things a bit.
--- a/6/blob.c
+++ b/6/blob.c
@@ -150,7 +150,7 @@
lbl = genlocallblstr(buf, sizeof buf);
htput(strtab, &v->lit.strval, strdup(lbl));
}
- b(seq, mkblobref(lbl, 0, 0));
+ b(seq, mkblobref(lbl, 0, 1));
b(seq, mkblobi(Bti64, v->lit.strval.len));
break;
case Lfunc:
@@ -183,7 +183,7 @@
sz = tysize(tybase(exprtype(base))->sub[0]);
lbl = htget(globls, base);
- b(seq, mkblobref(lbl, loval*sz, 0));
+ b(seq, mkblobref(lbl, loval*sz, 1));
b(seq, mkblobi(Bti64, (hival - loval)));
return 16;
}
--- a/6/genp9.c
+++ b/6/genp9.c
@@ -349,7 +349,7 @@
n += 4;
break;
case Bti64:
- fprintf(fd, "DATA %s+%zd(SB)/8,%zd\n", lbl, off+n, b->ival);
+ fprintf(fd, "DATA %s+%zd(SB)/8,$%zd\n", lbl, off+n, b->ival);
n += 8;
break;
case Btimin:
@@ -356,7 +356,7 @@
n += encodemin(fd, b->ival, off+n, lbl);
break;
case Btref:
- if (b->ref.isextern)
+ if (b->ref.isextern || b->ref.str[0] == '.')
fprintf(fd, "DATA %s+%zd(SB)/8,$%s+%zd(SB)\n",
lbl, off+n, b->ref.str, b->ref.off);
else
--- a/6/mkfile
+++ b/6/mkfile
@@ -6,6 +6,7 @@
TARG=6m
OFILES=\
+ blob.$O\
gen.$O\
gengas.$O\
genp9.$O\
--- a/6/typeinfo.c
+++ b/6/typeinfo.c
@@ -349,6 +349,7 @@
off += size(ty->sdecls[i]);
}
die("bad offset");
+ return 0;
}
size_t size(Node *n)