diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/i386-cygwin-tdep.c | 2 | ||||
-rw-r--r-- | gdb/i386-tdep.c | 10 | ||||
-rw-r--r-- | gdb/i386-tdep.h | 3 |
4 files changed, 23 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 92a43c5..e3d55bc 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 443f8f7..6047b03 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 190094d..302ac25 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 32ef049..06066c5 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 *); |