summaryrefslogtreecommitdiff
path: root/overlay/mgdb/gdb/i386-winnt-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'overlay/mgdb/gdb/i386-winnt-tdep.c')
-rw-r--r--overlay/mgdb/gdb/i386-winnt-tdep.c37
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);
+}