1
0
mirror of https://github.com/golang/go synced 2024-11-12 07:00:21 -07:00

[dev.cc] liblink: disable GOOBJ=2 default

The point of GOOBJ=2 was to have an active test of the cmd/internal/obj code.
Now we have end-to-end tests of the assembler, and soon the compiler,
so we don't need this halfway test on by default anymore.
(It's still possible to enable during debugging with the
environment variable.)

The problem it causes on the builders is that this particular testing
mode ends up with both the C process and the Go objwriter subprocess
having the same very large Prog list in memory simultaneously,
which causes basically a 2x memory blowup. In large programs
(such as the one generated by test/rotate.go) this is significant.

Disabling GOOBJ=2 should help with the current dev.cc builder
failures.

Change-Id: I1b11e4f29ea575659f02d2234242a904f7c867e4
Reviewed-on: https://go-review.googlesource.com/4832
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Russ Cox 2015-01-23 14:18:31 -05:00
parent 87de9ce212
commit 2ecefd41fa

View File

@ -143,7 +143,7 @@ writeobj(Link *ctxt, Biobuf *b)
// we will hard code the GOOBJ=1 behavior.
env = getenv("GOOBJ");
if(env == nil)
env = "2";
env = "0";
if(atoi(env) == 0) {
writeobjdirect(ctxt, b);
return;