arm32-linux: GET_STARTREGS has always been wrong on this target,
confusing SP and LR and resulting in no backtraces during internal
assertion failures etc on this platform. Fixes #343219. Noticed by
dimitry@google.com.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14928 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_libcassert.c b/coregrind/m_libcassert.c
index d8fe923..38a5a5f 100644
--- a/coregrind/m_libcassert.c
+++ b/coregrind/m_libcassert.c
@@ -134,8 +134,8 @@
: /* trash */ "memory" \
); \
(srP)->r_pc = block[0] - 8; \
- (srP)->r_sp = block[1]; \
- (srP)->misc.ARM.r14 = block[2]; \
+ (srP)->misc.ARM.r14 = block[1]; \
+ (srP)->r_sp = block[2]; \
(srP)->misc.ARM.r12 = block[3]; \
(srP)->misc.ARM.r11 = block[4]; \
(srP)->misc.ARM.r7 = block[5]; \