aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2002-02-06 21:34:17 +0000
committerH.J. Lu <hjl.tools@gmail.com>2002-02-06 21:34:17 +0000
commit259d18a35da6a9f0474eeee3459ad5dfe62a37f6 (patch)
treee37f83ba95fde6542363d022628de35fd3fb48d5 /bfd
parent095778a05ed02821c9c55e443c1ea0d2ead3bac0 (diff)
downloadgdb-259d18a35da6a9f0474eeee3459ad5dfe62a37f6.zip
gdb-259d18a35da6a9f0474eeee3459ad5dfe62a37f6.tar.gz
gdb-259d18a35da6a9f0474eeee3459ad5dfe62a37f6.tar.bz2
2002-02-06 H.J. Lu (hjl@gnu.org)
* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update the mach and ISA fields if necessary.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-mips.c15
2 files changed, 19 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6f2764b..c3bf16d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2002-02-06 H.J. Lu (hjl@gnu.org)
+
+ * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
+ the mach and ISA fields if necessary.
+
2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
* coffcode.h (coff_set_arch_mach_hook): Select the highest known
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index a84112e..479ab75 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -3169,8 +3169,21 @@ _bfd_mips_elf_merge_private_bfd_data (ibfd, obfd)
bfd_archive_filename (ibfd), new_isa, old_isa);
ok = false;
}
- }
+ else
+ {
+ /* Do we need to update the mach field? */
+ if (old_mach == 0 && new_mach != 0)
+ elf_elfheader (obfd)->e_flags |= new_mach;
+ /* Do we need to update the ISA field? */
+ if (new_isa > old_isa)
+ {
+ elf_elfheader (obfd)->e_flags &= ~EF_MIPS_ARCH;
+ elf_elfheader (obfd)->e_flags
+ |= new_flags & EF_MIPS_ARCH;
+ }
+ }
+ }
else
{
(*_bfd_error_handler)