base/regdump-arm.S, base/regdump.h: Save CPSR before `regdump_gpsave'.
[catacomb] / base / regdump-arm.S
index 963a60e..6adcbdd 100644 (file)
@@ -60,15 +60,8 @@ FUNC(regdump_gpsave)
        add     r0, r4, #REGDUMP_GPSIZE
        str     r0, [r4, #13*4]
 
-       // Capture the status flags and return address.  If the return
-       // address has its low bit set, then the caller was in Thumb state:
-       // clear the bit from the reconstructed PC, and set the corresponding
-       // CPSR bit.
-       mrs     r0, cpsr
-       tst     r14, #1
+       // Clear the magic Thumb-state bit from the return address.
        bic     r1, r14, #1
-       orrne   r0, r0, #0x00000020
-       str     r0, [r13, #4*REGIX_CPSR]
        str     r1, [r13, #15*4]
 
        // Load the focus address and save it as r6.