summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-06-06 22:04:50 -0700
committerRuss Cox <rsc@golang.org>2009-06-06 22:04:50 -0700
commit24e7c8d2d10bdb333f920b5cdefcc2d2826a6314 (patch)
tree9c314c5b9ad4a29289e29cb52a48aa567bc7c6d2 /src
parent3d66a5d5880e4f0b1367a5ec8fb2cddefd9c2e28 (diff)
downloadgo-24e7c8d2d10bdb333f920b5cdefcc2d2826a6314.tar.gz
move src/runtime -> src/lib/runtime;
hand-edited files. R=r DELTA=125 (77 added, 16 deleted, 32 changed) OCL=30001 CL=30008
Diffstat (limited to 'src')
-rwxr-xr-xsrc/clean.bash2
-rw-r--r--src/cmd/5l/obj.c4
-rw-r--r--src/cmd/6l/obj.c2
-rw-r--r--src/cmd/8l/obj.c2
-rw-r--r--src/lib/reflect/typestring.c5
-rw-r--r--src/lib/runtime/Makefile148
-rwxr-xr-xsrc/make.bash2
7 files changed, 113 insertions, 52 deletions
diff --git a/src/clean.bash b/src/clean.bash
index c4c74dde7..15a46a76a 100755
--- a/src/clean.bash
+++ b/src/clean.bash
@@ -5,7 +5,7 @@
rm -rf $GOROOT/pkg/[0-9a-zA-Z_]*
rm -f $GOROOT/lib/*.[6a]
-for i in lib9 libbio libmach_amd64 libregexp cmd runtime lib
+for i in lib9 libbio libmach_amd64 libregexp cmd lib
do
cd $i
case $i in
diff --git a/src/cmd/5l/obj.c b/src/cmd/5l/obj.c
index d939ea977..30f60e07d 100644
--- a/src/cmd/5l/obj.c
+++ b/src/cmd/5l/obj.c
@@ -275,7 +275,7 @@ main(int argc, char *argv[])
if(!debug['l']) {
loadlib();
a = mal(strlen(goroot)+strlen(goarch)+strlen(goos)+20);
- sprint(a, "%s/lib/lib_%s_%s.a", goroot, goarch, goos);
+ sprint(a, "%s/pkg/%s_%s/runtime.a", goroot, goos, goarch);
objfile(a);
}
firstp = firstp->link;
@@ -955,7 +955,7 @@ loop:
p->link = datap;
datap = p;
break;
-
+
case ADATA:
if(p->from.sym == S) {
diag("DATA without a sym\n%P", p);
diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c
index 23e794c2a..a149ed07f 100644
--- a/src/cmd/6l/obj.c
+++ b/src/cmd/6l/obj.c
@@ -359,7 +359,7 @@ main(int argc, char *argv[])
if(!debug['l']) {
loadlib();
a = mal(strlen(goroot)+strlen(goarch)+strlen(goos)+20);
- sprint(a, "%s/lib/lib_%s_%s.a", goroot, goarch, goos);
+ sprint(a, "%s/pkg/%s_%s/runtime.a", goroot, goos, goarch);
objfile(a);
}
definetypestrings();
diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c
index fdcf45c88..c3d4b9f65 100644
--- a/src/cmd/8l/obj.c
+++ b/src/cmd/8l/obj.c
@@ -329,7 +329,7 @@ main(int argc, char *argv[])
if(!debug['l']) {
loadlib();
a = mal(strlen(goroot)+strlen(goarch)+strlen(goos)+20);
- sprint(a, "%s/lib/lib_%s_%s.a", goroot, goarch, goos);
+ sprint(a, "%s/pkg/%s_%s/runtime.a", goroot, goos, goarch);
objfile(a);
}
definetypestrings();
diff --git a/src/lib/reflect/typestring.c b/src/lib/reflect/typestring.c
index af3f366a9..667037bb1 100644
--- a/src/lib/reflect/typestring.c
+++ b/src/lib/reflect/typestring.c
@@ -5,10 +5,7 @@
extern char gotypestrings[]; // 4-byte count followed by byte[count]
-void
-FLUSH(void*)
-{
-}
+void FLUSH(void*);
typedef struct String String;
struct String
diff --git a/src/lib/runtime/Makefile b/src/lib/runtime/Makefile
index 21bf4a8a8..d4652a34f 100644
--- a/src/lib/runtime/Makefile
+++ b/src/lib/runtime/Makefile
@@ -2,59 +2,123 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-# DO NOT EDIT. Automatically generated by gobuild.
-# gobuild -m >Makefile
-
-D=
-
-include $(GOROOT)/src/Make.$(GOARCH)
-AR=gopack
-
-default: packages
+# Set SIZE to 32 or 64.
+SIZE_386=32
+SIZE_amd64=64
+SIZE_arm=32
+SIZE=$(SIZE_$(GOARCH))
+
+# Setup CFLAGS. Add -D_64BIT on 64-bit platforms (sorry).
+CFLAGS_64=-D_64BIT
+CFLAGS=-I$(GOOS) -I$(GOOS)/$(GOARCH) -wF $(CFLAGS_$(SIZE))
+
+# Set O to right letter.
+O_386=8
+O_amd64=6
+O_arm=5
+O=$(O_$(GOARCH))
+
+# Tools
+CC=$(O)c
+GC=$(O)g
+AS=$(O)a
+AR=6ar # sic
+
+LIB=runtime.a
+
+# 386-specific object files
+OFILES_386=\
+ vlop.$O\
+ vlrt.$O\
+
+OFILES=\
+ array.$O\
+ asm.$O\
+ chan.$O\
+ closure.$O\
+ extern.$O\
+ float.$O\
+ float_go.$O\
+ hashmap.$O\
+ iface.$O\
+ malloc.$O\
+ malloc_go.$O\
+ mcache.$O\
+ mcentral.$O\
+ mem.$O\
+ mfixalloc.$O\
+ mgc0.$O\
+ mheap.$O\
+ mheapmap$(SIZE).$O\
+ msize.$O\
+ print.$O\
+ proc.$O\
+ rune.$O\
+ runtime.$O\
+ rt0.$O\
+ sema.$O\
+ sema_go.$O\
+ signal.$O\
+ string.$O\
+ symtab.$O\
+ sys.$O\
+ thread.$O\
+ traceback.$O\
+ $(OFILES_$(GOARCH))\
+
+HFILES=\
+ runtime.h\
+ hashmap.h\
+ malloc.h\
+ $(GOOS)/os.h\
+ $(GOOS)/$(GOARCH)/defs.h\
+
+install: $(LIB) runtime.acid
+ cp $(LIB) $(GOROOT)/pkg/$(GOOS)_$(GOARCH)/$(LIB)
+ cp runtime.acid $(GOROOT)/acid/runtime.acid
+
+$(LIB): $(OFILES)
+ $(AR) grc $(LIB) $(OFILES)
+
+$(OFILES): $(HFILES)
+
+nuke:
+ rm -f *.[568] *.a $(GOROOT)/lib/$(LIB)
clean:
- rm -rf *.[$(OS)] *.a [$(OS)].out _obj
+ rm -f *.[568] *.a runtime.acid cgo2c
-test: packages
- gotest
+%.$O: %.go
+ $(GC) $<
-coverage: packages
- gotest
- 6cov -g `pwd` | grep -v '_test\.go:'
+%.$O: %.c
+ $(CC) $(CFLAGS) $<
-%.$O: %.go
- $(GC) -I_obj $*.go
-
-%.$O: %.c
- $(CC) $*.c
-
-%.$O: %.s
- $(AS) $*.s
-
-O1=\
- runtime.$O\
+%.$O: $(GOARCH)/%.c
+ $(CC) $(CFLAGS) $<
+%.$O: $(GOOS)/%.c
+ $(CC) $(CFLAGS) $<
-phases: a1
-_obj$D/runtime.a: phases
+%.$O: $(GOOS)/$(GOARCH)/%.c
+ $(CC) $(CFLAGS) $<
-a1: $(O1)
- $(AR) grc _obj$D/runtime.a runtime.$O
- rm -f $(O1)
+%.$O: $(GOARCH)/%.s
+ $(AS) $<
+%.$O: $(GOOS)/$(GOARCH)/%.s
+ $(AS) $<
-newpkg: clean
- mkdir -p _obj$D
- $(AR) grc _obj$D/runtime.a
+cgo2c: cgo2c.c
+ quietgcc -o $@ $<
-$(O1): newpkg
-$(O2): a1
+%.c: %.cgo cgo2c
+ ./cgo2c $< > $@.tmp
+ mv -f $@.tmp $@
-nuke: clean
- rm -f $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D/runtime.a
+runtime.acid: runtime.h proc.c
+ $(CC) -a proc.c >runtime.acid
-packages: _obj$D/runtime.a
+chan.acid: runtime.h chan.c
+ $(CC) -a chan.c >chan.acid
-install: packages
- test -d $(GOROOT)/pkg && mkdir -p $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D
- cp _obj$D/runtime.a $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D/runtime.a
diff --git a/src/make.bash b/src/make.bash
index 5c5e36eff..f6ee91ad0 100755
--- a/src/make.bash
+++ b/src/make.bash
@@ -18,7 +18,7 @@ rm -f $HOME/bin/quietgcc
cp quietgcc.bash $HOME/bin/quietgcc
chmod +x $HOME/bin/quietgcc
-for i in lib9 libbio libmach_amd64 libregexp cmd runtime lib cmd/gobuild
+for i in lib9 libbio libmach_amd64 libregexp cmd lib cmd/gobuild
do
echo; echo; echo %%%% making $i %%%%; echo
cd $i