shithub: mc

Download patch

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)