[RS6000] libgcc cfi
authorAlan Modra <amodra@gcc.gnu.org>
Tue, 27 Nov 2018 01:59:56 +0000 (12:29 +1030)
committerAlan Modra <amodra@gcc.gnu.org>
Tue, 27 Nov 2018 01:59:56 +0000 (12:29 +1030)
commit1ea7ea181d8d3139df4ea66dc2ee98b27fa66b6f
treecc0b51bdc527218d6d57587139ce8a46357d33bf
parent28a095763f48725900eb86f7b4ee1b17c2e7afff
[RS6000] libgcc cfi

There are a few places in libgcc assembly where we don't emit call
frame information for functions, potentially breaking unwinding from
asynchronous signal handlers.  This patch fixes them.  Although I
patch tramp.S there is no attempt made to provide CFI for the actual
trampoline on the stack.  Doing that would require generating CFI at
run time and both registering and deregistering it, which is probably
not worth doing since it would significantly slow down the call.

* config/rs6000/morestack.S (__stack_split_initialize),
(__morestack_get_guard, __morestack_set_guard),
(__morestack_make_guard): Provide CFI covering these functions.
* config/rs6000/tramp.S (__trampoline_setup): Likewise.

From-SVN: r266503
libgcc/ChangeLog
libgcc/config/rs6000/morestack.S
libgcc/config/rs6000/tramp.S