diff options
author | chunseoklee <chunseoklee@naver.com> | 2017-08-08 02:51:02 +0900 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2017-08-07 10:51:02 -0700 |
commit | a9516dacd742ccaeae2820b89ad313a53d22d917 (patch) | |
tree | a6cd571dfe6920b372b297c132203f8a3aa30e4c /src/pal/src/arch | |
parent | 7e30a5e62e4d75a4310837f2c73ca241f39795e3 (diff) | |
download | coreclr-a9516dacd742ccaeae2820b89ad313a53d22d917.tar.gz coreclr-a9516dacd742ccaeae2820b89ad313a53d22d917.tar.bz2 coreclr-a9516dacd742ccaeae2820b89ad313a53d22d917.zip |
fix callsignalhandlerwrapper(arm) (#13114)
issue: #13099
1. add unwind information
2. add free_stack
Diffstat (limited to 'src/pal/src/arch')
-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 |