summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2004-04-16 16:49:55 +0000
committerMark Kettenis <kettenis@gnu.org>2004-04-16 16:49:55 +0000
commit432956f364a73812b05aa00802e6e8fb771edb5f (patch)
treea6f97b3326f82408d5af4c5dec593255ef18fbc4 /gdb
parent3e35c94c7b22f54b1b9a7b08765dffe1f574b3c1 (diff)
downloadgdb-432956f364a73812b05aa00802e6e8fb771edb5f.tar.gz
From Brian Ford <ford@vss.fsi.com>:
* i386-tdep.c (i386_coff_init_abi): New function. * i386-tdep.h (i386_coff_init_abi): New prototype. * i386-cygwin-tdep.c (i386_cygwin_init_abi): Call it. Use correct register number translation functions for DWARF and DWARF 2.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/i386-cygwin-tdep.c2
-rw-r--r--gdb/i386-tdep.c10
-rw-r--r--gdb/i386-tdep.h3
4 files changed, 23 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 92a43c532b1..e3d55bc4d98 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2004-04-16 Mark Kettenis <kettenis@gnu.org>
+
+ From Brian Ford <ford@vss.fsi.com>:
+ * i386-tdep.c (i386_coff_init_abi): New function.
+ * i386-tdep.h (i386_coff_init_abi): New prototype.
+ * i386-cygwin-tdep.c (i386_cygwin_init_abi): Call it. Use correct
+ register number translation functions for DWARF and DWARF 2.
+
2004-04-16 Joel Brobecker <brobecker@gnat.com>
* dwarf2read.c: Back out my previous change, it was incorrect.
diff --git a/gdb/i386-cygwin-tdep.c b/gdb/i386-cygwin-tdep.c
index 443f8f7c223..6047b03a40f 100644
--- a/gdb/i386-cygwin-tdep.c
+++ b/gdb/i386-cygwin-tdep.c
@@ -31,6 +31,8 @@ i386_cygwin_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+ i386_coff_init_abi (info, gdbarch);
+
tdep->struct_return = reg_struct_return;
}
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 190094d1ba8..302ac251a65 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -1814,6 +1814,16 @@ i386_svr4_sigcontext_addr (struct frame_info *next_frame)
}
+/* Generic COFF. */
+
+void
+i386_coff_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ /* We typically use DWARF-in-COFF with the stabs register numbering. */
+ set_gdbarch_dwarf_reg_to_regnum (gdbarch, i386_stab_reg_to_regnum);
+ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, i386_stab_reg_to_regnum);
+}
+
/* Generic ELF. */
void
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
index 32ef04994e1..06066c57845 100644
--- a/gdb/i386-tdep.h
+++ b/gdb/i386-tdep.h
@@ -210,6 +210,9 @@ extern const struct regset *
i386_regset_from_core_section (struct gdbarch *gdbarch,
const char *sect_name, size_t sect_size);
+/* Initialize a basic COFF architecture variant. */
+extern void i386_coff_init_abi (struct gdbarch_info, struct gdbarch *);
+
/* Initialize a basic ELF architecture variant. */
extern void i386_elf_init_abi (struct gdbarch_info, struct gdbarch *);