gdb: xtensa: implement xtensa_dump_tdep

Message ID 1292a67d772ee87f58af3698e69004141e09548d.camel@espressif.com
State New
Headers
Series gdb: xtensa: implement xtensa_dump_tdep |

Commit Message

Alexey Lapshin Nov. 9, 2022, 7:14 p.m. UTC
  Added dump_tdep() implementation for xtensa
---
 gdb/xtensa-tdep.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

+              tdep->excvaddr_regnum);
 }
 
 void _initialize_xtensa_tdep ();
-- 
2.34.1
  

Patch

diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
index 5a884cc1175..685536c3b9e 100644
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -3314,7 +3314,52 @@  xtensa_gdbarch_init (struct gdbarch_info info,
struct gdbarch_list *arches)
 static void
 xtensa_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
 {
-  error (_("xtensa_dump_tdep(): not implemented"));
+  xtensa_gdbarch_tdep *tdep = (xtensa_gdbarch_tdep *) gdbarch_tdep
(gdbarch);
+  if (!tdep)
+    return;
+
+  gdb_printf (file, "xtensa_dump_tdep: tdep->num_regs = %d\n",
+              tdep->num_regs);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->num_nopriv_regs = %d\n",
+              tdep->num_nopriv_regs);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->num_pseudo_regs = %d\n",
+              tdep->num_pseudo_regs);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->ar_base = %d\n",
+              tdep->ar_base);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->a0_base = %d\n",
+              tdep->a0_base);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->wb_regnum = %d\n",
+              tdep->wb_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->ws_regnum = %d\n",
+              tdep->ws_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->pc_regnum = %d\n",
+              tdep->pc_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->ps_regnum = %d\n",
+              tdep->ps_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->lbeg_regnum = %d\n",
+              tdep->lbeg_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->lend_regnum = %d\n",
+              tdep->lend_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->lcount_regnum = %d\n",
+              tdep->lcount_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->sar_regnum = %d\n",
+              tdep->sar_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->litbase_regnum = %d\n",
+              tdep->litbase_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->threadptr_regnum = %d\n",
+              tdep->threadptr_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->interrupt_regnum = %d\n",
+              tdep->interrupt_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->interrupt2_regnum =
%d\n",
+              tdep->interrupt2_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->cpenable_regnum = %d\n",
+              tdep->cpenable_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->debugcause_regnum =
%d\n",
+              tdep->debugcause_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->exccause_regnum = %d\n",
+              tdep->exccause_regnum);
+  gdb_printf (file, "xtensa_dump_tdep: tdep->excvaddr_regnum = %d\n",