Framepointer is the default now. Only print an X: list
if the settings are _not_ the default.
Before:
$ go tool compile -V
compile version devel +
a5f30d9508 Sun Jul 16 14:43:48 2017 -0400 X:framepointer
$ go1.8 tool compile -V
compile version go1.8 X:framepointer
$
After:
$ go tool compile -V
compile version devel +
a5f30d9508 Sun Jul 16 14:43:48 2017 -0400
$ go1.9 tool compile -V # imagined
compile version go1.9
$
Perpetuates #18317.
Change-Id: I981ba5c62be32e650a166fc9740703122595639b
Reviewed-on: https://go-review.googlesource.com/49252
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
func doversion() {
p := objabi.Expstring()
- if p == "X:none" {
+ if p == objabi.DefaultExpstring() {
p = ""
}
sep := ""
}
func init() {
- framepointer_enabled = 1 // default
for _, f := range strings.Split(goexperiment, ",") {
if f != "" {
addexp(f)
}
var (
- framepointer_enabled int
+ framepointer_enabled int = 1
Fieldtrack_enabled int
Preemptibleloops_enabled int
Clobberdead_enabled int
{"clobberdead", &Clobberdead_enabled},
}
+var defaultExpstring = Expstring()
+
+func DefaultExpstring() string {
+ return defaultExpstring
+}
+
func Expstring() string {
buf := "X"
for i := range exper {
goarch = runtime.GOARCH
}
+ // Frame pointer is on by default now.
+ // golang.org/issue/18317.
+ return
+
version, err := exec.Command("go", "tool", "compile", "-V").Output()
if err != nil {
bug()