• Josh Bleecher Snyder's avatar
    cmd/go, cmd/compile: always optimize when building runtime · f8b02316
    Josh Bleecher Snyder authored
    When optimizations are disabled, the compiler
    cannot eliminate enough write barriers to satisfy
    the runtime's nowritebarrier and nowritebarrierrec
    annotations.
    
    Enforce that requirement, and for convenience,
    have cmd/go elide -N when compiling the runtime.
    
    This came up in practice for me when running
    toolstash -cmp. When toolstash -cmp detected
    mismatches, it recompiled with -N, which caused
    runtime compilation failures.
    
    Change-Id: Ifcdef22c725baf2c59a09470f00124361508a8f3
    Reviewed-on: https://go-review.googlesource.com/38380
    Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
    f8b02316
build.go 112 KB