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