gdb/testsuite/
[binutils-gdb.git] / gdb / arm-tdep.h
index 2fa86dfa9f3b846d557ddf7b9467cf80cf7893dd..b6283efb91c0110c876202ca5990a05765a3501c 100644 (file)
@@ -1,5 +1,6 @@
 /* Common target dependent code for GDB on ARM systems.
-   Copyright (C) 2002, 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2007, 2008, 2009, 2010
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -49,6 +50,7 @@ enum gdb_regnum {
   ARM_WCGR7_REGNUM = ARM_WCGR0_REGNUM + 7,
   ARM_D0_REGNUM,               /* VFP double-precision registers.  */
   ARM_D31_REGNUM = ARM_D0_REGNUM + 31,
+  ARM_FPSCR_REGNUM,
 
   ARM_NUM_REGS,
 
@@ -166,9 +168,16 @@ struct gdbarch_tdep
 
   const char *arm_breakpoint;  /* Breakpoint pattern for an ARM insn.  */
   int arm_breakpoint_size;     /* And its size.  */
-  const char *thumb_breakpoint;        /* Breakpoint pattern for an ARM insn.  */
+  const char *thumb_breakpoint;        /* Breakpoint pattern for a Thumb insn.  */
   int thumb_breakpoint_size;   /* And its size.  */
 
+  /* If the Thumb breakpoint is an undefined instruction (which is
+     affected by IT blocks) rather than a BKPT instruction (which is
+     not), then we need a 32-bit Thumb breakpoint to preserve the
+     instruction count in IT blocks.  */
+  const char *thumb2_breakpoint;
+  int thumb2_breakpoint_size;
+
   int jb_pc;                   /* Offset to PC value in jump buffer. 
                                   If this is negative, longjmp support
                                   will be disabled.  */