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];                   \