From 3d04925443366a4a1204b82b5355e1b8af5c0732 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Fri, 16 Apr 2004 16:49:55 +0000 Subject: [PATCH] From Brian Ford : * 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. --- gdb/ChangeLog | 8 ++++++++ gdb/i386-cygwin-tdep.c | 2 ++ gdb/i386-tdep.c | 10 ++++++++++ gdb/i386-tdep.h | 3 +++ 4 files changed, 23 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 92a43c532b..e3d55bc4d9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2004-04-16 Mark Kettenis + + From Brian Ford : + * 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 * 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 443f8f7c22..6047b03a40 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 190094d1ba..302ac251a6 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 32ef04994e..06066c5784 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 *);