diff options
author | MyungJoo Ham <myungjoo.ham@samsung.com> | 2016-04-15 13:28:29 +0900 |
---|---|---|
committer | MyungJoo Ham <myungjoo.ham@samsung.com> | 2016-04-15 13:28:29 +0900 |
commit | f97d3b2c2ff27f421c3b0bb5565f262314fe8880 (patch) | |
tree | ff3e0372a1d6bdaaf6812956cd195a9f4951fd0e | |
parent | b0d613888c6c1b78add096a0832ba6ae7928f56c (diff) | |
download | coreclr-f97d3b2c2ff27f421c3b0bb5565f262314fe8880.tar.gz coreclr-f97d3b2c2ff27f421c3b0bb5565f262314fe8880.tar.bz2 coreclr-f97d3b2c2ff27f421c3b0bb5565f262314fe8880.zip |
ARM/Linux: Mark r0-r3 Saved
Without this, exception handlers (try-catch) that
try to get SP of ThePreStub's caller (managed frame) mislocate
the caller's SP by 4 words (0x10) and get lost while
traversing managed frames.
Fix #4107
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
-rw-r--r-- | src/pal/inc/unixasmmacrosarm.inc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/pal/inc/unixasmmacrosarm.inc b/src/pal/inc/unixasmmacrosarm.inc index 006c23ae21..169a5a727f 100644 --- a/src/pal/inc/unixasmmacrosarm.inc +++ b/src/pal/inc/unixasmmacrosarm.inc @@ -85,6 +85,7 @@ C_FUNC(\Name\()_End): .macro PUSH_ARGUMENT_REGISTERS push {r0-r3} + .save {r0-r3} .endm .macro pop_register Reg |