1 /* BFD support for the Intel 386 architecture. 2 Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2004, 2005, 3 2007, 2009 4 Free Software Foundation, Inc. 5 6 This file is part of BFD, the Binary File Descriptor library. 7 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 21 MA 02110-1301, USA. */ 22 23 #include "sysdep.h" 24 #include "bfd.h" 25 #include "libbfd.h" 26 27 static const bfd_arch_info_type bfd_x86_64_arch_intel_syntax = 28 { 29 64, /* 64 bits in a word */ 30 64, /* 64 bits in an address */ 31 8, /* 8 bits in a byte */ 32 bfd_arch_i386, 33 bfd_mach_x86_64_intel_syntax, 34 "i386:intel", 35 "i386:x86-64:intel", 36 3, 37 FALSE, 38 bfd_default_compatible, 39 bfd_default_scan, 40 0 41 }; 42 43 static const bfd_arch_info_type bfd_i386_arch_intel_syntax = 44 { 45 32, /* 32 bits in a word */ 46 32, /* 32 bits in an address */ 47 8, /* 8 bits in a byte */ 48 bfd_arch_i386, 49 bfd_mach_i386_i386_intel_syntax, 50 "i386:intel", 51 "i386:intel", 52 3, 53 TRUE, 54 bfd_default_compatible, 55 bfd_default_scan, 56 &bfd_x86_64_arch_intel_syntax 57 }; 58 59 static const bfd_arch_info_type i8086_arch = 60 { 61 32, /* 32 bits in a word */ 62 32, /* 32 bits in an address (well, not really) */ 63 8, /* 8 bits in a byte */ 64 bfd_arch_i386, 65 bfd_mach_i386_i8086, 66 "i8086", 67 "i8086", 68 3, 69 FALSE, 70 bfd_default_compatible, 71 bfd_default_scan, 72 &bfd_i386_arch_intel_syntax 73 }; 74 75 static const bfd_arch_info_type bfd_x86_64_arch = 76 { 77 64, /* 64 bits in a word */ 78 64, /* 64 bits in an address */ 79 8, /* 8 bits in a byte */ 80 bfd_arch_i386, 81 bfd_mach_x86_64, 82 "i386", 83 "i386:x86-64", 84 3, 85 FALSE, 86 bfd_default_compatible, 87 bfd_default_scan, 88 &i8086_arch 89 }; 90 91 const bfd_arch_info_type bfd_i386_arch = 92 { 93 32, /* 32 bits in a word */ 94 32, /* 32 bits in an address */ 95 8, /* 8 bits in a byte */ 96 bfd_arch_i386, 97 bfd_mach_i386_i386, 98 "i386", 99 "i386", 100 3, 101 TRUE, 102 bfd_default_compatible, 103 bfd_default_scan, 104 &bfd_x86_64_arch 105 }; 106