ref: bccb73dc9a1d19bf472c9ce776cc6ee76cef05d5
parent: 8ecdf73fad606722a6f2c05f53ad619c21bf84de
author: Ori Bernstein <ori@eigenstate.org>
date: Sun Feb 28 12:47:39 EST 2016
Plan 9 build should now work.
--- a/6/gen.c
+++ b/6/gen.c
@@ -139,7 +139,6 @@
p += bprintf(p, end - p, "_tydesc$%s%s%s$%d", ns, sep, ty->name->name.name, ty->tid);
for (i = 0; i < ty->narg; i++)
p += tyidfmt(p, end - p, ty->arg[i]);
- bprintf(p, end - p, "/* %zd */", ty->tid);
} else {
if (file->file.globls->name) {
ns = file->file.globls->name;
--- a/6/mkfile
+++ b/6/mkfile
@@ -18,7 +18,7 @@
peep.$O\
typeinfo.$O\
-LIB=../parse/libparse.a ../mi/libmi.a
+LIB=../util/libutil.a ../parse/libparse.a ../mi/libmi.a
HFILES=asm.h ../parse/parse.h ../mi/mi.h ../config.h insns.def regs.def
--- a/6/typeinfo.c
+++ b/6/typeinfo.c
@@ -104,7 +104,7 @@
char buf[512];
uint8_t tt;
Node *len;
- int isintern;
+ int isextern;
sub = NULL;
nsub = 0;
@@ -181,10 +181,10 @@
case Tyname:
i = bprintf(buf, sizeof buf, "%s", Symprefix);
tydescid(buf + i, sizeof buf - i, ty);
- isintern = 0;
- if (types[i]->isreflect && (!types[i]->isimport || types[i]->ishidden))
- isintern = 1;
- lappend(&sub, &nsub, mkblobref(buf, 0, isintern));
+ if (!strcmp("_tydesc$sys$size", buf))
+ printf("vis: %d\n", ty->vis);
+ isextern = ty->isimport || ty->vis != Visintern;
+ lappend(&sub, &nsub, mkblobref(buf, 0, isextern));
break;
}
b = mkblobseq(sub, nsub);
--- a/mk/bootstrap/bootstrap+Plan9-amd64.sh
+++ b/mk/bootstrap/bootstrap+Plan9-amd64.sh
@@ -19,7 +19,6 @@
echo $pwd/6/6.out -I ../sys -I . strfind.myr ; $pwd/6/6.out -I ../sys -I . strfind.myr
echo $pwd/6/6.out -I ../sys -I . syswrap+plan9.myr ; $pwd/6/6.out -I ../sys -I . syswrap+plan9.myr
echo $pwd/6/6.out -I ../sys -I . die.myr ; $pwd/6/6.out -I ../sys -I . die.myr
-echo $pwd/6/6.out -I ../sys -I . striter.myr ; $pwd/6/6.out -I ../sys -I . striter.myr
echo $pwd/6/6.out -I ../sys -I . sleq.myr ; $pwd/6/6.out -I ../sys -I . sleq.myr
echo $pwd/6/6.out -I ../sys -I . hassuffix.myr ; $pwd/6/6.out -I ../sys -I . hassuffix.myr
echo $pwd/6/6.out -I ../sys -I . extremum.myr ; $pwd/6/6.out -I ../sys -I . extremum.myr
@@ -26,6 +25,7 @@
echo $pwd/6/6.out -I ../sys -I . units.myr ; $pwd/6/6.out -I ../sys -I . units.myr
echo $pwd/6/6.out -I ../sys -I . memops.myr ; $pwd/6/6.out -I ../sys -I . memops.myr
echo $pwd/6/6.out -I ../sys -I . alloc.myr ; $pwd/6/6.out -I ../sys -I . alloc.myr
+echo $pwd/6/6.out -I ../sys -I . consts.myr ; $pwd/6/6.out -I ../sys -I . consts.myr
echo $pwd/6/6.out -I ../sys -I . chartype.myr ; $pwd/6/6.out -I ../sys -I . chartype.myr
echo $pwd/6/6.out -I ../sys -I . utf.myr ; $pwd/6/6.out -I ../sys -I . utf.myr
echo $pwd/6/6.out -I ../sys -I . cmp.myr ; $pwd/6/6.out -I ../sys -I . cmp.myr
@@ -34,6 +34,7 @@
echo $pwd/6/6.out -I ../sys -I . sldup.myr ; $pwd/6/6.out -I ../sys -I . sldup.myr
echo $pwd/6/6.out -I ../sys -I . slfill.myr ; $pwd/6/6.out -I ../sys -I . slfill.myr
echo $pwd/6/6.out -I ../sys -I . slpush.myr ; $pwd/6/6.out -I ../sys -I . slpush.myr
+echo $pwd/6/6.out -I ../sys -I . striter.myr ; $pwd/6/6.out -I ../sys -I . striter.myr
echo $pwd/6/6.out -I ../sys -I . bigint.myr ; $pwd/6/6.out -I ../sys -I . bigint.myr
echo $pwd/6/6.out -I ../sys -I . fltbits.myr ; $pwd/6/6.out -I ../sys -I . fltbits.myr
echo $pwd/6/6.out -I ../sys -I . strbuf.myr ; $pwd/6/6.out -I ../sys -I . strbuf.myr
@@ -40,11 +41,12 @@
echo $pwd/6/6.out -I ../sys -I . fltfmt.myr ; $pwd/6/6.out -I ../sys -I . fltfmt.myr
echo $pwd/6/6.out -I ../sys -I . hashfuncs.myr ; $pwd/6/6.out -I ../sys -I . hashfuncs.myr
echo $pwd/6/6.out -I ../sys -I . htab.myr ; $pwd/6/6.out -I ../sys -I . htab.myr
-echo $pwd/6/6.out -I ../sys -I . introspect.myr ; $pwd/6/6.out -I ../sys -I . introspect.myr
echo $pwd/6/6.out -I ../sys -I . intparse.myr ; $pwd/6/6.out -I ../sys -I . intparse.myr
+echo $pwd/6/6.out -I ../sys -I . introspect.myr ; $pwd/6/6.out -I ../sys -I . introspect.myr
echo $pwd/6/6.out -I ../sys -I . strsplit.myr ; $pwd/6/6.out -I ../sys -I . strsplit.myr
echo $pwd/6/6.out -I ../sys -I . syswrap-ss+plan9.myr ; $pwd/6/6.out -I ../sys -I . syswrap-ss+plan9.myr
echo $pwd/6/6.out -I ../sys -I . varargs.myr ; $pwd/6/6.out -I ../sys -I . varargs.myr
+echo $pwd/6/6.out -I ../sys -I . writeall.myr ; $pwd/6/6.out -I ../sys -I . writeall.myr
echo $pwd/6/6.out -I ../sys -I . fmt.myr ; $pwd/6/6.out -I ../sys -I . fmt.myr
echo $pwd/6/6.out -I ../sys -I . assert.myr ; $pwd/6/6.out -I ../sys -I . assert.myr
echo $pwd/6/6.out -I ../sys -I . now.myr ; $pwd/6/6.out -I ../sys -I . now.myr
@@ -53,7 +55,9 @@
echo $pwd/6/6.out -I ../sys -I . slurp.myr ; $pwd/6/6.out -I ../sys -I . slurp.myr
echo $pwd/6/6.out -I ../sys -I . dirname.myr ; $pwd/6/6.out -I ../sys -I . dirname.myr
echo $pwd/6/6.out -I ../sys -I . optparse.myr ; $pwd/6/6.out -I ../sys -I . optparse.myr
+echo $pwd/6/6.out -I ../sys -I . dir+plan9.myr ; $pwd/6/6.out -I ../sys -I . dir+plan9.myr
echo $pwd/6/6.out -I ../sys -I . ipparse.myr ; $pwd/6/6.out -I ../sys -I . ipparse.myr
+echo $pwd/6/6.out -I ../sys -I . iterutil.myr ; $pwd/6/6.out -I ../sys -I . iterutil.myr
echo $pwd/6/6.out -I ../sys -I . env+plan9.myr ; $pwd/6/6.out -I ../sys -I . env+plan9.myr
echo $pwd/6/6.out -I ../sys -I . execvp.myr ; $pwd/6/6.out -I ../sys -I . execvp.myr
echo $pwd/6/6.out -I ../sys -I . slput.myr ; $pwd/6/6.out -I ../sys -I . slput.myr
@@ -60,17 +64,17 @@
echo $pwd/6/6.out -I ../sys -I . spork.myr ; $pwd/6/6.out -I ../sys -I . spork.myr
echo $pwd/6/6.out -I ../sys -I . getint.myr ; $pwd/6/6.out -I ../sys -I . getint.myr
echo $pwd/6/6.out -I ../sys -I . blat.myr ; $pwd/6/6.out -I ../sys -I . blat.myr
-echo $pwd/6/6.out -I ../sys -I . mktemp.myr ; $pwd/6/6.out -I ../sys -I . mktemp.myr
-echo $pwd/6/6.out -I ../sys -I . writeall.myr ; $pwd/6/6.out -I ../sys -I . writeall.myr
+echo $pwd/6/6.out -I ../sys -I . diriter.myr ; $pwd/6/6.out -I ../sys -I . diriter.myr
echo $pwd/6/6.out -I ../sys -I . clear.myr ; $pwd/6/6.out -I ../sys -I . clear.myr
echo $pwd/6/6.out -I ../sys -I . wait+plan9.myr ; $pwd/6/6.out -I ../sys -I . wait+plan9.myr
echo $pwd/6/6.out -I ../sys -I . strjoin.myr ; $pwd/6/6.out -I ../sys -I . strjoin.myr
echo $pwd/6/6.out -I ../sys -I . mk.myr ; $pwd/6/6.out -I ../sys -I . mk.myr
+echo $pwd/6/6.out -I ../sys -I . pathjoin.myr ; $pwd/6/6.out -I ../sys -I . pathjoin.myr
+echo $pwd/6/6.out -I ../sys -I . mktemp.myr ; $pwd/6/6.out -I ../sys -I . mktemp.myr
echo $pwd/6/6.out -I ../sys -I . fndup.myr ; $pwd/6/6.out -I ../sys -I . fndup.myr
echo $pwd/6/6.out -I ../sys -I . putint.myr ; $pwd/6/6.out -I ../sys -I . putint.myr
echo $pwd/6/6.out -I ../sys -I . mkpath.myr ; $pwd/6/6.out -I ../sys -I . mkpath.myr
echo $pwd/6/6.out -I ../sys -I . resolve+plan9.myr ; $pwd/6/6.out -I ../sys -I . resolve+plan9.myr
-echo $pwd/6/6.out -I ../sys -I . pathjoin.myr ; $pwd/6/6.out -I ../sys -I . pathjoin.myr
echo $pwd/6/6.out -I ../sys -I . slpop.myr ; $pwd/6/6.out -I ../sys -I . slpop.myr
echo $pwd/6/6.out -I ../sys -I . bitset.myr ; $pwd/6/6.out -I ../sys -I . bitset.myr
echo $pwd/6/6.out -I ../sys -I . fmtfuncs.myr ; $pwd/6/6.out -I ../sys -I . fmtfuncs.myr
@@ -83,8 +87,8 @@
echo $pwd/6/6.out -I ../sys -I . swap.myr ; $pwd/6/6.out -I ../sys -I . swap.myr
echo $pwd/6/6.out -I ../sys -I . dial+plan9.myr ; $pwd/6/6.out -I ../sys -I . dial+plan9.myr
echo 6a -o memops-impl.6 memops-impl+plan9-x64.s ; 6a -o memops-impl.6 memops-impl+plan9-x64.s
-echo $pwd/muse/6.out -o std fmtfuncs.use fmt.use try.use pathjoin.use strjoin.use syswrap-ss.use sljoin.use slpush.use strstrip.use htab.use now.use getcwd.use rand.use env.use slurp.use varargs.use strbuf.use clear.use slput.use strsplit.use introspect.use resolve.use alloc.use optparse.use memops.use fltbits.use sldup.use fltfmt.use extremum.use option.use slcp.use writeall.use putint.use sort.use blat.use mk.use errno.use hassuffix.use execvp.use swap.use ipparse.use types.use slpop.use strfind.use utf.use cstrconv.use search.use die.use units.use wait.use result.use bitset.use intparse.use hasprefix.use mkpath.use getint.use syswrap.use dirname.use sleq.use endian.use spork.use dial.use assert.use cmp.use chartype.use bigint.use hashfuncs.use slfill.use fndup.use ; $pwd/muse/6.out -o std fmtfuncs.use fmt.use try.use pathjoin.use strjoin.use syswrap-ss.use sljoin.use slpush.use strstrip.use htab.use now.use getcwd.use rand.use env.use slurp.use varargs.use strbuf.use clear.use slput.use strsplit.use introspect.use resolve.use alloc.use optparse.use memops.use fltbits.use sldup.use fltfmt.use extremum.use option.use slcp.use writeall.use putint.use sort.use blat.use mk.use errno.use hassuffix.use execvp.use swap.use ipparse.use types.use slpop.use strfind.use utf.use cstrconv.use search.use die.use units.use wait.use result.use bitset.use intparse.use hasprefix.use mkpath.use getint.use syswrap.use dirname.use sleq.use endian.use spork.use dial.use assert.use cmp.use chartype.use bigint.use striter.use hashfuncs.use slfill.use fndup.use mktemp.use
-echo ar vu libstd.a fmtfuncs.6 fmt.6 try.6 pathjoin.6 strjoin.6 syswrap-ss.6 sljoin.6 slpush.6 strstrip.6 htab.6 now.6 getcwd.6 rand.6 env.6 slurp.6 varargs.6 strbuf.6 clear.6 slput.6 strsplit.6 introspect.6 resolve.6 alloc.6 optparse.6 memops.6 fltbits.6 sldup.6 fltfmt.6 extremum.6 option.6 slcp.6 writeall.6 putint.6 sort.6 blat.6 mk.6 errno.6 hassuffix.6 execvp.6 swap.6 ipparse.6 types.6 slpop.6 strfind.6 utf.6 cstrconv.6 search.6 die.6 units.6 wait.6 result.6 bitset.6 intparse.6 hasprefix.6 mkpath.6 getint.6 syswrap.6 dirname.6 sleq.6 endian.6 spork.6 dial.6 assert.6 cmp.6 chartype.6 memops-impl.6 bigint.6 hashfuncs.6 slfill.6 fndup.6 ; ar vu libstd.a fmtfuncs.6 fmt.6 try.6 pathjoin.6 strjoin.6 syswrap-ss.6 sljoin.6 slpush.6 strstrip.6 htab.6 now.6 getcwd.6 rand.6 env.6 slurp.6 varargs.6 strbuf.6 clear.6 slput.6 strsplit.6 introspect.6 resolve.6 alloc.6 optparse.6 memops.6 fltbits.6 sldup.6 fltfmt.6 extremum.6 option.6 slcp.6 writeall.6 putint.6 sort.6 blat.6 mk.6 errno.6 hassuffix.6 execvp.6 swap.6 ipparse.6 types.6 slpop.6 strfind.6 utf.6 cstrconv.6 search.6 die.6 units.6 wait.6 result.6 bitset.6 intparse.6 hasprefix.6 mkpath.6 getint.6 syswrap.6 dirname.6 sleq.6 endian.6 spork.6 dial.6 assert.6 cmp.6 chartype.6 memops-impl.6 bigint.6 hashfuncs.6 slfill.6 fndup.6 mktemp.6 striter.6
+echo $pwd/muse/6.out -o std fmtfuncs.use fmt.use try.use pathjoin.use strjoin.use dir.use syswrap-ss.use sljoin.use slpush.use strstrip.use htab.use now.use getcwd.use rand.use env.use slurp.use varargs.use strbuf.use clear.use slput.use strsplit.use introspect.use resolve.use mktemp.use alloc.use optparse.use memops.use fltbits.use striter.use sldup.use fltfmt.use extremum.use option.use slcp.use writeall.use putint.use consts.use sort.use blat.use diriter.use mk.use errno.use hassuffix.use execvp.use swap.use ipparse.use types.use slpop.use strfind.use utf.use cstrconv.use search.use die.use units.use wait.use result.use bitset.use intparse.use hasprefix.use mkpath.use getint.use syswrap.use dirname.use sleq.use endian.use iterutil.use spork.use dial.use assert.use cmp.use chartype.use bigint.use hashfuncs.use slfill.use fndup.use ; $pwd/muse/6.out -o std fmtfuncs.use fmt.use try.use pathjoin.use strjoin.use dir.use syswrap-ss.use sljoin.use slpush.use strstrip.use htab.use now.use getcwd.use rand.use env.use slurp.use varargs.use strbuf.use clear.use slput.use strsplit.use introspect.use resolve.use mktemp.use alloc.use optparse.use memops.use fltbits.use striter.use sldup.use fltfmt.use extremum.use option.use slcp.use writeall.use putint.use consts.use sort.use blat.use diriter.use mk.use errno.use hassuffix.use execvp.use swap.use ipparse.use types.use slpop.use strfind.use utf.use cstrconv.use search.use die.use units.use wait.use result.use bitset.use intparse.use hasprefix.use mkpath.use getint.use syswrap.use dirname.use sleq.use endian.use iterutil.use spork.use dial.use assert.use cmp.use chartype.use bigint.use hashfuncs.use slfill.use fndup.use
+echo ar vu libstd.a fmtfuncs.6 fmt.6 try.6 pathjoin.6 strjoin.6 dir.6 syswrap-ss.6 sljoin.6 slpush.6 strstrip.6 htab.6 now.6 getcwd.6 rand.6 env.6 slurp.6 varargs.6 strbuf.6 clear.6 slput.6 strsplit.6 introspect.6 resolve.6 mktemp.6 alloc.6 optparse.6 memops.6 fltbits.6 striter.6 sldup.6 fltfmt.6 extremum.6 option.6 slcp.6 writeall.6 putint.6 consts.6 sort.6 blat.6 diriter.6 mk.6 errno.6 hassuffix.6 execvp.6 swap.6 ipparse.6 types.6 slpop.6 strfind.6 utf.6 cstrconv.6 search.6 die.6 units.6 wait.6 result.6 bitset.6 intparse.6 hasprefix.6 mkpath.6 getint.6 syswrap.6 dirname.6 sleq.6 endian.6 iterutil.6 spork.6 dial.6 assert.6 cmp.6 chartype.6 memops-impl.6 bigint.6 hashfuncs.6 slfill.6 fndup.6 ; ar vu libstd.a fmtfuncs.6 fmt.6 try.6 pathjoin.6 strjoin.6 dir.6 syswrap-ss.6 sljoin.6 slpush.6 strstrip.6 htab.6 now.6 getcwd.6 rand.6 env.6 slurp.6 varargs.6 strbuf.6 clear.6 slput.6 strsplit.6 introspect.6 resolve.6 mktemp.6 alloc.6 optparse.6 memops.6 fltbits.6 striter.6 sldup.6 fltfmt.6 extremum.6 option.6 slcp.6 writeall.6 putint.6 consts.6 sort.6 blat.6 diriter.6 mk.6 errno.6 hassuffix.6 execvp.6 swap.6 ipparse.6 types.6 slpop.6 strfind.6 utf.6 cstrconv.6 search.6 die.6 units.6 wait.6 result.6 bitset.6 intparse.6 hasprefix.6 mkpath.6 getint.6 syswrap.6 dirname.6 sleq.6 endian.6 iterutil.6 spork.6 dial.6 assert.6 cmp.6 chartype.6 memops-impl.6 bigint.6 hashfuncs.6 slfill.6 fndup.6
echo cd $pwd/lib/regex; cd $pwd/lib/regex
echo $pwd/6/6.out -I ../std -I ../sys types.myr ; $pwd/6/6.out -I ../std -I ../sys types.myr
echo $pwd/6/6.out -I ../std -I ../sys interp.myr ; $pwd/6/6.out -I ../std -I ../sys interp.myr
@@ -95,9 +99,10 @@
echo cd $pwd/lib/bio; cd $pwd/lib/bio
echo $pwd/6/6.out -I ../sys -I ../std bio.myr ; $pwd/6/6.out -I ../sys -I ../std bio.myr
echo $pwd/6/6.out -I ../sys -I ../std puti.myr ; $pwd/6/6.out -I ../sys -I ../std puti.myr
+echo $pwd/6/6.out -I ../sys -I ../std iter.myr ; $pwd/6/6.out -I ../sys -I ../std iter.myr
echo $pwd/6/6.out -I ../sys -I ../std geti.myr ; $pwd/6/6.out -I ../sys -I ../std geti.myr
-echo $pwd/muse/6.out -o bio puti.use bio.use geti.use ; $pwd/muse/6.out -o bio puti.use bio.use geti.use
-echo ar vu libbio.a puti.6 bio.6 geti.6 ; ar vu libbio.a puti.6 bio.6 geti.6
+echo $pwd/muse/6.out -o bio puti.use bio.use geti.use iter.use ; $pwd/muse/6.out -o bio puti.use bio.use geti.use iter.use
+echo ar vu libbio.a puti.6 bio.6 geti.6 iter.6 ; ar vu libbio.a puti.6 bio.6 geti.6 iter.6
echo cd $pwd/mbld; cd $pwd/mbld
echo $pwd/6/6.out -I ../lib/regex -I ../lib/bio -I ../lib/std -I ../lib/sys config+plan9-x64.myr ; $pwd/6/6.out -I ../lib/regex -I ../lib/bio -I ../lib/std -I ../lib/sys config+plan9-x64.myr
echo $pwd/6/6.out -I ../lib/regex -I ../lib/bio -I ../lib/std -I ../lib/sys opts.myr ; $pwd/6/6.out -I ../lib/regex -I ../lib/bio -I ../lib/std -I ../lib/sys opts.myr
--- a/muse/mkfile
+++ b/muse/mkfile
@@ -7,7 +7,7 @@
OFILES=\
muse.$O\
-LIB=../parse/libparse.a
+LIB=../parse/libparse.a ../util/libutil.a
BIN=/$objtype/bin
</sys/src/cmd/mkone
--- a/parse/mkfile
+++ b/parse/mkfile
@@ -6,7 +6,9 @@
LIB=libparse.a
OFILES= \
dump.$O \
- fold.$O\
+ err.$O \
+ export.$O \
+ fold.$O \
gram.$O \
infer.$O \
names.$O \
--- /dev/null
+++ b/util/mkfile
@@ -1,0 +1,20 @@
+</$objtype/mkfile
+CC=pcc
+LD=pcc
+CFLAGS=-c -D_POSIX_SOURCE -D_SUSV2_SOURCE -D_C99_SNPRINTF_EXTENSION
+
+LIB=libutil.a
+OFILES= \
+ alloc.$O \
+ bitset.$O \
+ htab.$O \
+ pack.$O \
+ util.$O \
+
+</sys/src/cmd/mklib
+
+install:V: $LIB
+ touch $LIB
+
+uninstall:V:
+ echo nothing to uninstall