Repository: go
Issue: build: redeclaration errors after switching branches
Labels: NeedsInvestigation

I had to revert to go1.4 yesterday because cross-compiling was (or is) broken, and now master won't build, revealing that we might be .gitignoring too many files.

git status shows I have a clean tree at tip, but the build suggests otherwise:

```
mac:go bradfitz$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
mac:go bradfitz$ git rev-parse HEAD
2937d88af591920d72d1ddd480df4c2c31532d2d
mac:go bradfitz$ cd src/
mac:src bradfitz$ ./make.bash
# Building C bootstrap tool.
cmd/dist

# Building compilers and Go bootstrap tool for host, darwin/amd64.
lib9
libbio
liblink
cmd/gc
cmd/6l
cmd/6a
cmd/6g
runtime
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:7: _Gidle redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:18
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:8: _Grunnable redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:19
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:9: _Grunning redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:20
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:10: _Gsyscall redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:21
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:11: _Gwaiting redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:22
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:12: _Gmoribund_unused redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:23
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:13: _Gdead redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:24
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:14: _Genqueue redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:25
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:15: _Gcopystack redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:26
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:16: _Gscan redeclared in this block
    previous declaration at /Users/bradfitz/go/src/runtime/runtime2.go:28
/Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go:16: too many errors
go tool dist: FAILED: /Users/bradfitz/go/pkg/tool/darwin_amd64/6g -pack -o $WORK/_go_.a -p runtime -+ -asmhdr $WORK/go_asm.h /Users/bradfitz/go/src/runtime/alg.go /Users/bradfitz/go/src/runtime/arch1_amd64.go /Users/bradfitz/go/src/runtime/arch_amd64.go /Users/bradfitz/go/src/runtime/atomic_amd64x.go /Users/bradfitz/go/src/runtime/cgo.go /Users/bradfitz/go/src/runtime/cgocall.go /Users/bradfitz/go/src/runtime/cgocallback.go /Users/bradfitz/go/src/runtime/chan.go /Users/bradfitz/go/src/runtime/chan1.go /Users/bradfitz/go/src/runtime/compiler.go /Users/bradfitz/go/src/runtime/complex.go /Users/bradfitz/go/src/runtime/cpuprof.go /Users/bradfitz/go/src/runtime/cputicks.go /Users/bradfitz/go/src/runtime/debug.go /Users/bradfitz/go/src/runtime/defs_darwin_amd64.go /Users/bradfitz/go/src/runtime/env_posix.go /Users/bradfitz/go/src/runtime/error.go /Users/bradfitz/go/src/runtime/extern.go /Users/bradfitz/go/src/runtime/hashmap.go /Users/bradfitz/go/src/runtime/hashmap_fast.go /Users/bradfitz/go/src/runtime/heapdump.go /Users/bradfitz/go/src/runtime/iface.go /Users/bradfitz/go/src/runtime/lfstack.go /Users/bradfitz/go/src/runtime/lfstack_amd64.go /Users/bradfitz/go/src/runtime/lock_sema.go /Users/bradfitz/go/src/runtime/malloc.go /Users/bradfitz/go/src/runtime/malloc1.go /Users/bradfitz/go/src/runtime/malloc2.go /Users/bradfitz/go/src/runtime/mcache.go /Users/bradfitz/go/src/runtime/mcentral.go /Users/bradfitz/go/src/runtime/mem.go /Users/bradfitz/go/src/runtime/mem_darwin.go /Users/bradfitz/go/src/runtime/mfixalloc.go /Users/bradfitz/go/src/runtime/mgc.go /Users/bradfitz/go/src/runtime/mgc0.go /Users/bradfitz/go/src/runtime/mgc1.go /Users/bradfitz/go/src/runtime/mheap.go /Users/bradfitz/go/src/runtime/mprof.go /Users/bradfitz/go/src/runtime/msize.go /Users/bradfitz/go/src/runtime/netpoll.go /Users/bradfitz/go/src/runtime/netpoll_kqueue.go /Users/bradfitz/go/src/runtime/os1_darwin.go /Users/bradfitz/go/src/runtime/os2_darwin.go /Users/bradfitz/go/src/runtime/os_darwin.go /Users/bradfitz/go/src/runtime/panic.go /Users/bradfitz/go/src/runtime/panic1.go /Users/bradfitz/go/src/runtime/parfor.go /Users/bradfitz/go/src/runtime/print1.go /Users/bradfitz/go/src/runtime/proc.go /Users/bradfitz/go/src/runtime/proc1.go /Users/bradfitz/go/src/runtime/race0.go /Users/bradfitz/go/src/runtime/rdebug.go /Users/bradfitz/go/src/runtime/rune.go /Users/bradfitz/go/src/runtime/runtime.go /Users/bradfitz/go/src/runtime/runtime1.go /Users/bradfitz/go/src/runtime/runtime2.go /Users/bradfitz/go/src/runtime/select.go /Users/bradfitz/go/src/runtime/sema.go /Users/bradfitz/go/src/runtime/signal1_unix.go /Users/bradfitz/go/src/runtime/signal_amd64x.go /Users/bradfitz/go/src/runtime/signal_darwin.go /Users/bradfitz/go/src/runtime/signal_darwin_amd64.go /Users/bradfitz/go/src/runtime/signal_unix.go /Users/bradfitz/go/src/runtime/sigpanic_unix.go /Users/bradfitz/go/src/runtime/sigqueue.go /Users/bradfitz/go/src/runtime/slice.go /Users/bradfitz/go/src/runtime/softfloat64.go /Users/bradfitz/go/src/runtime/sqrt.go /Users/bradfitz/go/src/runtime/stack1.go /Users/bradfitz/go/src/runtime/stack2.go /Users/bradfitz/go/src/runtime/string.go /Users/bradfitz/go/src/runtime/string1.go /Users/bradfitz/go/src/runtime/stubs.go /Users/bradfitz/go/src/runtime/stubs2.go /Users/bradfitz/go/src/runtime/symtab.go /Users/bradfitz/go/src/runtime/sys_x86.go /Users/bradfitz/go/src/runtime/time.go /Users/bradfitz/go/src/runtime/traceback.go /Users/bradfitz/go/src/runtime/type.go /Users/bradfitz/go/src/runtime/typekind.go /Users/bradfitz/go/src/runtime/typekind1.go /Users/bradfitz/go/src/runtime/vdso_none.go /Users/bradfitz/go/src/runtime/wbfat.go /Users/bradfitz/go/src/runtime/zgoarch_amd64.go /Users/bradfitz/go/src/runtime/zgoos_darwin.go /Users/bradfitz/go/src/runtime/zruntime_defs_darwin_amd64.go /Users/bradfitz/go/src/runtime/zversion.go
mac:src bradfitz$
```

Is it this line of .gitignore that's too ignore-y?

```
src/runtime/z*
```

?