2005-07-29 Paul Brook <paul@codesourcery.com>
[external/binutils.git] / bfd / cpu-i386.c
1 /* BFD support for the Intel 386 architecture.
2    Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2004
3    Free Software Foundation, Inc.
4
5 This file is part of BFD, the Binary File Descriptor library.
6
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.
11
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.
16
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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20
21 #include "bfd.h"
22 #include "sysdep.h"
23 #include "libbfd.h"
24
25 const bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
26 {
27   64, /* 64 bits in a word */
28   64, /* 64 bits in an address */
29   8,  /* 8 bits in a byte */
30   bfd_arch_i386,
31   bfd_mach_x86_64_intel_syntax,
32   "i386:intel",
33   "i386:x86-64:intel",
34   3,
35   FALSE,
36   bfd_default_compatible,
37   bfd_default_scan,
38   0
39 };
40
41 const bfd_arch_info_type bfd_i386_arch_intel_syntax =
42 {
43   32,   /* 32 bits in a word */
44   32,   /* 32 bits in an address */
45   8,    /* 8 bits in a byte */
46   bfd_arch_i386,
47   bfd_mach_i386_i386_intel_syntax,
48   "i386:intel",
49   "i386:intel",
50   3,
51   TRUE,
52   bfd_default_compatible,
53   bfd_default_scan,
54   &bfd_x86_64_arch_intel_syntax
55 };
56
57 const bfd_arch_info_type i8086_arch =
58 {
59   32,   /* 32 bits in a word */
60   32,   /* 32 bits in an address (well, not really) */
61   8,    /* 8 bits in a byte */
62   bfd_arch_i386,
63   bfd_mach_i386_i8086,
64   "i8086",
65   "i8086",
66   3,
67   FALSE,
68   bfd_default_compatible,
69   bfd_default_scan,
70   &bfd_i386_arch_intel_syntax
71 };
72
73 const bfd_arch_info_type bfd_x86_64_arch =
74 {
75   64, /* 32 bits in a word */
76   64, /* 32 bits in an address */
77   8,  /* 8 bits in a byte */
78   bfd_arch_i386,
79   bfd_mach_x86_64,
80   "i386",
81   "i386:x86-64",
82   3,
83   FALSE,
84   bfd_default_compatible,
85   bfd_default_scan,
86   &i8086_arch
87 };
88
89 const bfd_arch_info_type bfd_i386_arch =
90 {
91   32,   /* 32 bits in a word */
92   32,   /* 32 bits in an address */
93   8,    /* 8 bits in a byte */
94   bfd_arch_i386,
95   bfd_mach_i386_i386,
96   "i386",
97   "i386",
98   3,
99   TRUE,
100   bfd_default_compatible,
101   bfd_default_scan,
102   &bfd_x86_64_arch
103 };