]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: do not generate tail calls when dynamic linking on ppc64le
authorMichael Hudson-Doyle <michael.hudson@canonical.com>
Fri, 27 May 2016 03:41:55 +0000 (15:41 +1200)
committerMichael Hudson-Doyle <michael.hudson@canonical.com>
Thu, 2 Jun 2016 02:34:01 +0000 (02:34 +0000)
commitd25c3eadea9bc5c8b6451c3502d6063dd618a3af
treed6c899ebb08b5cfcfd0b838db6e0653acd42237d
parent068c745e1e44875c411de5d5aea3f96574fbee12
cmd/compile: do not generate tail calls when dynamic linking on ppc64le

When a wrapper method calls the real implementation, it's not possible to use a
tail call when dynamic linking on ppc64le. The bad scenario is when a local
call is made to the wrapper: the wrapper will call the implementation, which
might be in a different module and so set the TOC to the appropriate value for
that module. But if it returns directly to the wrapper's caller, nothing will
reset it to the correct value for that function.

Change-Id: Icebf24c9a2a0a9a7c2bce6bd6f1358657284fb10
Reviewed-on: https://go-review.googlesource.com/23468
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
misc/cgo/testshared/src/depBase/dep.go
misc/cgo/testshared/src/exe2/exe2.go
src/cmd/compile/internal/gc/subr.go