]> Cypherpunks repositories - gostls13.git/commit
cmd/compile, runtime: make the go.itab.* symbols module-local
authorMichael Hudson-Doyle <michael.hudson@canonical.com>
Wed, 26 Oct 2016 02:57:58 +0000 (15:57 +1300)
committerMichael Hudson-Doyle <michael.hudson@canonical.com>
Thu, 27 Oct 2016 19:13:35 +0000 (19:13 +0000)
commit8b07ec20f7a971edce9eaf413b20e453c50858c6
treea89e593a9a300133505fa15cc61a28690d66b7cc
parentaabdb66d8909f772270b80eff3405cfd4cce4d8b
cmd/compile, runtime: make the go.itab.* symbols module-local

Otherwise, the way the ELF dynamic linker works means that you can end up with
the same itab being passed to additab twice, leading to the itab linked list
having a cycle in it. Add a test to additab in runtime to catch this when it
happens, not some arbitrary and surprsing time later.

Fixes #17594

Change-Id: I6c82edcc9ac88ac188d1185370242dc92f46b1ad
Reviewed-on: https://go-review.googlesource.com/32131
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
misc/cgo/testshared/src/depBase/dep.go
misc/cgo/testshared/src/exe/exe.go
src/cmd/compile/internal/gc/reflect.go
src/runtime/iface.go