From: Russ Cox Date: Fri, 23 Jan 2015 19:18:31 +0000 (-0500) Subject: [dev.cc] liblink: disable GOOBJ=2 default X-Git-Tag: go1.5beta1~1915^2~68 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2ecefd41fa853e40346e0f89c632efb8682c431b;p=gostls13.git [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 Reviewed-by: Brad Fitzpatrick --- diff --git a/src/liblink/objfile.c b/src/liblink/objfile.c index 65fdcde19b..99f5e97607 100644 --- a/src/liblink/objfile.c +++ b/src/liblink/objfile.c @@ -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;