aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1997-12-16 00:12:39 +0000
committerNick Clifton <nickc@redhat.com>1997-12-16 00:12:39 +0000
commit2e0a5c1051afa19dd41d47c42db5f2f3a863c56a (patch)
treeca41b927e089daf15e8357273210963164265b86
parentee73be4088d18a2ecb0af5a90e0c5cd9d2e0609e (diff)
downloadgdb-2e0a5c1051afa19dd41d47c42db5f2f3a863c56a.zip
gdb-2e0a5c1051afa19dd41d47c42db5f2f3a863c56a.tar.gz
gdb-2e0a5c1051afa19dd41d47c42db5f2f3a863c56a.tar.bz2
improve support for m32rx processor.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/archures.c2
-rw-r--r--bfd/elf32-m32r.c16
3 files changed, 21 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f1b6464..d1a585c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+Mon Dec 15 16:08:52 1997 Nick Clifton <nickc@cygnus.com>
+
+ * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Allow M32R
+ object files to be merged into a M32RX executable.
+
+ * archures.c: Add bfd_mach_m32r and bfd_mach_m32rx.
+
Mon Dec 15 16:11:22 1997 Fred Fish <fnf@cygnus.com>
* coffcode.h (ALIGN_SECTIONS_IN_FILE): Define if I960 not defined.
diff --git a/bfd/archures.c b/bfd/archures.c
index 08823ff..92f30a5 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -167,6 +167,8 @@ DESCRIPTION
. bfd_arch_arc, {* Argonaut RISC Core *}
.#define bfd_mach_arc_base 0
. bfd_arch_m32r, {* Mitsubishi M32R/D *}
+.#define bfd_mach_m32r 0 {* backwards compatibility *}
+.#define bfd_mach_m32rx 'x'
. bfd_arch_mn10200, {* Matsushita MN10200 *}
. bfd_arch_mn10300, {* Matsushita MN10300 *}
. bfd_arch_last
diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c
index 3da71e2..39decd2 100644
--- a/bfd/elf32-m32r.c
+++ b/bfd/elf32-m32r.c
@@ -1837,12 +1837,20 @@ m32r_elf_merge_private_bfd_data (ibfd, obfd)
if ((new_flags & EF_M32R_ARCH) != (old_flags & EF_M32R_ARCH))
{
- _bfd_error_handler ("%s: Instruction set mismatch with previous modules",
- bfd_get_filename (ibfd));
+ if ((new_flags & EF_M32R_ARCH) == E_M32RX_ARCH)
+ {
+ _bfd_error_handler ("%s: Instruction set mismatch with previous modules",
+ bfd_get_filename (ibfd));
#if 1
- bfd_set_error (bfd_error_bad_value);
- return false;
+ bfd_set_error (bfd_error_bad_value);
+ return false;
#endif
+ }
+ else
+ {
+ _bfd_error_handler ("%s: Merging M32R instructions with M32RX instructions",
+ bfd_get_filename (ibfd));
+ }
}
return true;