diff options
Diffstat (limited to 'overlay/mgdb/gdb/i386-winnt-tdep.c')
-rw-r--r-- | overlay/mgdb/gdb/i386-winnt-tdep.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/overlay/mgdb/gdb/i386-winnt-tdep.c b/overlay/mgdb/gdb/i386-winnt-tdep.c new file mode 100644 index 0000000..070747b --- /dev/null +++ b/overlay/mgdb/gdb/i386-winnt-tdep.c @@ -0,0 +1,37 @@ +#include "defs.h" +#include "osabi.h" +#include "frame-unwind.h" +#include "windows-tdep.h" + +static void +i386_winnt_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) +{ + /* abi */ + windows_init_abi (info, gdbarch); + + /* out-of-band function calls */ + set_gdbarch_push_dummy_call (gdbarch, 0); + set_gdbarch_return_value (gdbarch, 0); + + /* progloue/trampoline methods */ + set_gdbarch_skip_main_prologue (gdbarch, 0); + set_gdbarch_skip_trampoline_code (gdbarch, 0); + + /* auto wide charset hack */ + set_gdbarch_auto_wide_charset (gdbarch, 0); + + /* unwainder */ + frame_unwind_append_unwinder (gdbarch, 0); +} + +extern initialize_file_ftype _initialize_i386_winnt_tdep; + +void +_initialize_i386_winnt_tdep (void) +{ + gdbarch_register_osabi( + bfd_arch_i386, + 0, + GDB_OSABI_WINNT, + i386_winnt_init_abi); +} |