diff options
-rw-r--r-- | src/pal/src/arch/arm/callsignalhandlerwrapper.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/pal/src/arch/arm/callsignalhandlerwrapper.S b/src/pal/src/arch/arm/callsignalhandlerwrapper.S index 266e4fdfe9..a8aa9b4432 100644 --- a/src/pal/src/arch/arm/callsignalhandlerwrapper.S +++ b/src/pal/src/arch/arm/callsignalhandlerwrapper.S @@ -18,11 +18,12 @@ C_FUNC(SignalHandlerWorkerReturnOffset\Alignment): // address set to SignalHandlerWorkerReturn during SIGSEGV handling. // It enables the unwinder to unwind stack from the handling code to the actual failure site. NESTED_ENTRY CallSignalHandlerWrapper\Alignment, _TEXT, NoHandler - sub sp, sp, #(8 + \Alignment) // red zone + alignment - stmfd sp!, {r7, lr} + alloc_stack (8 + \Alignment) // red zone + alignment + PROLOG_PUSH "{r7, lr}" bl EXTERNAL_C_FUNC(signal_handler_worker) LOCAL_LABEL(SignalHandlerWorkerReturn\Alignment): - ldmfd sp!, {r7, lr} + EPILOG_POP "{r7, lr}" + free_stack (8 + \Alignment) bx lr NESTED_END CallSignalHandlerWrapper\Alignment, _TEXT |