X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/2eed595914ae2ec6f26832d9c55c226220a8c6b5..HEAD:/base/regdump-arm.S diff --git a/base/regdump-arm.S b/base/regdump-arm.S index 963a60ee..cd7ae670 100644 --- a/base/regdump-arm.S +++ b/base/regdump-arm.S @@ -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. @@ -111,7 +104,8 @@ FUNC(regdump_xtsave) endprologue // On entry, r13 points to an extended save area, of size determined // by `regdump_gpsave' above. On exit, the save area is filled in - // and a handy map placed at its base. + // and a handy map placed at its base, and r5 is left pointing to the + // reigster map. // Set up the map/extended save area pointer. add r5, r13, #7