[RFA] arm_skip_prologue: recognize "str r(0123), [r11, #-nn]"

Michael Snyder
2002-04-22T23:29:45Z

GCC sometimes generates these stores as discrete instructions.

2002-04-22 Michael Snyder <msnyder@redhat.com>

* arm-tdep.c (arm_skip_prologue): Recognize str r(0123), [r11, #-nn].

Index: arm-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.c,v
retrieving revision 1.51
diff -p -r1.51 arm-tdep.c
*** arm-tdep.c 22 Apr 2002 23:22:04 -0000 1.51
--- arm-tdep.c 22 Apr 2002 23:27:36 -0000
*************** arm_skip_prologue (CORE_ADDR pc)
*** 485,491 ****
}

if ((inst & 0xfffff000) == 0xe24cb000) /* sub fp, ip, #nn */
! skip_pc += 4;

return skip_pc;
}
--- 485,500 ----
}

if ((inst & 0xfffff000) == 0xe24cb000) /* sub fp, ip, #nn */
! {
! skip_pc += 4;
! inst = read_memory_integer (skip_pc, 4);
! }
!
! while ((inst & 0xffffcfc0) == 0xe50b0000) /* str r(0123), [r11, #-nn] */
! {
! skip_pc += 4;
! inst = read_memory_integer (skip_pc, 4);
! }

return skip_pc;
}