summaryrefslogtreecommitdiff
path: root/src/pal/src/exception
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2015-07-31 21:48:05 +0200
committerJan Vorlicek <janvorli@microsoft.com>2015-07-31 21:48:05 +0200
commitc906eafd4c0cd361b78b1772d7a3307ac284a452 (patch)
tree7f759e0862db6b5b7801b3268cfd3faa61442ec6 /src/pal/src/exception
parentac53e056df86db99a4c353b5cf1e0a9612900e62 (diff)
parentbb1d4ca091d129968f367bbf03755441ce5036ab (diff)
downloadcoreclr-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.cpp8
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);