cpu-i386.c revision 92828
1168404Spjd/* BFD support for the Intel 386 architecture.
2168404Spjd   Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001
3168404Spjd   Free Software Foundation, Inc.
4168404Spjd
5168404SpjdThis file is part of BFD, the Binary File Descriptor library.
6168404Spjd
7168404SpjdThis program is free software; you can redistribute it and/or modify
8168404Spjdit under the terms of the GNU General Public License as published by
9168404Spjdthe Free Software Foundation; either version 2 of the License, or
10168404Spjd(at your option) any later version.
11168404Spjd
12168404SpjdThis program is distributed in the hope that it will be useful,
13168404Spjdbut WITHOUT ANY WARRANTY; without even the implied warranty of
14168404SpjdMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15168404SpjdGNU General Public License for more details.
16168404Spjd
17168404SpjdYou should have received a copy of the GNU General Public License
18168404Spjdalong with this program; if not, write to the Free Software
19168404SpjdFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20168404Spjd
21168404Spjd#include "bfd.h"
22168404Spjd#include "sysdep.h"
23168404Spjd#include "libbfd.h"
24168404Spjd
25168404Spjdconst bfd_arch_info_type bfd_i386_arch_intel_syntax =
26168404Spjd{
27168404Spjd  32,	/* 32 bits in a word */
28168404Spjd  32,	/* 32 bits in an address */
29168404Spjd  8,	/* 8 bits in a byte */
30168404Spjd  bfd_arch_i386,
31168404Spjd  bfd_mach_i386_i386_intel_syntax,
32168404Spjd  "i386:intel",
33168404Spjd  "i386:intel",
34168404Spjd  3,
35168404Spjd  true,
36168404Spjd  bfd_default_compatible,
37168404Spjd  bfd_default_scan ,
38168404Spjd  0,
39168404Spjd};
40168404Spjdconst bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
41168404Spjd{
42168404Spjd  64, /* 64 bits in a word */
43168404Spjd  64, /* 64 bits in an address */
44168404Spjd  8,  /* 8 bits in a byte */
45168404Spjd  bfd_arch_i386,
46168404Spjd  bfd_mach_x86_64_intel_syntax,
47168404Spjd  "i386:intel",
48168404Spjd  "i386:x86-64:intel",
49168404Spjd  3,
50168404Spjd  true,
51168404Spjd  bfd_default_compatible,
52168404Spjd  bfd_default_scan ,
53168404Spjd  &bfd_i386_arch_intel_syntax,
54168404Spjd};
55168404Spjdstatic const bfd_arch_info_type i8086_arch =
56168404Spjd{
57168404Spjd  32,	/* 32 bits in a word */
58168404Spjd  32,	/* 32 bits in an address (well, not really) */
59168404Spjd  8,	/* 8 bits in a byte */
60168404Spjd  bfd_arch_i386,
61168404Spjd  bfd_mach_i386_i8086,
62168404Spjd  "i8086",
63168404Spjd  "i8086",
64168404Spjd  3,
65168404Spjd  false,
66168404Spjd  bfd_default_compatible,
67168404Spjd  bfd_default_scan ,
68168404Spjd  &bfd_x86_64_arch_intel_syntax,
69168404Spjd};
70168404Spjd
71168404Spjdconst bfd_arch_info_type bfd_x86_64_arch =
72168404Spjd{
73168404Spjd  64, /* 32 bits in a word */
74168404Spjd  64, /* 32 bits in an address */
75168404Spjd  8,  /* 8 bits in a byte */
76168404Spjd  bfd_arch_i386,
77168404Spjd  bfd_mach_x86_64,
78168404Spjd  "i386",
79168404Spjd  "i386:x86-64",
80168404Spjd  3,
81168404Spjd  true,
82168404Spjd  bfd_default_compatible,
83168404Spjd  bfd_default_scan ,
84168404Spjd  &i8086_arch,
85168404Spjd};
86168404Spjd
87168404Spjdconst bfd_arch_info_type bfd_i386_arch =
88168404Spjd{
89168404Spjd  32,	/* 32 bits in a word */
90168404Spjd  32,	/* 32 bits in an address */
91168404Spjd  8,	/* 8 bits in a byte */
92168404Spjd  bfd_arch_i386,
93168404Spjd  bfd_mach_i386_i386,
94168404Spjd  "i386",
95168404Spjd  "i386",
96168404Spjd  3,
97168404Spjd  true,
98168404Spjd  bfd_default_compatible,
99168404Spjd  bfd_default_scan ,
100168404Spjd  &bfd_x86_64_arch
101168404Spjd};
102168404Spjd