]> git.ipfire.org Git - thirdparty/gcc.git/commit
[RS6000] libgcc cfi
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Nov 2018 01:59:56 +0000 (01:59 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Nov 2018 01:59:56 +0000 (01:59 +0000)
commit6a9a8e156cc638f12b9a86c13caff15a7e118917
treecc0b51bdc527218d6d57587139ce8a46357d33bf
parent0aaa1c585bcbde35ab31226daf298c07b49ad026
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266503 138bc75d-0d04-0410-961f-82ee72b054a4
libgcc/ChangeLog
libgcc/config/rs6000/morestack.S
libgcc/config/rs6000/tramp.S