2003-07-16 Andrew Cagney <cagney@redhat.com>
[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
CV
28
29static void
30i386_cygwin_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
31{
32 struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
33
34 tdep->struct_return = reg_struct_return;
35}
36
37static enum gdb_osabi
38i386_cygwin_osabi_sniffer (bfd * abfd)
39{
40 char *target_name = bfd_get_target (abfd);
41
42 /* Interix also uses pei-i386.
43 We need a way to distinguish between the two. */
44 if (strcmp (target_name, "pei-i386") == 0)
45 return GDB_OSABI_CYGWIN;
46
47 return GDB_OSABI_UNKNOWN;
48}
49
acd5c798
MK
50/* Provide a prototype to silence -Wmissing-prototypes. */
51void _initialize_i386_cygwin_tdep (void);
52
1762d96d
CV
53void
54_initialize_i386_cygwin_tdep (void)
55{
56 gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_coff_flavour,
57 i386_cygwin_osabi_sniffer);
58
59 gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_CYGWIN,
60 i386_cygwin_init_abi);
61}
This page took 0.054553 seconds and 4 git commands to generate.