Commit c96fc081 by Ian Lance Taylor

cmd/go: look for tool build ID before hashing entire file

    
    Also fix the key used to store the ID.
    
    This is a significant speedup in cmd/go run time.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/194257

From-SVN: r275559
parent 5447e8e2
5c3f52ffbae7a9bb59bce63cd2cffdd8af8f4a92
68038b4fdf1456482af986cb05dcf3121bd43ffc
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
......@@ -291,14 +291,19 @@ func (b *Builder) gccgoToolID(name, language string) (string, error) {
exe = lp
}
}
if _, err := os.Stat(exe); err != nil {
return "", fmt.Errorf("%s: can not find compiler %q: %v; output %q", name, exe, err, out)
id, err = buildid.ReadFile(exe)
if err != nil {
return "", err
}
// If we can't find a build ID, use a hash.
if id == "" {
id = b.fileHash(exe)
}
id = b.fileHash(exe)
}
b.id.Lock()
b.toolIDCache[name] = id
b.toolIDCache[key] = id
b.id.Unlock()
return id, nil
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment