diff options
Diffstat (limited to 'src/debug/ee/arm64/dbghelpers.S')
-rw-r--r-- | src/debug/ee/arm64/dbghelpers.S | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/debug/ee/arm64/dbghelpers.S b/src/debug/ee/arm64/dbghelpers.S new file mode 100644 index 0000000000..07ed04acd5 --- /dev/null +++ b/src/debug/ee/arm64/dbghelpers.S @@ -0,0 +1,25 @@ +//Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#include "unixasmmacros.inc" + +NESTED_ENTRY FuncEvalHijack, _TEXT, FuncEvalHijackPersonalityRoutine + +// NOTE: FuncEvalHijackPersonalityRoutine is dependent on the stack layout so if +// you change the prolog you will also need to update the personality routine. + +// push arg to the stack so our personality routine can find it +// push lr to get good stacktrace in debugger + +PROLOG_SAVE_REG_PAIR fp, lr, #-32 + + str x0, [sp, #16] + // FuncEvalHijackWorker returns the address we should jump to. + bl FuncEvalHijackWorker + + EPILOG_STACK_FREE 32 + EPILOG_BRANCH_REG x0 +NESTED_END FuncEvalHijack, _TEXT + +//NESTED_ENTRY ExceptionHijack,,ExceptionHijackPersonalityRoutine
\ No newline at end of file |