Commit ce7f345c authored by Russ Cox's avatar Russ Cox

gc: do not build builtin.c automatically; use golden copy instead.

R=r
CC=golang-dev
https://golang.org/cl/190104
parent c634189d
......@@ -54,9 +54,8 @@ y.tab.h: $(YFILES)
y.tab.c: y.tab.h
test -f y.tab.c && touch y.tab.c
builtin.c: runtime.go unsafe.go mkbuiltin1.c mkbuiltin
./mkbuiltin || \
(echo 'mkbuiltin failed; using bootstrap copy of builtin.c'; cp builtin.c.boot builtin.c)
builtin.c: builtin.c.boot
cp builtin.c.boot builtin.c
subr.$O: opnames.h
......
......@@ -3,6 +3,11 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# Generate builtin.c and builtin.c.boot from $* (runtime.go and unsafe.go).
# Run this after changing runtime.go and unsafe.go
# or after changing the export metadata format in the compiler.
# Either way, you need to have a working compiler binary first.
set -e
GOBIN="${GOBIN:-$HOME/bin}"
......@@ -22,19 +27,7 @@ do
done
# If _builtin.c has changed vs builtin.c.boot,
# check in the new change if being run by
# one of the people who tends to work on
# the compiler. This makes sure that changes
# don't get forgotten, without causing problems
# in end user Go repositories.
case "$USER" in
ken | r | rsc)
if ! cmp _builtin.c builtin.c.boot >/dev/null 2>/dev/null
then
PATH=$PATH:/usr/local/bin # find p4 on OS X
p4 open builtin.c.boot >/dev/null 2>/dev/null || true # if p4 is missing, so be it
cp _builtin.c builtin.c.boot
fi
esac
# check in the new change.
cmp -s _builtin.c builtin.c.boot || cp _builtin.c builtin.c.boot
mv _builtin.c builtin.c
......@@ -2,6 +2,10 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// NOTE: If you change this file you must run "./mkbuiltin"
// to update builtin.c.boot. This is not done automatically
// to avoid depending on having a working compiler binary.
package PACKAGE
// emitted by compiler, not referred to by go programs
......
......@@ -2,6 +2,10 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// NOTE: If you change this file you must run "./mkbuiltin"
// to update builtin.c.boot. This is not done automatically
// to avoid depending on having a working compiler binary.
package PACKAGE
type Pointer *any
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment