* gdbarch.sh (skip_trampoline_code): Add FRAME argument.
[deliverable/binutils-gdb.git] / gdb / i386-cygwin-tdep.c
CommitLineData
1762d96d 1/* Target-dependent code for Cygwin running on i386's, for GDB.
acd5c798 2
6aba47ca 3 Copyright (C) 2003, 2007 Free Software Foundation, Inc.
1762d96d 4
acd5c798 5 This file is part of GDB.
1762d96d 6
acd5c798
MK
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
1762d96d 11
acd5c798
MK
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
1762d96d 16
acd5c798
MK
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
197e01b6
EZ
19 Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
1762d96d
CV
21
22#include "defs.h"
1762d96d 23#include "osabi.h"
f870b49b 24
acd5c798 25#include "gdb_string.h"
f870b49b 26
acd5c798 27#include "i386-tdep.h"
1762d96d 28
f7948b5f 29static CORE_ADDR
52f729a7 30i386_cygwin_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
f7948b5f
JB
31{
32 return i386_pe_skip_trampoline_code (pc, NULL);
33}
34
1762d96d
CV
35static void
36i386_cygwin_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
37{
38 struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
39
f7948b5f
JB
40 set_gdbarch_skip_trampoline_code (gdbarch, i386_cygwin_skip_trampoline_code);
41
1762d96d
CV
42 tdep->struct_return = reg_struct_return;
43}
44
45static enum gdb_osabi
46i386_cygwin_osabi_sniffer (bfd * abfd)
47{
48 char *target_name = bfd_get_target (abfd);
49
50 /* Interix also uses pei-i386.
51 We need a way to distinguish between the two. */
52 if (strcmp (target_name, "pei-i386") == 0)
53 return GDB_OSABI_CYGWIN;
54
55 return GDB_OSABI_UNKNOWN;
56}
57
acd5c798
MK
58/* Provide a prototype to silence -Wmissing-prototypes. */
59void _initialize_i386_cygwin_tdep (void);
60
1762d96d
CV
61void
62_initialize_i386_cygwin_tdep (void)
63{
64 gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_coff_flavour,
65 i386_cygwin_osabi_sniffer);
66
67 gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_CYGWIN,
68 i386_cygwin_init_abi);
69}
This page took 0.33109 seconds and 4 git commands to generate.