gdb: ARM: Fix for bug in pop instruction decoding
authorOmair Javaid <omair.javaid@linaro.org>
Fri, 3 Jan 2014 19:15:32 +0000 (00:15 +0500)
committerWill Newton <will.newton@linaro.org>
Wed, 15 Jan 2014 16:47:07 +0000 (16:47 +0000)
This patch fixes thumb push instruction recording by replacing base
register from pc to sp.

gdb/ChangeLog:

2014-01-15  Omair Javaid  <omair.javaid@linaro.org>

* arm-tdep.c (thumb_record_misc): Update to use sp as base
register for push instruction recording.

gdb/ChangeLog
gdb/arm-tdep.c

index ccc8340..1070587 100644 (file)
@@ -1,5 +1,10 @@
 2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
 
+       * arm-tdep.c (thumb_record_misc): Update to use sp as base
+       register for push instruction recording.
+
+2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
+
        * arm-tdep.c (thumb_record_misc): Update to correct logical
        error while recording ldm, ldmia and pop instructions.
 
index c945cbd..009536a 100644 (file)
@@ -12204,7 +12204,7 @@ thumb_record_misc (insn_decode_record *thumb_insn_r)
     {
       /* PUSH.  */
       register_bits = bits (thumb_insn_r->arm_insn, 0, 7);
-      regcache_raw_read_unsigned (reg_cache, ARM_PC_REGNUM, &u_regval);
+      regcache_raw_read_unsigned (reg_cache, ARM_SP_REGNUM, &u_regval);
       while (register_bits)
         {
           if (register_bits & 0x00000001)