]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/xtensa-tdep.h
Two fixes in dwarf-mode.el
[thirdparty/binutils-gdb.git] / gdb / xtensa-tdep.h
index b2b190376a9a008d172047beb60de5e12f9c242a..b99f8c9df2166876cebe5c4106ff22511db86544 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Xtensa port of GDB, the GNU debugger.
 
-   Copyright (C) 2003-2016 Free Software Foundation, Inc.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,6 +17,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifndef XTENSA_TDEP_H
+#define XTENSA_TDEP_H
 
 #include "arch/xtensa.h"
 
@@ -103,7 +105,7 @@ typedef struct
 
 typedef struct 
 {
-  char* name;                  /* Register name.  */
+  const char *name;                    /* Register name.  */
   int offset;                  /* Offset.  */
   xtensa_register_type_t type;  /* Register type.  */
   xtensa_register_group_t group;/* Register group.  */
@@ -130,7 +132,7 @@ typedef struct
         ct, bsz, sz, al, tnum, flg, cp, mas, fet, sto},
 #define XTREG_END \
   {0, 0, (xtensa_register_type_t) 0, (xtensa_register_group_t) 0,      \
-   0, 0, 0, 0, -1, 0, 0, 0, 0, 0},
+   0, 0, 0, 0, (unsigned) -1, 0, 0, 0, 0, 0},
 
 #define XTENSA_REGISTER_FLAGS_PRIVILEGED       0x0001
 #define XTENSA_REGISTER_FLAGS_READABLE         0x0002
@@ -204,6 +206,7 @@ struct gdbarch_tdep
   int lcount_regnum;
   int sar_regnum;              /* Register number of SAR.  */
   int litbase_regnum;          /* Register number of LITBASE.  */
+  int threadptr_regnum;                /* Register number of THREADPTR.  */
 
   int interrupt_regnum;                /* Register number for interrupt.  */
   int interrupt2_regnum;       /* Register number for interrupt2.  */
@@ -224,55 +227,55 @@ struct gdbarch_tdep
 
 /* Macro to instantiate a gdbarch_tdep structure.  */
 
-#define XTENSA_GDBARCH_TDEP_INSTANTIATE(rmap,spillsz)          \
-       {                                                       \
-         .target_flags = 0,                                    \
-         .spill_location = -1,                                 \
-         .spill_size = (spillsz),                              \
-         .unused = 0,                                          \
-         .call_abi = (XSHAL_ABI == XTHAL_ABI_CALL0             \
-                      ? CallAbiCall0Only                       \
-                      : CallAbiDefault),                       \
-         .debug_interrupt_level = XCHAL_DEBUGLEVEL,            \
-         .icache_line_bytes = XCHAL_ICACHE_LINESIZE,           \
-         .dcache_line_bytes = XCHAL_DCACHE_LINESIZE,           \
-         .dcache_writeback = XCHAL_DCACHE_IS_WRITEBACK,        \
-         .isa_use_windowed_registers = (XSHAL_ABI != XTHAL_ABI_CALL0), \
-         .isa_use_density_instructions = XCHAL_HAVE_DENSITY,   \
-         .isa_use_exceptions = XCHAL_HAVE_EXCEPTIONS,          \
-         .isa_use_ext_l32r = XSHAL_USE_ABSOLUTE_LITERALS,      \
-         .isa_max_insn_size = XCHAL_MAX_INSTRUCTION_SIZE,      \
-         .debug_num_ibreaks = XCHAL_NUM_IBREAK,                \
-         .debug_num_dbreaks = XCHAL_NUM_DBREAK,                \
-         .regmap = rmap,                       \
-         .num_regs = 0,                        \
-         .num_nopriv_regs = 0,                 \
-         .num_pseudo_regs = 0,                 \
-         .num_aregs = XCHAL_NUM_AREGS,         \
-         .num_contexts = XCHAL_NUM_CONTEXTS,   \
-         .ar_base = -1,                        \
-         .a0_base = -1,                        \
-         .wb_regnum = -1,                      \
-         .ws_regnum = -1,                      \
-         .pc_regnum = -1,                      \
-         .ps_regnum = -1,                      \
-         .lbeg_regnum = -1,                    \
-         .lend_regnum = -1,                    \
-         .lcount_regnum = -1,                  \
-         .sar_regnum = -1,                     \
-         .litbase_regnum = -1,                 \
-         .interrupt_regnum = -1,               \
-         .interrupt2_regnum = -1,              \
-         .cpenable_regnum = -1,                \
-         .debugcause_regnum = -1,              \
-         .exccause_regnum = -1,                \
-         .excvaddr_regnum = -1,                \
-         .max_register_raw_size = 0,           \
-         .max_register_virtual_size = 0,       \
-         .fp_layout = 0,                       \
-         .fp_layout_bytes = 0,                 \
-         .gregmap = 0,                         \
-       }
+#define XTENSA_GDBARCH_TDEP_INSTANTIATE(rmap,spillsz)                  \
+  {                                                                    \
+    0,                         /* target_flags */                      \
+    (unsigned) -1,             /* spill_location */    \
+    (spillsz),                 /* spill_size */                        \
+    0,                         /* unused */                            \
+    (XSHAL_ABI == XTHAL_ABI_CALL0                                      \
+     ? CallAbiCall0Only                                                        \
+     : CallAbiDefault),                /* call_abi */                          \
+    XCHAL_DEBUGLEVEL,          /* debug_interrupt_level */             \
+    XCHAL_ICACHE_LINESIZE,     /* icache_line_bytes */                 \
+    XCHAL_DCACHE_LINESIZE,     /* dcache_line_bytes */                 \
+    XCHAL_DCACHE_IS_WRITEBACK,  /* dcache_writeback */                 \
+    (XSHAL_ABI != XTHAL_ABI_CALL0),   /* isa_use_windowed_registers */ \
+    XCHAL_HAVE_DENSITY,                 /* isa_use_density_instructions */     \
+    XCHAL_HAVE_EXCEPTIONS,      /* isa_use_exceptions */               \
+    XSHAL_USE_ABSOLUTE_LITERALS, /* isa_use_ext_l32r */                        \
+    XCHAL_MAX_INSTRUCTION_SIZE,  /* isa_max_insn_size */               \
+    XCHAL_NUM_IBREAK,           /* debug_num_ibreaks */                \
+    XCHAL_NUM_DBREAK,           /* debug_num_dbreaks */                \
+    rmap,                       /* regmap */                           \
+    0,                          /* num_regs */                         \
+    0,                          /* num_nopriv_regs */                  \
+    0,                          /* num_pseudo_regs */                  \
+    XCHAL_NUM_AREGS,            /* num_aregs */                        \
+    XCHAL_NUM_CONTEXTS,                 /* num_contexts */                     \
+    -1,                                 /* ar_base */                          \
+    -1,                                 /* a0_base */                          \
+    -1,                                 /* wb_regnum */                        \
+    -1,                                 /* ws_regnum */                        \
+    -1,                                 /* pc_regnum */                        \
+    -1,                                 /* ps_regnum */                        \
+    -1,                                 /* lbeg_regnum */                      \
+    -1,                                 /* lend_regnum */                      \
+    -1,                                 /* lcount_regnum */                    \
+    -1,                                 /* sar_regnum */                       \
+    -1,                                 /* litbase_regnum */                   \
+    -1,                                 /* interrupt_regnum */                 \
+    -1,                                 /* interrupt2_regnum */                \
+    -1,                                 /* cpenable_regnum */                  \
+    -1,                                 /* debugcause_regnum */                \
+    -1,                                 /* exccause_regnum */                  \
+    -1,                                 /* excvaddr_regnum */                  \
+    0,                          /* max_register_raw_size */            \
+    0,                          /* max_register_virtual_size */        \
+    0,                          /* fp_layout */                        \
+    0,                          /* fp_layout_bytes */                  \
+    0,                          /* gregmap */                          \
+  }
 #define XTENSA_CONFIG_INSTANTIATE(rmap,spill_size)     \
        struct gdbarch_tdep xtensa_tdep = \
          XTENSA_GDBARCH_TDEP_INSTANTIATE(rmap,spill_size);
@@ -290,3 +293,4 @@ struct gdbarch_tdep
    data structure to their corresponding register in the AR register 
    file (see xtensa-tdep.c).  */
 
+#endif /* XTENSA_TDEP_H */