* cpu-i386.c (i386_compatible): New. Use it instead of
authorAndreas Jaeger <aj@suse.de>
Tue, 12 Mar 2002 13:16:05 +0000 (13:16 +0000)
committerAndreas Jaeger <aj@suse.de>
Tue, 12 Mar 2002 13:16:05 +0000 (13:16 +0000)
bfd_default_compatible.

bfd/ChangeLog
bfd/cpu-i386.c

index 9d5c742529d610e9b46ba83eaee86349c2479c2d..fe6f5db1e29df0ae5ade7faad8ca1d82aaa9a897 100644 (file)
@@ -1,3 +1,8 @@
+2002-03-12  Andreas Jaeger  <aj@suse.de>
+
+       * cpu-i386.c (i386_compatible): New.  Use it instead of
+       bfd_default_compatible.
+
 2002-03-07  H.J. Lu  (hjl@gnu.org)
 
        * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
index 8619fbf569460076af2b386a9d74c82c2f0848ec..25b7e249bd7458802cf1b82e2c5b813a438bffe2 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD support for the Intel 386 architecture.
-   Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001
+   Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002
    Free Software Foundation, Inc.
 
 This file is part of BFD, the Binary File Descriptor library.
@@ -22,6 +22,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "sysdep.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;
+{
+  if (a->bits_per_word != b->bits_per_word)
+    return NULL;
+
+  return bfd_default_compatible (a, b);
+}
+  
 const bfd_arch_info_type bfd_i386_arch_intel_syntax =
 {
   32,  /* 32 bits in a word */
@@ -33,7 +49,7 @@ const bfd_arch_info_type bfd_i386_arch_intel_syntax =
   "i386:intel",
   3,
   true,
-  bfd_default_compatible,
+  i386_compatible,
   bfd_default_scan ,
   0,
 };
@@ -48,7 +64,7 @@ const bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
   "x86-64:intel",
   3,
   true,
-  bfd_default_compatible,
+  i386_compatible,
   bfd_default_scan ,
   &bfd_i386_arch_intel_syntax,
 };
@@ -63,7 +79,7 @@ static const bfd_arch_info_type i8086_arch =
   "i8086",
   3,
   false,
-  bfd_default_compatible,
+  i386_compatible,
   bfd_default_scan ,
   &bfd_x86_64_arch_intel_syntax,
 };
@@ -79,7 +95,7 @@ const bfd_arch_info_type bfd_x86_64_arch =
   "x86-64",
   3,
   true,
-  bfd_default_compatible,
+  i386_compatible,
   bfd_default_scan ,
   &i8086_arch,
 };
@@ -95,7 +111,7 @@ const bfd_arch_info_type bfd_i386_arch =
   "i386",
   3,
   true,
-  bfd_default_compatible,
+  i386_compatible,
   bfd_default_scan ,
   &bfd_x86_64_arch
 };