summaryrefslogtreecommitdiff
path: root/overlay/mgdb/gdb/i386-winnt-tdep.c
blob: 2689bb005366193dad6cc6068ef4a7a2940dfe81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/***************************************************************/
/*  mgdb: midipix-specific bits for gdb                        */
/*  Copyright (C) 2019  Z. Gilboa                              */
/*  Released under GPLv2 and GPLv3; see COPYING.MGDB.          */
/***************************************************************/

#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);
}