X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fcpu-i386.c;h=b93e772a677360f59885983fec3038cfcc5b54f1;hb=53e09e0aaf3d13e4b893744e2fe79edde7edfd20;hp=2bafe58d8d91d450f77b04a232f55c78f6495178;hpb=fa803dc60f0bf01297674c41d001798e18ade4dc;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/cpu-i386.c b/bfd/cpu-i386.c index 2bafe58d8d..b93e772a67 100644 --- a/bfd/cpu-i386.c +++ b/bfd/cpu-i386.c @@ -1,32 +1,103 @@ -#include -#include -#include "libbfd.h" +/* BFD support for the Intel 386 architecture. + Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2004 + Free Software Foundation, Inc. +This file is part of BFD, the Binary File Descriptor library. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -static bfd_arch_info_struct_type arch_info_struct = - { - 32, /* 32 bits in a word */ - 32, /* 32 bits in an address */ - 8, /* 8 bits in a byte */ - bfd_arch_i386, - 0, /* only 1 machine */ - "i386", - "i386", - true, /* the one and only */ - bfd_default_compatible, - bfd_default_scan , - 0, - 0, - }; +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02110-1301, USA. */ +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" +const bfd_arch_info_type bfd_x86_64_arch_intel_syntax = +{ + 64, /* 64 bits in a word */ + 64, /* 64 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_i386, + bfd_mach_x86_64_intel_syntax, + "i386:intel", + "i386:x86-64:intel", + 3, + FALSE, + bfd_default_compatible, + bfd_default_scan, + 0 +}; -void DEFUN_VOID(bfd_i386_arch) +const bfd_arch_info_type bfd_i386_arch_intel_syntax = { - bfd_arch_linkin(&arch_info_struct); -} + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_i386, + bfd_mach_i386_i386_intel_syntax, + "i386:intel", + "i386:intel", + 3, + TRUE, + bfd_default_compatible, + bfd_default_scan, + &bfd_x86_64_arch_intel_syntax +}; +const bfd_arch_info_type i8086_arch = +{ + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address (well, not really) */ + 8, /* 8 bits in a byte */ + bfd_arch_i386, + bfd_mach_i386_i8086, + "i8086", + "i8086", + 3, + FALSE, + bfd_default_compatible, + bfd_default_scan, + &bfd_i386_arch_intel_syntax +}; +const bfd_arch_info_type bfd_x86_64_arch = +{ + 64, /* 32 bits in a word */ + 64, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_i386, + bfd_mach_x86_64, + "i386", + "i386:x86-64", + 3, + FALSE, + bfd_default_compatible, + bfd_default_scan, + &i8086_arch +}; +const bfd_arch_info_type bfd_i386_arch = +{ + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_i386, + bfd_mach_i386_i386, + "i386", + "i386", + 3, + TRUE, + bfd_default_compatible, + bfd_default_scan, + &bfd_x86_64_arch +};