Automatic date update in version.in
[platform/upstream/binutils.git] / gdb / xtensa-tdep.h
index 8582da6..d7ba562 100644 (file)
@@ -1,7 +1,6 @@
 /* Target-dependent code for the Xtensa port of GDB, the GNU debugger.
 
-   Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 2003-2014 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -43,7 +42,7 @@ typedef enum
 
 /*  Xtensa register group.  */
 
-#define XTENSA_MAX_COPROCESSOR 0x08  /* Number of Xtensa coprocessors.  */
+#define XTENSA_MAX_COPROCESSOR 0x10  /* Number of Xtensa coprocessors.  */
 
 typedef enum 
 {
@@ -82,10 +81,10 @@ typedef enum
 } xtensa_target_flags_t;
 
 
-/* Xtensa ELF core file register set representation ('.reg' section). 
+/* Xtensa ELF core file register set representation ('.reg' section).
    Copied from target-side ELF header <xtensa/elf.h>.  */
 
-typedef unsigned long xtensa_elf_greg_t;
+typedef uint32_t xtensa_elf_greg_t;
 
 typedef struct
 {
@@ -145,7 +144,7 @@ typedef struct
 
 /*  For xtensa-config.c to expand to the structure above.  */
 #define XTREG(index,ofs,bsz,sz,al,tnum,flg,cp,ty,gr,name,fet,sto,mas,ct,x,y) \
-       {#name, ofs, ty, ((gr)|((xtRegisterGroupNCP>>2)<<(cp+2))), \
+       {#name, ofs, ty, ((gr) | ((xtRegisterGroupNCP >> 2) << (cp + 2))), \
         ct, bsz, sz, al, tnum, flg, cp, mas, fet, sto},
 #define XTREG_END {0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0},
 
@@ -227,6 +226,14 @@ struct gdbarch_tdep
   unsigned long *fp_layout;    /* Layout of custom/TIE regs in 'FP' area.  */
   unsigned int fp_layout_bytes;        /* Size of layout information (in bytes).  */
   unsigned long *gregmap;
+
+  /* Cached register types.  */
+  struct ctype_cache
+    {
+      struct ctype_cache *next;
+      int size;
+      struct type *virtual_type;
+    } *type_entries;
 };
 
 /* Macro to instantiate a gdbarch_tdep structure.  */