Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
runtime: missing deferreturn on linux/ppc64le [1.14 backport] #39991
yes, @ianlancetaylor is right, kubernetes community recently adopted golang 1.14 version and hit with this issue for ppc64le platform, need to be fixed asap. -Thanks.
Thanks for the information..
This is a backport of CL 234105. This is not a clean cherry-pick, as CL 234105 is for the new linker, whereas we still use the old linker here. This CL backports the logic. The runtime needs to find the PC of the deferreturn call in a few places. So for functions that have defer, we record the PC of deferreturn call in its funcdata. For very large binaries, the deferreturn call could be made through a trampoline. The current code of finding deferreturn PC fails in this case. This CL handles the trampoline as well. Fixes #39991. Updates #39049. Change-Id: I929be54d6ae436f5294013793217dc2a35f080d4 Reviewed-on: https://go-review.googlesource.com/c/go/+/234105 Run-TryBot: Cherry Zhang <firstname.lastname@example.org> TryBot-Result: Gobot Gobot <email@example.com> Reviewed-by: Jeremy Faller <firstname.lastname@example.org> Reviewed-by: Than McIntosh <email@example.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/240917 Run-TryBot: Dmitri Shuralyov <firstname.lastname@example.org> Reviewed-by: Austin Clements <email@example.com> Reviewed-by: Joel Sing <firstname.lastname@example.org>