[RS6000] PR97107, libgo fails to build for power10
authorAlan Modra <amodra@gmail.com>
Fri, 18 Sep 2020 13:33:11 +0000 (23:03 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 24 Sep 2020 02:10:02 +0000 (11:40 +0930)
commit199baa71f7a6c8f255afdda03cd3b2644f8f0fcd
tree5a93a33b6d2cc716ddcc5b0ba16bb74839b93b96
parent6b828f69519a50e6e2961b62ea552bf89d287199
[RS6000] PR97107, libgo fails to build for power10

Calls from split-stack code to non-split-stack code need to expand
mapped stack memory via __morestack.  Even tail calls.

__morestack is quite a surprising function on powerpc in that it calls
back to its caller, and a tail call will continue running in the
context of extra mapped stack.

PR target/97107
* config/rs6000/rs6000-internal.h (struct rs6000_stack): Improve
calls_p comment.
* config/rs6000/rs6000-logue.c (rs6000_stack_info): Likewise.
(rs6000_expand_split_stack_prologue): Emit the prologue for
functions that make a sibling call.
gcc/config/rs6000/rs6000-internal.h
gcc/config/rs6000/rs6000-logue.c