diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2004-06-21 14:50:32 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2004-06-21 14:50:32 +0000 |
commit | aa02cc6302929252edd817456ef41317319c179c (patch) | |
tree | d62cdbb86227a9b12d2046338db551de34fe5bfe /bfd/cpu-h8300.c | |
parent | aee6f5b4bd1c978694bede743979c0c4f560d46b (diff) | |
download | gdb-aa02cc6302929252edd817456ef41317319c179c.zip gdb-aa02cc6302929252edd817456ef41317319c179c.tar.gz gdb-aa02cc6302929252edd817456ef41317319c179c.tar.bz2 |
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.
Diffstat (limited to 'bfd/cpu-h8300.c')
-rw-r--r-- | bfd/cpu-h8300.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/bfd/cpu-h8300.c b/bfd/cpu-h8300.c index 5907de0..d726dc3 100644 --- a/bfd/cpu-h8300.c +++ b/bfd/cpu-h8300.c @@ -96,8 +96,18 @@ h8300_scan (const struct bfd_arch_info *info, const char *string) 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; |