mirror of
https://github.com/golang/go
synced 2024-11-19 14:54:43 -07:00
cmd/go: more refined handling of cmd/compile magic environment variables
Per discussion with David Chase, need to check GOSSAHASH$n for increasing n until one is missing. Also if GSHS_LOGFILE is set, the compiler writes to that file, so arrange never to cache in that case. Change-Id: I3931b4e296251b99abab9bbbbbdcf94ae8c1e2a6 Reviewed-on: https://go-review.googlesource.com/77111 Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
f768693f58
commit
c2e26fad3b
@ -223,7 +223,6 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
|
|||||||
"GOCLOBBERDEADHASH",
|
"GOCLOBBERDEADHASH",
|
||||||
"GOSSAFUNC",
|
"GOSSAFUNC",
|
||||||
"GO_SSA_PHI_LOC_CUTOFF",
|
"GO_SSA_PHI_LOC_CUTOFF",
|
||||||
"GSHS_LOGFILE",
|
|
||||||
"GOSSAHASH",
|
"GOSSAHASH",
|
||||||
}
|
}
|
||||||
for _, env := range magic {
|
for _, env := range magic {
|
||||||
@ -231,6 +230,23 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
|
|||||||
fmt.Fprintf(h, "magic %s=%s\n", env, x)
|
fmt.Fprintf(h, "magic %s=%s\n", env, x)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if os.Getenv("GOSSAHASH") != "" {
|
||||||
|
for i := 0; ; i++ {
|
||||||
|
env := fmt.Sprintf("GOSSAHASH%d", i)
|
||||||
|
x := os.Getenv(env)
|
||||||
|
if x == "" {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
fmt.Fprintf(h, "magic %s=%s\n", env, x)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if os.Getenv("GSHS_LOGFILE") != "" {
|
||||||
|
// Clumsy hack. Compiler writes to this log file,
|
||||||
|
// so do not allow use of cache at all.
|
||||||
|
// We will still write to the cache but it will be
|
||||||
|
// essentially unfindable.
|
||||||
|
fmt.Fprintf(h, "nocache %d\n", time.Now().UnixNano())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Input files.
|
// Input files.
|
||||||
|
Loading…
Reference in New Issue
Block a user