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

Michael Snyder msnyder@cygnus.com
Mon Apr 22 16:29:00 GMT 2002


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;
  }



More information about the Gdb-patches mailing list