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.
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