From dd53c801c0e58c44f5d392d10946ed9d57558e42 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 12 Mar 2002 13:16:05 +0000 Subject: * cpu-i386.c (i386_compatible): New. Use it instead of bfd_default_compatible. --- bfd/cpu-i386.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'bfd/cpu-i386.c') 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 }; -- cgit v1.1