+2004-06-21 Alexandre Oliva <aoliva@redhat.com>
+
+ 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
+ * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
+ linked together. Mark the result as h8300sx code.
+
2004-06-21 Alexandre Oliva <aoliva@redhat.com>
* elf-bfd.h (struct elf_backend_data): Added
static const bfd_arch_info_type *
compatible (const bfd_arch_info_type *in, const bfd_arch_info_type *out)
{
+ if (in->arch != out->arch)
+ return 0;
+ if (in->mach == bfd_mach_h8300sx && out->mach == bfd_mach_h8300s)
+ return in;
+ if (in->mach == bfd_mach_h8300s && out->mach == bfd_mach_h8300sx)
+ return out;
+ if (in->mach == bfd_mach_h8300sxn && out->mach == bfd_mach_h8300sn)
+ return in;
+ if (in->mach == bfd_mach_h8300sn && out->mach == bfd_mach_h8300sxn)
+ return out;
/* It's really not a good idea to mix and match modes. */
- if (in->arch != out->arch || in->mach != out->mach)
+ if (in->mach != out->mach)
return 0;
else
return in;