X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fcpu-i386.c;h=4001a05a4226a73ee7ce8d2a69baa4afe1219771;hb=6c7c4ca467457417ac60105e72a8379f3de16b35;hp=25b7e249bd7458802cf1b82e2c5b813a438bffe2;hpb=dd53c801c0e58c44f5d392d10946ed9d57558e42;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/cpu-i386.c b/bfd/cpu-i386.c index 25b7e249bd..4001a05a42 100644 --- a/bfd/cpu-i386.c +++ b/bfd/cpu-i386.c @@ -1,43 +1,44 @@ /* BFD support for the Intel 386 architecture. - Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002 + Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2004, 2007 Free Software Foundation, Inc. -This file is part of BFD, the Binary File Descriptor library. + 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. + 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 3 of the License, or + (at your option) any later version. -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. + 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 02111-1307, USA. */ + 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., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ -#include "bfd.h" #include "sysdep.h" +#include "bfd.h" #include "libbfd.h" -/* Don't mix 32 bit and 64 bit files. */ - -static const bfd_arch_info_type *i386_compatible - PARAMS ((const bfd_arch_info_type *, const bfd_arch_info_type *)); - -static const bfd_arch_info_type * -i386_compatible (a, b) - const bfd_arch_info_type *a; - const bfd_arch_info_type *b; +const bfd_arch_info_type bfd_x86_64_arch_intel_syntax = { - if (a->bits_per_word != b->bits_per_word) - return NULL; + 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 +}; - return bfd_default_compatible (a, b); -} - const bfd_arch_info_type bfd_i386_arch_intel_syntax = { 32, /* 32 bits in a word */ @@ -48,27 +49,13 @@ const bfd_arch_info_type bfd_i386_arch_intel_syntax = "i386:intel", "i386:intel", 3, - true, - i386_compatible, - bfd_default_scan , - 0, -}; -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, - "x86-64:intel", - "x86-64:intel", - 3, - true, - i386_compatible, - bfd_default_scan , - &bfd_i386_arch_intel_syntax, + TRUE, + bfd_default_compatible, + bfd_default_scan, + &bfd_x86_64_arch_intel_syntax }; -static const bfd_arch_info_type i8086_arch = + +const bfd_arch_info_type i8086_arch = { 32, /* 32 bits in a word */ 32, /* 32 bits in an address (well, not really) */ @@ -78,10 +65,10 @@ static const bfd_arch_info_type i8086_arch = "i8086", "i8086", 3, - false, - i386_compatible, - bfd_default_scan , - &bfd_x86_64_arch_intel_syntax, + FALSE, + bfd_default_compatible, + bfd_default_scan, + &bfd_i386_arch_intel_syntax }; const bfd_arch_info_type bfd_x86_64_arch = @@ -91,13 +78,13 @@ const bfd_arch_info_type bfd_x86_64_arch = 8, /* 8 bits in a byte */ bfd_arch_i386, bfd_mach_x86_64, - "x86-64", - "x86-64", + "i386", + "i386:x86-64", 3, - true, - i386_compatible, - bfd_default_scan , - &i8086_arch, + FALSE, + bfd_default_compatible, + bfd_default_scan, + &i8086_arch }; const bfd_arch_info_type bfd_i386_arch = @@ -110,8 +97,8 @@ const bfd_arch_info_type bfd_i386_arch = "i386", "i386", 3, - true, - i386_compatible, - bfd_default_scan , + TRUE, + bfd_default_compatible, + bfd_default_scan, &bfd_x86_64_arch };