diff options
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/gc/Makefile | 2 | ||||
| -rw-r--r-- | src/cmd/gc/builtin.c.boot | 15 | ||||
| -rw-r--r-- | src/cmd/gc/go.h | 1 | ||||
| -rw-r--r-- | src/cmd/gc/lex.c | 4 | ||||
| -rwxr-xr-x | src/cmd/gc/mkbuiltin | 9 | ||||
| -rw-r--r-- | src/cmd/gc/runtime.go | 9 | ||||
| -rw-r--r-- | src/cmd/gc/sys.go | 14 | ||||
| -rw-r--r-- | src/cmd/gobuild/gobuild.go | 2 | ||||
| -rw-r--r-- | src/cmd/gobuild/util.go | 2 |
9 files changed, 30 insertions, 28 deletions
diff --git a/src/cmd/gc/Makefile b/src/cmd/gc/Makefile index 0fc15deaa..0083240e4 100644 --- a/src/cmd/gc/Makefile +++ b/src/cmd/gc/Makefile @@ -44,7 +44,7 @@ y.tab.h: $(YFILES) y.tab.c: y.tab.h test -f y.tab.c && touch y.tab.c -builtin.c: sys.go unsafe.go mkbuiltin1.c mkbuiltin +builtin.c: sys.go unsafe.go runtime.go mkbuiltin1.c mkbuiltin ./mkbuiltin >builtin.c || \ (echo 'mkbuiltin failed; using bootstrap copy of builtin.c'; cp builtin.c.boot builtin.c) diff --git a/src/cmd/gc/builtin.c.boot b/src/cmd/gc/builtin.c.boot index 0f189d363..8657944b5 100644 --- a/src/cmd/gc/builtin.c.boot +++ b/src/cmd/gc/builtin.c.boot @@ -55,13 +55,6 @@ char *sysimport = "func sys.arrayslices (old *any, nel int, lb int, hb int, width int) (ary []any)\n" "func sys.arrays2d (old *any, nel int) (ary []any)\n" "func sys.closure ()\n" - "func sys.Breakpoint ()\n" - "var sys.Args []string\n" - "var sys.Envs []string\n" - "func sys.Gosched ()\n" - "func sys.Goexit ()\n" - "func sys.Exit (? int)\n" - "func sys.Caller (n int) (pc uint64, file string, line int, ok bool)\n" "\n" "$$\n"; char *unsafeimport = @@ -74,3 +67,11 @@ char *unsafeimport = "func unsafe.Unreflect (? uint64, ? string, ? bool) (ret interface { })\n" "\n" "$$\n"; +char *runtimeimport = + "package runtime\n" + "func runtime.Breakpoint ()\n" + "func runtime.Gosched ()\n" + "func runtime.Goexit ()\n" + "func runtime.Caller (n int) (pc uint64, file string, line int, ok bool)\n" + "\n" + "$$\n"; diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h index a74dd645c..29e2fd64b 100644 --- a/src/cmd/gc/go.h +++ b/src/cmd/gc/go.h @@ -541,6 +541,7 @@ EXTERN Sym* pkgimportname; // package name from imported package EXTERN int tptr; // either TPTR32 or TPTR64 extern char* sysimport; extern char* unsafeimport; +extern char* runtimeimport; EXTERN char* filename; // name to uniqify names EXTERN Idir* idirs; diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index b84d91ba7..e5edf5051 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -265,6 +265,10 @@ importfile(Val *f) cannedimports("unsafe.6", unsafeimport); return; } + if(strcmp(f->u.sval->s, "runtime") == 0) { + cannedimports("runtime.6", runtimeimport); + return; + } if(!findpkg(f->u.sval)) fatal("can't find import: %Z", f->u.sval); diff --git a/src/cmd/gc/mkbuiltin b/src/cmd/gc/mkbuiltin index e0c29c1bb..b0cb634f5 100755 --- a/src/cmd/gc/mkbuiltin +++ b/src/cmd/gc/mkbuiltin @@ -5,11 +5,12 @@ set -e gcc -o mkbuiltin1 mkbuiltin1.c -6g sys.go -6g unsafe.go rm -f _builtin.c -./mkbuiltin1 sys >_builtin.c -./mkbuiltin1 unsafe >>_builtin.c +for i in sys unsafe runtime +do + 6g $i.go + ./mkbuiltin1 $i >>_builtin.c +done # If _builtin.c has changed vs builtin.c.boot, # check in the new change if being run by diff --git a/src/cmd/gc/runtime.go b/src/cmd/gc/runtime.go new file mode 100644 index 000000000..6b9722ac5 --- /dev/null +++ b/src/cmd/gc/runtime.go @@ -0,0 +1,9 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package PACKAGE +func Breakpoint(); +func Gosched(); +func Goexit(); +func Caller(n int) (pc uint64, file string, line int, ok bool); diff --git a/src/cmd/gc/sys.go b/src/cmd/gc/sys.go index f77771a09..67fbb0391 100644 --- a/src/cmd/gc/sys.go +++ b/src/cmd/gc/sys.go @@ -72,17 +72,3 @@ func arrayslices(old *any, nel int, lb int, hb int, width int) (ary []any); func arrays2d(old *any, nel int) (ary []any); func closure(); // has args, but compiler fills in - -// used by go programs - -func Breakpoint(); - -var Args []string; -var Envs []string; - -func Gosched(); -func Goexit(); - -func Exit(int); - -func Caller(n int) (pc uint64, file string, line int, ok bool); diff --git a/src/cmd/gobuild/gobuild.go b/src/cmd/gobuild/gobuild.go index 9324e98ff..0db9bca04 100644 --- a/src/cmd/gobuild/gobuild.go +++ b/src/cmd/gobuild/gobuild.go @@ -131,7 +131,7 @@ func ScanFiles(filenames []string) *Info { // TODO(rsc): Build a binary from package main? z := new(Info); - z.Args = sys.Args; + z.Args = os.Args; z.Dir = PkgDir(); z.Char = theChar; // for template z.ObjDir = ObjDir; // for template diff --git a/src/cmd/gobuild/util.go b/src/cmd/gobuild/util.go index 34351cea8..be50ba1ca 100644 --- a/src/cmd/gobuild/util.go +++ b/src/cmd/gobuild/util.go @@ -34,7 +34,7 @@ const ObjDir = "_obj" func fatal(args ...) { fmt.Fprintf(os.Stderr, "gobuild: %s\n", fmt.Sprint(args)); - sys.Exit(1); + os.Exit(1); } func init() { |
