diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2015-07-31 21:48:05 +0200 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2015-07-31 21:48:05 +0200 |
commit | c906eafd4c0cd361b78b1772d7a3307ac284a452 (patch) | |
tree | 7f759e0862db6b5b7801b3268cfd3faa61442ec6 /src/pal/src/exception | |
parent | ac53e056df86db99a4c353b5cf1e0a9612900e62 (diff) | |
parent | bb1d4ca091d129968f367bbf03755441ce5036ab (diff) | |
download | coreclr-c906eafd4c0cd361b78b1772d7a3307ac284a452.tar.gz coreclr-c906eafd4c0cd361b78b1772d7a3307ac284a452.tar.bz2 coreclr-c906eafd4c0cd361b78b1772d7a3307ac284a452.zip |
Merge pull request #1285 from benpye/linux-arm-stack-unwinding
Add unwinding for the ARM Linux platform
Diffstat (limited to 'src/pal/src/exception')
-rw-r--r-- | src/pal/src/exception/seh-unwind.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/pal/src/exception/seh-unwind.cpp b/src/pal/src/exception/seh-unwind.cpp index aee921dd06..02488fc318 100644 --- a/src/pal/src/exception/seh-unwind.cpp +++ b/src/pal/src/exception/seh-unwind.cpp @@ -89,9 +89,9 @@ static void WinContextToUnwindCursor(CONTEXT *winContext, unw_cursor_t *cursor) unw_set_reg(cursor, UNW_X86_64_R14, winContext->R14); unw_set_reg(cursor, UNW_X86_64_R15, winContext->R15); #elif defined(_ARM_) - unw_set_reg(cursor, UNW_REG_IP, winContext->Pc); - unw_set_reg(cursor, UNW_REG_SP, winContext->Sp); + unw_set_reg(cursor, UNW_ARM_R13, winContext->Sp); unw_set_reg(cursor, UNW_ARM_R14, winContext->Lr); + unw_set_reg(cursor, UNW_ARM_R15, winContext->Pc); unw_set_reg(cursor, UNW_ARM_R4, winContext->R4); unw_set_reg(cursor, UNW_ARM_R5, winContext->R5); unw_set_reg(cursor, UNW_ARM_R6, winContext->R6); @@ -116,9 +116,9 @@ static void UnwindContextToWinContext(unw_cursor_t *cursor, CONTEXT *winContext) unw_get_reg(cursor, UNW_X86_64_R14, (unw_word_t *) &winContext->R14); unw_get_reg(cursor, UNW_X86_64_R15, (unw_word_t *) &winContext->R15); #elif defined(_ARM_) - unw_get_reg(cursor, UNW_REG_IP, (unw_word_t *) &winContext->Pc); - unw_get_reg(cursor, UNW_REG_SP, (unw_word_t *) &winContext->Sp); + unw_get_reg(cursor, UNW_ARM_R13, (unw_word_t *) &winContext->Sp); unw_get_reg(cursor, UNW_ARM_R14, (unw_word_t *) &winContext->Lr); + unw_get_reg(cursor, UNW_ARM_R15, (unw_word_t *) &winContext->Pc); unw_get_reg(cursor, UNW_ARM_R4, (unw_word_t *) &winContext->R4); unw_get_reg(cursor, UNW_ARM_R5, (unw_word_t *) &winContext->R5); unw_get_reg(cursor, UNW_ARM_R6, (unw_word_t *) &winContext->R6); |