aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/cpu-i386.c28
2 files changed, 27 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9d5c742..fe6f5db 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/cpu-i386.c b/bfd/cpu-i386.c
index 8619fbf..25b7e24 100644
--- a/bfd/cpu-i386.c
+++ b/bfd/cpu-i386.c
@@ -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
};