mirror of
https://github.com/golang/go
synced 2024-11-19 11:14:47 -07:00
cmd/dist: require _ before GOOS and GOARCH when building bootstrap
Currently, dist allows GOOS and GOARCH to appear as *any* substring in a file name when selecting source files to go into go_bootstrap. This was necessary prior to Go 1.4, where it needed to match names like "windows.c", but now it's gratuitously different from go/build. This led to a bug chase to figure out why "stubs_nonlinux.go" was not being built on non-Linux OSes. Change shouldbuild to require an "_" before the GOOS and GOARCH in a file name. This is still less strict than go/build, but the behavior is much closer. Change-Id: I580e9344a3c40d57c0721d345e911e8b4f141f5d Reviewed-on: https://go-review.googlesource.com/40435 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
parent
7f32d41e5d
commit
c253ea47e1
7
src/cmd/dist/build.go
vendored
7
src/cmd/dist/build.go
vendored
@ -782,9 +782,8 @@ func matchtag(tag string) bool {
|
||||
|
||||
// shouldbuild reports whether we should build this file.
|
||||
// It applies the same rules that are used with context tags
|
||||
// in package go/build, except that the GOOS and GOARCH
|
||||
// can appear anywhere in the file name, not just after _.
|
||||
// In particular, they can be the entire file name (like windows.c).
|
||||
// in package go/build, except it's less picky about the order
|
||||
// of GOOS and GOARCH.
|
||||
// We also allow the special tag cmd_go_bootstrap.
|
||||
// See ../go/bootstrap.go and package go/build.
|
||||
func shouldbuild(file, dir string) bool {
|
||||
@ -796,7 +795,7 @@ func shouldbuild(file, dir string) bool {
|
||||
continue
|
||||
}
|
||||
i := strings.Index(name, x)
|
||||
if i < 0 {
|
||||
if i <= 0 || name[i-1] != '_' {
|
||||
continue
|
||||
}
|
||||
i += len(x)
|
||||
|
Loading…
Reference in New Issue
Block a user