* inf-ptrace.c: Reorder functions.
[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
1762d96d
CV
3 Copyright 2003 Free Software Foundation, Inc.
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
19 Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, 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
JB
29static CORE_ADDR
30i386_cygwin_skip_trampoline_code (CORE_ADDR pc)
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.218236 seconds and 4 git commands to generate.